Repository: dapr/java-sdk Branch: master Commit: 4ec9b89114ef Files: 1811 Total size: 34.8 MB Directory structure: gitextract_5uciof7p/ ├── .codecov.yaml ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── discussion.md │ │ ├── feature_request.md │ │ ├── proposal.md │ │ └── question.md │ ├── dependabot.yml │ ├── holopin.yml │ ├── pull_request_template.md │ ├── scripts/ │ │ ├── automerge.py │ │ ├── create-release.sh │ │ ├── update_docs.sh │ │ └── update_sdk_version.sh │ └── workflows/ │ ├── automerge-bot.yml │ ├── backport.yaml │ ├── build.yml │ ├── create-release.yml │ ├── dapr_bot.yml │ ├── fossa.yml │ ├── validate-docs.yml │ └── validate.yml ├── .gitignore ├── .gitmodules ├── .java_header ├── .mvn/ │ └── wrapper/ │ └── maven-wrapper.properties ├── .sdkmanrc ├── CODEOWNERS ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── checkstyle.xml ├── dapr-spring/ │ ├── dapr-spring-6-data/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── spring6/ │ │ └── data/ │ │ ├── AbstractDaprKeyValueAdapter.java │ │ ├── DaprKeyValueAdapterResolver.java │ │ ├── DaprKeyValueTemplate.java │ │ ├── DefaultIdentifierGenerator.java │ │ ├── GeneratingIdAccessor.java │ │ ├── KeyValueAdapterResolver.java │ │ ├── MySQLDaprKeyValueAdapter.java │ │ ├── PostgreSQLDaprKeyValueAdapter.java │ │ └── repository/ │ │ ├── config/ │ │ │ ├── DaprRepositoriesRegistrar.java │ │ │ ├── DaprRepositoryConfigurationExtension.java │ │ │ └── EnableDaprRepositories.java │ │ └── query/ │ │ ├── DaprPredicate.java │ │ ├── DaprPredicateBuilder.java │ │ └── DaprPredicateQueryCreator.java │ ├── dapr-spring-bom/ │ │ └── pom.xml │ ├── dapr-spring-boot-4-autoconfigure/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── spring/ │ │ │ │ └── boot4/ │ │ │ │ └── autoconfigure/ │ │ │ │ └── client/ │ │ │ │ ├── DaprClientSB4AutoConfiguration.java │ │ │ │ ├── DaprJackson3SB4AutoConfiguration.java │ │ │ │ └── Jackson3ObjectSerializer.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── spring/ │ │ └── boot4/ │ │ └── autoconfigure/ │ │ └── client/ │ │ ├── DaprClientAutoConfigurationTest.java │ │ ├── DaprJackson3SB4AutoConfigurationTest.java │ │ ├── DaprWorkflowsRegistrationTests.java │ │ ├── Jackson3ObjectSerializerTest.java │ │ ├── WorkflowTestApplication.java │ │ └── workflows/ │ │ ├── TestActivity.java │ │ └── TestWorkflow.java │ ├── dapr-spring-boot-autoconfigure/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── spring/ │ │ │ │ └── boot/ │ │ │ │ └── autoconfigure/ │ │ │ │ └── client/ │ │ │ │ └── DaprClientAutoConfiguration.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── spring/ │ │ └── boot/ │ │ └── autoconfigure/ │ │ └── client/ │ │ ├── DaprClientAutoConfigurationTest.java │ │ ├── DaprClientObservationAutoConfigurationTest.java │ │ ├── DaprWorkflowsRegistrationTests.java │ │ ├── WorkflowTestApplication.java │ │ └── workflows/ │ │ ├── TestActivity.java │ │ └── TestWorkflow.java │ ├── dapr-spring-boot-observation/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── spring/ │ │ │ └── observation/ │ │ │ └── client/ │ │ │ ├── ObservationDaprClient.java │ │ │ ├── ObservationDaprWorkflowClient.java │ │ │ └── TraceContextFormat.java │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── spring/ │ │ └── observation/ │ │ └── client/ │ │ ├── ObservationDaprClientTest.java │ │ └── ObservationDaprWorkflowClientTest.java │ ├── dapr-spring-boot-properties/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── spring/ │ │ │ └── boot/ │ │ │ └── properties/ │ │ │ ├── client/ │ │ │ │ ├── ClientPropertiesDaprConnectionDetails.java │ │ │ │ ├── DaprClientProperties.java │ │ │ │ └── DaprConnectionDetails.java │ │ │ ├── pubsub/ │ │ │ │ └── DaprPubSubProperties.java │ │ │ └── statestore/ │ │ │ └── DaprStateStoreProperties.java │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── spring/ │ │ └── boot/ │ │ └── properties/ │ │ ├── client/ │ │ │ └── DaprClientPropertiesTest.java │ │ ├── pubsub/ │ │ │ └── DaprPubSubPropertiesTest.java │ │ └── statestore/ │ │ └── DaprStateStorePropertiesTest.java │ ├── dapr-spring-boot-starters/ │ │ ├── dapr-spring-boot-4-starter/ │ │ │ └── pom.xml │ │ ├── dapr-spring-boot-4-starter-test/ │ │ │ └── pom.xml │ │ ├── dapr-spring-boot-starter/ │ │ │ └── pom.xml │ │ └── dapr-spring-boot-starter-test/ │ │ └── pom.xml │ ├── dapr-spring-boot-tests/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── spring/ │ │ │ └── boot/ │ │ │ └── testcontainers/ │ │ │ └── service/ │ │ │ └── connection/ │ │ │ └── DaprContainerConnectionDetailsFactory.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring.factories │ ├── dapr-spring-data/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── spring/ │ │ └── data/ │ │ ├── AbstractDaprKeyValueAdapter.java │ │ ├── DaprKeyValueAdapterResolver.java │ │ ├── DaprKeyValueTemplate.java │ │ ├── DefaultIdentifierGenerator.java │ │ ├── GeneratingIdAccessor.java │ │ ├── KeyValueAdapterResolver.java │ │ ├── MySQLDaprKeyValueAdapter.java │ │ ├── PostgreSQLDaprKeyValueAdapter.java │ │ └── repository/ │ │ ├── config/ │ │ │ ├── DaprRepositoriesRegistrar.java │ │ │ ├── DaprRepositoryConfigurationExtension.java │ │ │ └── EnableDaprRepositories.java │ │ └── query/ │ │ ├── DaprPredicate.java │ │ ├── DaprPredicateBuilder.java │ │ └── DaprPredicateQueryCreator.java │ ├── dapr-spring-messaging/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── spring/ │ │ └── messaging/ │ │ ├── DaprMessagingOperations.java │ │ ├── DaprMessagingTemplate.java │ │ └── observation/ │ │ ├── DaprMessagingObservationConvention.java │ │ ├── DaprMessagingObservationDocumentation.java │ │ ├── DaprMessagingSenderContext.java │ │ └── DefaultDaprMessagingObservationConvention.java │ ├── dapr-spring-workflows/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── spring/ │ │ └── workflows/ │ │ └── config/ │ │ ├── DaprWorkflowsConfiguration.java │ │ ├── EnableDaprWorkflows.java │ │ └── annotations/ │ │ ├── ActivityMetadata.java │ │ └── WorkflowMetadata.java │ ├── pom.xml │ └── spotbugs-exclude.xml ├── docs/ │ ├── allclasses-index.html │ ├── allpackages-index.html │ ├── constant-values.html │ ├── css/ │ │ ├── maven-base.css │ │ ├── maven-theme.css │ │ ├── print.css │ │ └── site.css │ ├── dapr-sdk-springboot/ │ │ └── css/ │ │ ├── maven-base.css │ │ ├── maven-theme.css │ │ ├── print.css │ │ └── site.css │ ├── dapr-sdk-workflows/ │ │ ├── allclasses-index.html │ │ ├── allpackages-index.html │ │ ├── css/ │ │ │ ├── maven-base.css │ │ │ ├── maven-theme.css │ │ │ ├── print.css │ │ │ └── site.css │ │ ├── element-list │ │ ├── help-doc.html │ │ ├── index-all.html │ │ ├── index.html │ │ ├── io/ │ │ │ └── dapr/ │ │ │ └── workflows/ │ │ │ ├── Workflow.html │ │ │ ├── WorkflowContext.html │ │ │ ├── WorkflowStub.html │ │ │ ├── class-use/ │ │ │ │ ├── Workflow.html │ │ │ │ ├── WorkflowContext.html │ │ │ │ └── WorkflowStub.html │ │ │ ├── client/ │ │ │ │ ├── DaprWorkflowClient.html │ │ │ │ ├── WorkflowFailureDetails.html │ │ │ │ ├── WorkflowInstanceStatus.html │ │ │ │ ├── class-use/ │ │ │ │ │ ├── DaprWorkflowClient.html │ │ │ │ │ ├── WorkflowFailureDetails.html │ │ │ │ │ └── WorkflowInstanceStatus.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── internal/ │ │ │ │ ├── ApiTokenClientInterceptor.html │ │ │ │ ├── class-use/ │ │ │ │ │ └── ApiTokenClientInterceptor.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── runtime/ │ │ │ ├── WorkflowRuntime.html │ │ │ ├── WorkflowRuntimeBuilder.html │ │ │ ├── class-use/ │ │ │ │ ├── WorkflowRuntime.html │ │ │ │ └── WorkflowRuntimeBuilder.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── jquery-ui.overrides.css │ │ ├── legal/ │ │ │ ├── ADDITIONAL_LICENSE_INFO │ │ │ ├── ASSEMBLY_EXCEPTION │ │ │ ├── LICENSE │ │ │ ├── jquery.md │ │ │ └── jqueryUI.md │ │ ├── member-search-index.js │ │ ├── module-search-index.js │ │ ├── overview-summary.html │ │ ├── overview-tree.html │ │ ├── package-search-index.js │ │ ├── project-reports.html │ │ ├── script.js │ │ ├── search.js │ │ ├── stylesheet.css │ │ ├── tag-search-index.js │ │ └── type-search-index.js │ ├── deprecated-list.html │ ├── element-list │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── io/ │ │ └── dapr/ │ │ ├── Rule.html │ │ ├── Topic.html │ │ ├── actors/ │ │ │ ├── ActorId.html │ │ │ ├── ActorMethod.html │ │ │ ├── ActorTrace.html │ │ │ ├── ActorType.html │ │ │ ├── ActorUtils.html │ │ │ ├── class-use/ │ │ │ │ ├── ActorId.html │ │ │ │ ├── ActorMethod.html │ │ │ │ ├── ActorTrace.html │ │ │ │ ├── ActorType.html │ │ │ │ └── ActorUtils.html │ │ │ ├── client/ │ │ │ │ ├── ActorClient.html │ │ │ │ ├── ActorProxy.html │ │ │ │ ├── ActorProxyBuilder.html │ │ │ │ ├── class-use/ │ │ │ │ │ ├── ActorClient.html │ │ │ │ │ ├── ActorProxy.html │ │ │ │ │ └── ActorProxyBuilder.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── runtime/ │ │ │ ├── AbstractActor.html │ │ │ ├── ActorFactory.html │ │ │ ├── ActorMethodContext.html │ │ │ ├── ActorObjectSerializer.html │ │ │ ├── ActorRuntime.html │ │ │ ├── ActorRuntimeConfig.html │ │ │ ├── ActorRuntimeContext.html │ │ │ ├── ActorStateChange.html │ │ │ ├── ActorStateChangeKind.html │ │ │ ├── ActorStateManager.html │ │ │ ├── ActorTypeConfig.html │ │ │ ├── Remindable.html │ │ │ ├── class-use/ │ │ │ │ ├── AbstractActor.html │ │ │ │ ├── ActorFactory.html │ │ │ │ ├── ActorMethodContext.html │ │ │ │ ├── ActorObjectSerializer.html │ │ │ │ ├── ActorRuntime.html │ │ │ │ ├── ActorRuntimeConfig.html │ │ │ │ ├── ActorRuntimeContext.html │ │ │ │ ├── ActorStateChange.html │ │ │ │ ├── ActorStateChangeKind.html │ │ │ │ ├── ActorStateManager.html │ │ │ │ ├── ActorTypeConfig.html │ │ │ │ └── Remindable.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── class-use/ │ │ │ ├── Rule.html │ │ │ └── Topic.html │ │ ├── client/ │ │ │ ├── DaprClient.html │ │ │ ├── DaprClientBuilder.html │ │ │ ├── DaprClientImpl.html │ │ │ ├── DaprHttp.HttpMethods.html │ │ │ ├── DaprHttp.Response.html │ │ │ ├── DaprHttp.html │ │ │ ├── DaprHttpBuilder.html │ │ │ ├── DaprPreviewClient.html │ │ │ ├── Headers.html │ │ │ ├── ObjectSerializer.html │ │ │ ├── class-use/ │ │ │ │ ├── DaprClient.html │ │ │ │ ├── DaprClientBuilder.html │ │ │ │ ├── DaprClientImpl.html │ │ │ │ ├── DaprHttp.HttpMethods.html │ │ │ │ ├── DaprHttp.Response.html │ │ │ │ ├── DaprHttp.html │ │ │ │ ├── DaprHttpBuilder.html │ │ │ │ ├── DaprPreviewClient.html │ │ │ │ ├── Headers.html │ │ │ │ └── ObjectSerializer.html │ │ │ ├── domain/ │ │ │ │ ├── ActorMetadata.html │ │ │ │ ├── AppConnectionPropertiesHealthMetadata.html │ │ │ │ ├── AppConnectionPropertiesMetadata.html │ │ │ │ ├── BulkPublishEntry.html │ │ │ │ ├── BulkPublishRequest.html │ │ │ │ ├── BulkPublishResponse.html │ │ │ │ ├── BulkPublishResponseFailedEntry.html │ │ │ │ ├── BulkSubscribeAppResponse.html │ │ │ │ ├── BulkSubscribeAppResponseEntry.html │ │ │ │ ├── BulkSubscribeAppResponseStatus.html │ │ │ │ ├── BulkSubscribeMessage.html │ │ │ │ ├── BulkSubscribeMessageEntry.html │ │ │ │ ├── CloudEvent.html │ │ │ │ ├── ComponentMetadata.html │ │ │ │ ├── ConfigurationItem.html │ │ │ │ ├── DaprMetadata.html │ │ │ │ ├── DeleteStateRequest.html │ │ │ │ ├── ExecuteStateTransactionRequest.html │ │ │ │ ├── GetBulkSecretRequest.html │ │ │ │ ├── GetBulkStateRequest.html │ │ │ │ ├── GetConfigurationRequest.html │ │ │ │ ├── GetSecretRequest.html │ │ │ │ ├── GetStateRequest.html │ │ │ │ ├── HttpEndpointMetadata.html │ │ │ │ ├── HttpExtension.html │ │ │ │ ├── InvokeBindingRequest.html │ │ │ │ ├── InvokeMethodRequest.html │ │ │ │ ├── LockRequest.html │ │ │ │ ├── Metadata.html │ │ │ │ ├── PublishEventRequest.html │ │ │ │ ├── QueryStateItem.html │ │ │ │ ├── QueryStateRequest.html │ │ │ │ ├── QueryStateResponse.html │ │ │ │ ├── RuleMetadata.html │ │ │ │ ├── SaveStateRequest.html │ │ │ │ ├── State.html │ │ │ │ ├── StateOptions.Concurrency.html │ │ │ │ ├── StateOptions.Consistency.html │ │ │ │ ├── StateOptions.StateOptionDurationDeserializer.html │ │ │ │ ├── StateOptions.StateOptionDurationSerializer.html │ │ │ │ ├── StateOptions.html │ │ │ │ ├── SubscribeConfigurationRequest.html │ │ │ │ ├── SubscribeConfigurationResponse.html │ │ │ │ ├── SubscriptionMetadata.html │ │ │ │ ├── TransactionalStateOperation.OperationType.html │ │ │ │ ├── TransactionalStateOperation.html │ │ │ │ ├── TransactionalStateRequest.html │ │ │ │ ├── UnlockRequest.html │ │ │ │ ├── UnlockResponseStatus.html │ │ │ │ ├── UnsubscribeConfigurationRequest.html │ │ │ │ ├── UnsubscribeConfigurationResponse.html │ │ │ │ ├── class-use/ │ │ │ │ │ ├── ActorMetadata.html │ │ │ │ │ ├── AppConnectionPropertiesHealthMetadata.html │ │ │ │ │ ├── AppConnectionPropertiesMetadata.html │ │ │ │ │ ├── BulkPublishEntry.html │ │ │ │ │ ├── BulkPublishRequest.html │ │ │ │ │ ├── BulkPublishResponse.html │ │ │ │ │ ├── BulkPublishResponseFailedEntry.html │ │ │ │ │ ├── BulkSubscribeAppResponse.html │ │ │ │ │ ├── BulkSubscribeAppResponseEntry.html │ │ │ │ │ ├── BulkSubscribeAppResponseStatus.html │ │ │ │ │ ├── BulkSubscribeMessage.html │ │ │ │ │ ├── BulkSubscribeMessageEntry.html │ │ │ │ │ ├── CloudEvent.html │ │ │ │ │ ├── ComponentMetadata.html │ │ │ │ │ ├── ConfigurationItem.html │ │ │ │ │ ├── DaprMetadata.html │ │ │ │ │ ├── DeleteStateRequest.html │ │ │ │ │ ├── ExecuteStateTransactionRequest.html │ │ │ │ │ ├── GetBulkSecretRequest.html │ │ │ │ │ ├── GetBulkStateRequest.html │ │ │ │ │ ├── GetConfigurationRequest.html │ │ │ │ │ ├── GetSecretRequest.html │ │ │ │ │ ├── GetStateRequest.html │ │ │ │ │ ├── HttpEndpointMetadata.html │ │ │ │ │ ├── HttpExtension.html │ │ │ │ │ ├── InvokeBindingRequest.html │ │ │ │ │ ├── InvokeMethodRequest.html │ │ │ │ │ ├── LockRequest.html │ │ │ │ │ ├── Metadata.html │ │ │ │ │ ├── PublishEventRequest.html │ │ │ │ │ ├── QueryStateItem.html │ │ │ │ │ ├── QueryStateRequest.html │ │ │ │ │ ├── QueryStateResponse.html │ │ │ │ │ ├── RuleMetadata.html │ │ │ │ │ ├── SaveStateRequest.html │ │ │ │ │ ├── State.html │ │ │ │ │ ├── StateOptions.Concurrency.html │ │ │ │ │ ├── StateOptions.Consistency.html │ │ │ │ │ ├── StateOptions.StateOptionDurationDeserializer.html │ │ │ │ │ ├── StateOptions.StateOptionDurationSerializer.html │ │ │ │ │ ├── StateOptions.html │ │ │ │ │ ├── SubscribeConfigurationRequest.html │ │ │ │ │ ├── SubscribeConfigurationResponse.html │ │ │ │ │ ├── SubscriptionMetadata.html │ │ │ │ │ ├── TransactionalStateOperation.OperationType.html │ │ │ │ │ ├── TransactionalStateOperation.html │ │ │ │ │ ├── TransactionalStateRequest.html │ │ │ │ │ ├── UnlockRequest.html │ │ │ │ │ ├── UnlockResponseStatus.html │ │ │ │ │ ├── UnsubscribeConfigurationRequest.html │ │ │ │ │ └── UnsubscribeConfigurationResponse.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ ├── package-use.html │ │ │ │ └── query/ │ │ │ │ ├── Pagination.html │ │ │ │ ├── Query.html │ │ │ │ ├── Sorting.Order.html │ │ │ │ ├── Sorting.html │ │ │ │ ├── class-use/ │ │ │ │ │ ├── Pagination.html │ │ │ │ │ ├── Query.html │ │ │ │ │ ├── Sorting.Order.html │ │ │ │ │ └── Sorting.html │ │ │ │ ├── filters/ │ │ │ │ │ ├── AndFilter.html │ │ │ │ │ ├── EqFilter.html │ │ │ │ │ ├── Filter.html │ │ │ │ │ ├── InFilter.html │ │ │ │ │ ├── OrFilter.html │ │ │ │ │ ├── class-use/ │ │ │ │ │ │ ├── AndFilter.html │ │ │ │ │ │ ├── EqFilter.html │ │ │ │ │ │ ├── Filter.html │ │ │ │ │ │ ├── InFilter.html │ │ │ │ │ │ └── OrFilter.html │ │ │ │ │ ├── package-summary.html │ │ │ │ │ ├── package-tree.html │ │ │ │ │ └── package-use.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── resiliency/ │ │ │ ├── ResiliencyOptions.html │ │ │ ├── class-use/ │ │ │ │ └── ResiliencyOptions.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── config/ │ │ │ ├── BooleanProperty.html │ │ │ ├── GenericProperty.html │ │ │ ├── IntegerProperty.html │ │ │ ├── MillisecondsDurationProperty.html │ │ │ ├── Properties.html │ │ │ ├── Property.html │ │ │ ├── StringProperty.html │ │ │ ├── class-use/ │ │ │ │ ├── BooleanProperty.html │ │ │ │ ├── GenericProperty.html │ │ │ │ ├── IntegerProperty.html │ │ │ │ ├── MillisecondsDurationProperty.html │ │ │ │ ├── Properties.html │ │ │ │ ├── Property.html │ │ │ │ └── StringProperty.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── exceptions/ │ │ │ ├── DaprError.html │ │ │ ├── DaprErrorDetails.ErrorDetailType.html │ │ │ ├── DaprErrorDetails.html │ │ │ ├── DaprException.html │ │ │ ├── class-use/ │ │ │ │ ├── DaprError.html │ │ │ │ ├── DaprErrorDetails.ErrorDetailType.html │ │ │ │ ├── DaprErrorDetails.html │ │ │ │ └── DaprException.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── internal/ │ │ │ ├── grpc/ │ │ │ │ ├── DaprClientGrpcInterceptors.html │ │ │ │ ├── class-use/ │ │ │ │ │ └── DaprClientGrpcInterceptors.html │ │ │ │ ├── interceptors/ │ │ │ │ │ ├── DaprApiTokenInterceptor.html │ │ │ │ │ ├── DaprAppIdInterceptor.html │ │ │ │ │ ├── DaprTimeoutInterceptor.html │ │ │ │ │ ├── DaprTracingInterceptor.html │ │ │ │ │ ├── class-use/ │ │ │ │ │ │ ├── DaprApiTokenInterceptor.html │ │ │ │ │ │ ├── DaprAppIdInterceptor.html │ │ │ │ │ │ ├── DaprTimeoutInterceptor.html │ │ │ │ │ │ └── DaprTracingInterceptor.html │ │ │ │ │ ├── package-summary.html │ │ │ │ │ ├── package-tree.html │ │ │ │ │ └── package-use.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── opencensus/ │ │ │ │ ├── GrpcHelper.html │ │ │ │ ├── class-use/ │ │ │ │ │ └── GrpcHelper.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ └── resiliency/ │ │ │ ├── RetryPolicy.html │ │ │ ├── TimeoutPolicy.html │ │ │ ├── class-use/ │ │ │ │ ├── RetryPolicy.html │ │ │ │ └── TimeoutPolicy.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── package-summary.html │ │ ├── package-tree.html │ │ ├── package-use.html │ │ ├── serializer/ │ │ │ ├── DaprObjectSerializer.html │ │ │ ├── DefaultObjectSerializer.html │ │ │ ├── class-use/ │ │ │ │ ├── DaprObjectSerializer.html │ │ │ │ └── DefaultObjectSerializer.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── utils/ │ │ │ ├── DefaultContentTypeConverter.html │ │ │ ├── DurationUtils.html │ │ │ ├── NetworkUtils.html │ │ │ ├── TypeRef.html │ │ │ ├── Version.html │ │ │ ├── class-use/ │ │ │ │ ├── DefaultContentTypeConverter.html │ │ │ │ ├── DurationUtils.html │ │ │ │ ├── NetworkUtils.html │ │ │ │ ├── TypeRef.html │ │ │ │ └── Version.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── v1/ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub.html │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub.html │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaImplBase.html │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaStub.html │ │ │ ├── AppCallbackAlphaGrpc.AsyncService.html │ │ │ ├── AppCallbackAlphaGrpc.html │ │ │ ├── AppCallbackGrpc.AppCallbackBlockingStub.html │ │ │ ├── AppCallbackGrpc.AppCallbackFutureStub.html │ │ │ ├── AppCallbackGrpc.AppCallbackImplBase.html │ │ │ ├── AppCallbackGrpc.AppCallbackStub.html │ │ │ ├── AppCallbackGrpc.AsyncService.html │ │ │ ├── AppCallbackGrpc.html │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub.html │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub.html │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase.html │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub.html │ │ │ ├── AppCallbackHealthCheckGrpc.AsyncService.html │ │ │ ├── AppCallbackHealthCheckGrpc.html │ │ │ ├── CommonProtos.ConfigurationItem.Builder.html │ │ │ ├── CommonProtos.ConfigurationItem.html │ │ │ ├── CommonProtos.ConfigurationItemOrBuilder.html │ │ │ ├── CommonProtos.Etag.Builder.html │ │ │ ├── CommonProtos.Etag.html │ │ │ ├── CommonProtos.EtagOrBuilder.html │ │ │ ├── CommonProtos.HTTPExtension.Builder.html │ │ │ ├── CommonProtos.HTTPExtension.Verb.html │ │ │ ├── CommonProtos.HTTPExtension.html │ │ │ ├── CommonProtos.HTTPExtensionOrBuilder.html │ │ │ ├── CommonProtos.InvokeRequest.Builder.html │ │ │ ├── CommonProtos.InvokeRequest.html │ │ │ ├── CommonProtos.InvokeRequestOrBuilder.html │ │ │ ├── CommonProtos.InvokeResponse.Builder.html │ │ │ ├── CommonProtos.InvokeResponse.html │ │ │ ├── CommonProtos.InvokeResponseOrBuilder.html │ │ │ ├── CommonProtos.StateItem.Builder.html │ │ │ ├── CommonProtos.StateItem.html │ │ │ ├── CommonProtos.StateItemOrBuilder.html │ │ │ ├── CommonProtos.StateOptions.Builder.html │ │ │ ├── CommonProtos.StateOptions.StateConcurrency.html │ │ │ ├── CommonProtos.StateOptions.StateConsistency.html │ │ │ ├── CommonProtos.StateOptions.html │ │ │ ├── CommonProtos.StateOptionsOrBuilder.html │ │ │ ├── CommonProtos.StreamPayload.Builder.html │ │ │ ├── CommonProtos.StreamPayload.html │ │ │ ├── CommonProtos.StreamPayloadOrBuilder.html │ │ │ ├── CommonProtos.html │ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.Builder.html │ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.html │ │ │ ├── DaprAppCallbackProtos.BindingEventRequestOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency.html │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.Builder.html │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.html │ │ │ ├── DaprAppCallbackProtos.BindingEventResponseOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.Builder.html │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.html │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.Builder.html │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.html │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponseOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.JobEventRequest.Builder.html │ │ │ ├── DaprAppCallbackProtos.JobEventRequest.html │ │ │ ├── DaprAppCallbackProtos.JobEventRequestOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.JobEventResponse.Builder.html │ │ │ ├── DaprAppCallbackProtos.JobEventResponse.html │ │ │ ├── DaprAppCallbackProtos.JobEventResponseOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.Builder.html │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.html │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder.html │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.html │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.Builder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.Builder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.Builder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.html │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequestOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.Builder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.html │ │ │ ├── DaprAppCallbackProtos.TopicEventRequestOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.Builder.html │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.html │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.html │ │ │ ├── DaprAppCallbackProtos.TopicEventResponseOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.TopicRoutes.Builder.html │ │ │ ├── DaprAppCallbackProtos.TopicRoutes.html │ │ │ ├── DaprAppCallbackProtos.TopicRoutesOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.TopicRule.Builder.html │ │ │ ├── DaprAppCallbackProtos.TopicRule.html │ │ │ ├── DaprAppCallbackProtos.TopicRuleOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.TopicSubscription.Builder.html │ │ │ ├── DaprAppCallbackProtos.TopicSubscription.html │ │ │ ├── DaprAppCallbackProtos.TopicSubscriptionOrBuilder.html │ │ │ ├── DaprAppCallbackProtos.html │ │ │ ├── DaprGrpc.AsyncService.html │ │ │ ├── DaprGrpc.DaprBlockingStub.html │ │ │ ├── DaprGrpc.DaprFutureStub.html │ │ │ ├── DaprGrpc.DaprImplBase.html │ │ │ ├── DaprGrpc.DaprStub.html │ │ │ ├── DaprGrpc.html │ │ │ ├── DaprProtos.ShutdownRequest.Builder.html │ │ │ ├── DaprProtos.ShutdownRequest.html │ │ │ ├── DaprProtos.ShutdownRequestOrBuilder.html │ │ │ ├── DaprProtos.html │ │ │ ├── class-use/ │ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub.html │ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub.html │ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaImplBase.html │ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaStub.html │ │ │ │ ├── AppCallbackAlphaGrpc.AsyncService.html │ │ │ │ ├── AppCallbackAlphaGrpc.html │ │ │ │ ├── AppCallbackGrpc.AppCallbackBlockingStub.html │ │ │ │ ├── AppCallbackGrpc.AppCallbackFutureStub.html │ │ │ │ ├── AppCallbackGrpc.AppCallbackImplBase.html │ │ │ │ ├── AppCallbackGrpc.AppCallbackStub.html │ │ │ │ ├── AppCallbackGrpc.AsyncService.html │ │ │ │ ├── AppCallbackGrpc.html │ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub.html │ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub.html │ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase.html │ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub.html │ │ │ │ ├── AppCallbackHealthCheckGrpc.AsyncService.html │ │ │ │ ├── AppCallbackHealthCheckGrpc.html │ │ │ │ ├── CommonProtos.ConfigurationItem.Builder.html │ │ │ │ ├── CommonProtos.ConfigurationItem.html │ │ │ │ ├── CommonProtos.ConfigurationItemOrBuilder.html │ │ │ │ ├── CommonProtos.Etag.Builder.html │ │ │ │ ├── CommonProtos.Etag.html │ │ │ │ ├── CommonProtos.EtagOrBuilder.html │ │ │ │ ├── CommonProtos.HTTPExtension.Builder.html │ │ │ │ ├── CommonProtos.HTTPExtension.Verb.html │ │ │ │ ├── CommonProtos.HTTPExtension.html │ │ │ │ ├── CommonProtos.HTTPExtensionOrBuilder.html │ │ │ │ ├── CommonProtos.InvokeRequest.Builder.html │ │ │ │ ├── CommonProtos.InvokeRequest.html │ │ │ │ ├── CommonProtos.InvokeRequestOrBuilder.html │ │ │ │ ├── CommonProtos.InvokeResponse.Builder.html │ │ │ │ ├── CommonProtos.InvokeResponse.html │ │ │ │ ├── CommonProtos.InvokeResponseOrBuilder.html │ │ │ │ ├── CommonProtos.StateItem.Builder.html │ │ │ │ ├── CommonProtos.StateItem.html │ │ │ │ ├── CommonProtos.StateItemOrBuilder.html │ │ │ │ ├── CommonProtos.StateOptions.Builder.html │ │ │ │ ├── CommonProtos.StateOptions.StateConcurrency.html │ │ │ │ ├── CommonProtos.StateOptions.StateConsistency.html │ │ │ │ ├── CommonProtos.StateOptions.html │ │ │ │ ├── CommonProtos.StateOptionsOrBuilder.html │ │ │ │ ├── CommonProtos.StreamPayload.Builder.html │ │ │ │ ├── CommonProtos.StreamPayload.html │ │ │ │ ├── CommonProtos.StreamPayloadOrBuilder.html │ │ │ │ ├── CommonProtos.html │ │ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.html │ │ │ │ ├── DaprAppCallbackProtos.BindingEventRequestOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency.html │ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.html │ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponseOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.html │ │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.html │ │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponseOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.JobEventRequest.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.JobEventRequest.html │ │ │ │ ├── DaprAppCallbackProtos.JobEventRequestOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.JobEventResponse.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.JobEventResponse.html │ │ │ │ ├── DaprAppCallbackProtos.JobEventResponseOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.html │ │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.html │ │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequestOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventRequestOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.html │ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponseOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicRoutes.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicRoutes.html │ │ │ │ ├── DaprAppCallbackProtos.TopicRoutesOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicRule.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicRule.html │ │ │ │ ├── DaprAppCallbackProtos.TopicRuleOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicSubscription.Builder.html │ │ │ │ ├── DaprAppCallbackProtos.TopicSubscription.html │ │ │ │ ├── DaprAppCallbackProtos.TopicSubscriptionOrBuilder.html │ │ │ │ ├── DaprAppCallbackProtos.html │ │ │ │ ├── DaprGrpc.AsyncService.html │ │ │ │ ├── DaprGrpc.DaprBlockingStub.html │ │ │ │ ├── DaprGrpc.DaprFutureStub.html │ │ │ │ ├── DaprGrpc.DaprImplBase.html │ │ │ │ ├── DaprGrpc.DaprStub.html │ │ │ │ ├── DaprGrpc.html │ │ │ │ ├── DaprProtos.ShutdownRequest.Builder.html │ │ │ │ ├── DaprProtos.ShutdownRequest.html │ │ │ │ ├── DaprProtos.ShutdownRequestOrBuilder.html │ │ │ │ └── DaprProtos.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ └── workflows/ │ │ ├── Workflow.html │ │ ├── WorkflowContext.html │ │ ├── WorkflowStub.html │ │ ├── class-use/ │ │ │ ├── Workflow.html │ │ │ ├── WorkflowContext.html │ │ │ └── WorkflowStub.html │ │ ├── client/ │ │ │ ├── DaprWorkflowClient.html │ │ │ ├── WorkflowFailureDetails.html │ │ │ ├── WorkflowInstanceStatus.html │ │ │ ├── class-use/ │ │ │ │ ├── DaprWorkflowClient.html │ │ │ │ ├── WorkflowFailureDetails.html │ │ │ │ └── WorkflowInstanceStatus.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── internal/ │ │ │ ├── ApiTokenClientInterceptor.html │ │ │ ├── class-use/ │ │ │ │ └── ApiTokenClientInterceptor.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── package-summary.html │ │ ├── package-tree.html │ │ ├── package-use.html │ │ └── runtime/ │ │ ├── WorkflowRuntime.html │ │ ├── WorkflowRuntimeBuilder.html │ │ ├── class-use/ │ │ │ ├── WorkflowRuntime.html │ │ │ └── WorkflowRuntimeBuilder.html │ │ ├── package-summary.html │ │ ├── package-tree.html │ │ └── package-use.html │ ├── jquery-ui.overrides.css │ ├── legal/ │ │ ├── ADDITIONAL_LICENSE_INFO │ │ ├── ASSEMBLY_EXCEPTION │ │ ├── LICENSE │ │ ├── jquery.md │ │ └── jqueryUI.md │ ├── member-search-index.js │ ├── module-search-index.js │ ├── overview-summary.html │ ├── overview-tree.html │ ├── package-search-index.js │ ├── project-reports.html │ ├── script.js │ ├── search.js │ ├── serialized-form.html │ ├── stylesheet.css │ ├── tag-search-index.js │ └── type-search-index.js ├── durabletask-client/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── durabletask/ │ │ ├── CompositeTaskFailedException.java │ │ ├── DataConverter.java │ │ ├── DurableTaskClient.java │ │ ├── DurableTaskGrpcClient.java │ │ ├── DurableTaskGrpcClientBuilder.java │ │ ├── DurableTaskGrpcWorker.java │ │ ├── DurableTaskGrpcWorkerBuilder.java │ │ ├── FailureDetails.java │ │ ├── Helpers.java │ │ ├── JacksonDataConverter.java │ │ ├── NewOrchestrationInstanceOptions.java │ │ ├── NonDeterministicOrchestratorException.java │ │ ├── OrchestrationMetadata.java │ │ ├── OrchestrationRunner.java │ │ ├── OrchestrationRuntimeStatus.java │ │ ├── OrchestratorFunction.java │ │ ├── PurgeInstanceCriteria.java │ │ ├── PurgeResult.java │ │ ├── RetryContext.java │ │ ├── RetryHandler.java │ │ ├── RetryPolicy.java │ │ ├── Task.java │ │ ├── TaskActivity.java │ │ ├── TaskActivityContext.java │ │ ├── TaskActivityExecutor.java │ │ ├── TaskActivityFactory.java │ │ ├── TaskCanceledException.java │ │ ├── TaskFailedException.java │ │ ├── TaskOptions.java │ │ ├── TaskOrchestration.java │ │ ├── TaskOrchestrationContext.java │ │ ├── TaskOrchestrationExecutor.java │ │ ├── TaskOrchestratorResult.java │ │ ├── interruption/ │ │ │ ├── ContinueAsNewInterruption.java │ │ │ └── OrchestratorBlockedException.java │ │ ├── orchestration/ │ │ │ ├── TaskOrchestrationFactories.java │ │ │ ├── TaskOrchestrationFactory.java │ │ │ └── exception/ │ │ │ └── VersionNotRegisteredException.java │ │ ├── runner/ │ │ │ ├── ActivityRunner.java │ │ │ ├── DurableRunner.java │ │ │ └── OrchestratorRunner.java │ │ └── util/ │ │ └── UuidGenerator.java │ └── test/ │ └── java/ │ └── io/ │ └── dapr/ │ └── durabletask/ │ ├── DurableTaskClientIT.java │ ├── DurableTaskGrpcClientTlsTest.java │ ├── DurableTaskGrpcWorkerReconnectTest.java │ ├── DurableTaskGrpcWorkerShutdownTest.java │ ├── ErrorHandlingIT.java │ ├── IntegrationTestBase.java │ ├── SubOrchestrationCrossAppTest.java │ └── TaskOptionsTest.java ├── examples/ │ ├── components/ │ │ ├── actors/ │ │ │ └── redis.yaml │ │ ├── bindings/ │ │ │ └── kafka_bindings.yaml │ │ ├── configuration/ │ │ │ └── redis_configstore.yaml │ │ ├── conversation/ │ │ │ └── conversation.yaml │ │ ├── crypto/ │ │ │ ├── keys/ │ │ │ │ └── .gitkeep │ │ │ └── localstorage.yaml │ │ ├── lock/ │ │ │ └── redis_lockstore.yaml │ │ ├── pubsub/ │ │ │ └── redis_messagebus.yaml │ │ ├── secrets/ │ │ │ └── local_file.yaml │ │ ├── state/ │ │ │ ├── mongo.yaml │ │ │ └── redis.yaml │ │ └── workflows/ │ │ └── redis.yaml │ ├── pom.xml │ ├── proto/ │ │ └── helloworld.proto │ ├── spotbugs-exclude.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── examples/ │ │ ├── DaprApplication.java │ │ ├── DaprConfig.java │ │ ├── DaprMainApplication.java │ │ ├── OpenTelemetryConfig.java │ │ ├── OpenTelemetryInterceptor.java │ │ ├── OpenTelemetryInterceptorConfig.java │ │ ├── actors/ │ │ │ ├── DemoActor.java │ │ │ ├── DemoActorClient.java │ │ │ ├── DemoActorImpl.java │ │ │ ├── DemoActorService.java │ │ │ └── README.md │ │ ├── baggage/ │ │ │ ├── BaggageClient.java │ │ │ └── README.md │ │ ├── bindings/ │ │ │ └── http/ │ │ │ ├── InputBindingController.java │ │ │ ├── InputBindingExample.java │ │ │ ├── OutputBindingExample.java │ │ │ ├── README.md │ │ │ └── docker-compose-single-kafka.yml │ │ ├── configuration/ │ │ │ ├── ConfigurationClient.java │ │ │ └── README.md │ │ ├── conversation/ │ │ │ ├── AssistantMessageDemo.java │ │ │ ├── README.md │ │ │ ├── ToolsCallDemo.java │ │ │ ├── UsageUtils.java │ │ │ └── UserMessageDemo.java │ │ ├── crypto/ │ │ │ ├── CryptoExample.java │ │ │ ├── README.md │ │ │ └── StreamingCryptoExample.java │ │ ├── exception/ │ │ │ ├── Client.java │ │ │ └── README.md │ │ ├── invoke/ │ │ │ ├── grpc/ │ │ │ │ ├── HelloWorldClient.java │ │ │ │ ├── HelloWorldService.java │ │ │ │ └── README.md │ │ │ └── http/ │ │ │ ├── DemoService.java │ │ │ ├── DemoServiceController.java │ │ │ ├── InvokeClient.java │ │ │ └── README.md │ │ ├── jobs/ │ │ │ ├── DemoJobsClient.java │ │ │ ├── DemoJobsSpringApplication.java │ │ │ ├── JobsController.java │ │ │ └── README.md │ │ ├── lock/ │ │ │ ├── DistributedLockGrpcClient.java │ │ │ └── README.md │ │ ├── pubsub/ │ │ │ ├── BulkPublisher.java │ │ │ ├── CloudEventBulkPublisher.java │ │ │ ├── CloudEventPublisher.java │ │ │ ├── Publisher.java │ │ │ ├── PublisherWithTracing.java │ │ │ ├── README.md │ │ │ ├── grpc/ │ │ │ │ ├── Subscriber.java │ │ │ │ └── SubscriberGrpcService.java │ │ │ ├── http/ │ │ │ │ ├── Subscriber.java │ │ │ │ └── SubscriberController.java │ │ │ └── stream/ │ │ │ ├── README.md │ │ │ ├── Subscriber.java │ │ │ └── SubscriberCloudEvent.java │ │ ├── querystate/ │ │ │ ├── Listing.java │ │ │ ├── QuerySavedState.java │ │ │ ├── README.md │ │ │ └── docker-compose-single-mongo.yml │ │ ├── secrets/ │ │ │ ├── README.md │ │ │ ├── SecretClient.java │ │ │ └── config.yaml │ │ ├── state/ │ │ │ ├── README.md │ │ │ ├── StateClient.java │ │ │ └── docker-compose-single-mongo.yml │ │ ├── tracing/ │ │ │ ├── InvokeClient.java │ │ │ ├── README.md │ │ │ ├── TracingDemoMiddleServiceController.java │ │ │ ├── TracingDemoService.java │ │ │ ├── TracingDemoServiceController.java │ │ │ └── Validation.java │ │ ├── unittesting/ │ │ │ ├── DaprExampleTest.java │ │ │ ├── DaprWorkflowExampleTest.java │ │ │ └── README.md │ │ └── workflows/ │ │ ├── README.md │ │ ├── chain/ │ │ │ ├── DemoChainClient.java │ │ │ ├── DemoChainWorker.java │ │ │ ├── DemoChainWorkflow.java │ │ │ └── ToUpperCaseActivity.java │ │ ├── childworkflow/ │ │ │ ├── DemoChildWorkerflowClient.java │ │ │ ├── DemoChildWorkflow.java │ │ │ ├── DemoChildWorkflowWorker.java │ │ │ ├── DemoWorkflow.java │ │ │ └── ReverseActivity.java │ │ ├── compensation/ │ │ │ ├── BookCarActivity.java │ │ │ ├── BookFlightActivity.java │ │ │ ├── BookHotelActivity.java │ │ │ ├── BookTripClient.java │ │ │ ├── BookTripWorker.java │ │ │ ├── BookTripWorkflow.java │ │ │ ├── CancelCarActivity.java │ │ │ ├── CancelFlightActivity.java │ │ │ └── CancelHotelActivity.java │ │ ├── continueasnew/ │ │ │ ├── CleanUpActivity.java │ │ │ ├── DemoContinueAsNewClient.java │ │ │ ├── DemoContinueAsNewWorker.java │ │ │ └── DemoContinueAsNewWorkflow.java │ │ ├── externalevent/ │ │ │ ├── ApproveActivity.java │ │ │ ├── DemoExternalEventClient.java │ │ │ ├── DemoExternalEventWorker.java │ │ │ ├── DemoExternalEventWorkflow.java │ │ │ └── DenyActivity.java │ │ ├── faninout/ │ │ │ ├── CountWordsActivity.java │ │ │ ├── DemoFanInOutClient.java │ │ │ ├── DemoFanInOutWorker.java │ │ │ └── DemoFanInOutWorkflow.java │ │ ├── multiapp/ │ │ │ ├── App2TransformActivity.java │ │ │ ├── App2Worker.java │ │ │ ├── App3FinalizeActivity.java │ │ │ ├── App3Worker.java │ │ │ ├── MultiAppWorker.java │ │ │ ├── MultiAppWorkflow.java │ │ │ └── MultiAppWorkflowClient.java │ │ ├── suspendresume/ │ │ │ ├── DemoSuspendResumeClient.java │ │ │ └── DemoSuspendResumeWorker.java │ │ └── utils/ │ │ ├── PropertyUtils.java │ │ └── RetryUtils.java │ └── resources/ │ └── logback.xml ├── mise.toml ├── mvnw ├── mvnw.cmd ├── pom.xml ├── sdk/ │ ├── pom.xml │ ├── spotbugs-exclude.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ ├── Rule.java │ │ │ ├── Topic.java │ │ │ ├── client/ │ │ │ │ ├── AbstractDaprClient.java │ │ │ │ ├── DaprClient.java │ │ │ │ ├── DaprClientBuilder.java │ │ │ │ ├── DaprClientImpl.java │ │ │ │ ├── DaprHttp.java │ │ │ │ ├── DaprHttpBuilder.java │ │ │ │ ├── DaprPreviewClient.java │ │ │ │ ├── GrpcChannelFacade.java │ │ │ │ ├── Headers.java │ │ │ │ ├── ObjectSerializer.java │ │ │ │ ├── ProtobufValueHelper.java │ │ │ │ ├── Subscription.java │ │ │ │ ├── SubscriptionListener.java │ │ │ │ ├── domain/ │ │ │ │ │ ├── ActorMetadata.java │ │ │ │ │ ├── AppConnectionPropertiesHealthMetadata.java │ │ │ │ │ ├── AppConnectionPropertiesMetadata.java │ │ │ │ │ ├── AssistantMessage.java │ │ │ │ │ ├── BulkPublishEntry.java │ │ │ │ │ ├── BulkPublishRequest.java │ │ │ │ │ ├── BulkPublishResponse.java │ │ │ │ │ ├── BulkPublishResponseFailedEntry.java │ │ │ │ │ ├── BulkSubscribeAppResponse.java │ │ │ │ │ ├── BulkSubscribeAppResponseEntry.java │ │ │ │ │ ├── BulkSubscribeAppResponseStatus.java │ │ │ │ │ ├── BulkSubscribeMessage.java │ │ │ │ │ ├── BulkSubscribeMessageEntry.java │ │ │ │ │ ├── CloudEvent.java │ │ │ │ │ ├── ComponentMetadata.java │ │ │ │ │ ├── ConfigurationItem.java │ │ │ │ │ ├── ConstantFailurePolicy.java │ │ │ │ │ ├── ConversationInput.java │ │ │ │ │ ├── ConversationInputAlpha2.java │ │ │ │ │ ├── ConversationMessage.java │ │ │ │ │ ├── ConversationMessageContent.java │ │ │ │ │ ├── ConversationMessageRole.java │ │ │ │ │ ├── ConversationOutput.java │ │ │ │ │ ├── ConversationRequest.java │ │ │ │ │ ├── ConversationRequestAlpha2.java │ │ │ │ │ ├── ConversationResponse.java │ │ │ │ │ ├── ConversationResponseAlpha2.java │ │ │ │ │ ├── ConversationResultAlpha2.java │ │ │ │ │ ├── ConversationResultChoices.java │ │ │ │ │ ├── ConversationResultCompletionUsage.java │ │ │ │ │ ├── ConversationResultCompletionUsageDetails.java │ │ │ │ │ ├── ConversationResultMessage.java │ │ │ │ │ ├── ConversationResultPromptUsageDetails.java │ │ │ │ │ ├── ConversationToolCalls.java │ │ │ │ │ ├── ConversationToolCallsOfFunction.java │ │ │ │ │ ├── ConversationTools.java │ │ │ │ │ ├── ConversationToolsFunction.java │ │ │ │ │ ├── DaprMetadata.java │ │ │ │ │ ├── DecryptRequestAlpha1.java │ │ │ │ │ ├── DeleteJobRequest.java │ │ │ │ │ ├── DeleteStateRequest.java │ │ │ │ │ ├── DeveloperMessage.java │ │ │ │ │ ├── DropFailurePolicy.java │ │ │ │ │ ├── EncryptRequestAlpha1.java │ │ │ │ │ ├── ExecuteStateTransactionRequest.java │ │ │ │ │ ├── FailurePolicy.java │ │ │ │ │ ├── FailurePolicyType.java │ │ │ │ │ ├── GetBulkSecretRequest.java │ │ │ │ │ ├── GetBulkStateRequest.java │ │ │ │ │ ├── GetConfigurationRequest.java │ │ │ │ │ ├── GetJobRequest.java │ │ │ │ │ ├── GetJobResponse.java │ │ │ │ │ ├── GetSecretRequest.java │ │ │ │ │ ├── GetStateRequest.java │ │ │ │ │ ├── HttpEndpointMetadata.java │ │ │ │ │ ├── HttpExtension.java │ │ │ │ │ ├── InvokeBindingRequest.java │ │ │ │ │ ├── InvokeMethodRequest.java │ │ │ │ │ ├── JobSchedule.java │ │ │ │ │ ├── LockRequest.java │ │ │ │ │ ├── Metadata.java │ │ │ │ │ ├── PublishEventRequest.java │ │ │ │ │ ├── QueryStateItem.java │ │ │ │ │ ├── QueryStateRequest.java │ │ │ │ │ ├── QueryStateResponse.java │ │ │ │ │ ├── RuleMetadata.java │ │ │ │ │ ├── SaveStateRequest.java │ │ │ │ │ ├── ScheduleJobRequest.java │ │ │ │ │ ├── State.java │ │ │ │ │ ├── StateOptions.java │ │ │ │ │ ├── SubscribeConfigurationRequest.java │ │ │ │ │ ├── SubscribeConfigurationResponse.java │ │ │ │ │ ├── SubscriptionMetadata.java │ │ │ │ │ ├── SystemMessage.java │ │ │ │ │ ├── ToolMessage.java │ │ │ │ │ ├── TransactionalStateOperation.java │ │ │ │ │ ├── TransactionalStateRequest.java │ │ │ │ │ ├── UnlockRequest.java │ │ │ │ │ ├── UnlockResponseStatus.java │ │ │ │ │ ├── UnsubscribeConfigurationRequest.java │ │ │ │ │ ├── UnsubscribeConfigurationResponse.java │ │ │ │ │ ├── UserMessage.java │ │ │ │ │ └── query/ │ │ │ │ │ ├── Pagination.java │ │ │ │ │ ├── Query.java │ │ │ │ │ ├── Sorting.java │ │ │ │ │ └── filters/ │ │ │ │ │ ├── AndFilter.java │ │ │ │ │ ├── EqFilter.java │ │ │ │ │ ├── Filter.java │ │ │ │ │ ├── InFilter.java │ │ │ │ │ └── OrFilter.java │ │ │ │ └── resiliency/ │ │ │ │ └── ResiliencyOptions.java │ │ │ ├── config/ │ │ │ │ ├── BooleanProperty.java │ │ │ │ ├── GenericProperty.java │ │ │ │ ├── IntegerProperty.java │ │ │ │ ├── MillisecondsDurationProperty.java │ │ │ │ ├── Properties.java │ │ │ │ ├── Property.java │ │ │ │ ├── SecondsDurationProperty.java │ │ │ │ └── StringProperty.java │ │ │ ├── exceptions/ │ │ │ │ ├── DaprError.java │ │ │ │ ├── DaprErrorDetails.java │ │ │ │ └── DaprException.java │ │ │ ├── internal/ │ │ │ │ ├── exceptions/ │ │ │ │ │ └── DaprHttpException.java │ │ │ │ ├── grpc/ │ │ │ │ │ ├── DaprClientGrpcInterceptors.java │ │ │ │ │ └── interceptors/ │ │ │ │ │ ├── DaprApiTokenInterceptor.java │ │ │ │ │ ├── DaprAppIdInterceptor.java │ │ │ │ │ ├── DaprBaggageInterceptor.java │ │ │ │ │ ├── DaprMetadataReceiverInterceptor.java │ │ │ │ │ ├── DaprTimeoutInterceptor.java │ │ │ │ │ └── DaprTracingInterceptor.java │ │ │ │ ├── opencensus/ │ │ │ │ │ ├── BigendianEncoding.java │ │ │ │ │ ├── BinaryFormatImpl.java │ │ │ │ │ ├── GrpcHelper.java │ │ │ │ │ ├── SpanContext.java │ │ │ │ │ ├── SpanId.java │ │ │ │ │ ├── TraceContextFormat.java │ │ │ │ │ ├── TraceId.java │ │ │ │ │ ├── TraceOptions.java │ │ │ │ │ ├── Tracestate.java │ │ │ │ │ └── Utils.java │ │ │ │ ├── resiliency/ │ │ │ │ │ ├── RetryPolicy.java │ │ │ │ │ └── TimeoutPolicy.java │ │ │ │ └── subscription/ │ │ │ │ └── EventSubscriberStreamObserver.java │ │ │ ├── serializer/ │ │ │ │ ├── CustomizableObjectSerializer.java │ │ │ │ ├── DaprObjectSerializer.java │ │ │ │ └── DefaultObjectSerializer.java │ │ │ └── utils/ │ │ │ ├── DefaultContentTypeConverter.java │ │ │ ├── DurationUtils.java │ │ │ ├── FailurePolicyUtils.java │ │ │ ├── NetworkUtils.java │ │ │ ├── ProtobufUtils.java │ │ │ ├── TypeRef.java │ │ │ └── Version.java │ │ └── resources/ │ │ └── sdk_version.properties │ └── test/ │ ├── java/ │ │ └── io/ │ │ └── dapr/ │ │ ├── client/ │ │ │ ├── CloudEventCustom.java │ │ │ ├── CloudEventCustomTest.java │ │ │ ├── CloudEventTest.java │ │ │ ├── DaprClientBuilderTest.java │ │ │ ├── DaprClientGrpcBaggageTest.java │ │ │ ├── DaprClientGrpcTelemetryTest.java │ │ │ ├── DaprClientGrpcTest.java │ │ │ ├── DaprClientHttpTest.java │ │ │ ├── DaprClientTestBuilder.java │ │ │ ├── DaprExceptionTest.java │ │ │ ├── DaprHttpBuilderTest.java │ │ │ ├── DaprHttpStub.java │ │ │ ├── DaprHttpTest.java │ │ │ ├── DaprPreviewClientGrpcTest.java │ │ │ ├── MockHttpResponse.java │ │ │ ├── ProtobufValueHelperTest.java │ │ │ └── domain/ │ │ │ ├── BulkPublishEntryTest.java │ │ │ ├── BulkPublishRequestTest.java │ │ │ ├── ConfigurationItemTest.java │ │ │ ├── DecryptRequestAlpha1Test.java │ │ │ ├── DeleteStateRequestTest.java │ │ │ ├── EncryptRequestAlpha1Test.java │ │ │ ├── ExecuteStateTransactionRequestTest.java │ │ │ ├── GetBulkSecretRequestTest.java │ │ │ ├── GetBulkStateRequestTest.java │ │ │ ├── GetSecretRequestTest.java │ │ │ ├── GetStateRequestTest.java │ │ │ ├── HttpExtensionTest.java │ │ │ ├── InvokeBindingRequestTest.java │ │ │ ├── JobsScheduleTest.java │ │ │ ├── PublishEventRequestTest.java │ │ │ ├── QueryStateRequestTest.java │ │ │ ├── SaveStateRequestTest.java │ │ │ ├── StateTest.java │ │ │ ├── TestData.java │ │ │ ├── TransactionalStateRequestTest.java │ │ │ └── query/ │ │ │ ├── QueryTest.java │ │ │ └── filters/ │ │ │ ├── AndFilterTest.java │ │ │ ├── EqFilterTest.java │ │ │ ├── InFilterTest.java │ │ │ └── OrFilterTest.java │ │ ├── config/ │ │ │ └── IntegerPropertyTest.java │ │ ├── internal/ │ │ │ └── subscription/ │ │ │ └── EventSubscriberStreamObserverTest.java │ │ ├── resiliency/ │ │ │ └── RetryPolicyTest.java │ │ ├── runtime/ │ │ │ ├── Dapr.java │ │ │ ├── DaprRuntime.java │ │ │ ├── DaprRuntimeTest.java │ │ │ ├── MethodListener.java │ │ │ └── TopicListener.java │ │ ├── serializer/ │ │ │ ├── CustomObjectSerializerTest.java │ │ │ ├── DefaultObjectSerializerTest.java │ │ │ └── FailurePolicySerializerTest.java │ │ └── utils/ │ │ ├── DefaultContentTypeConverterTest.java │ │ ├── DurationUtilsTest.java │ │ ├── NetworkUtilsTest.java │ │ ├── TestUtils.java │ │ └── TypeRefTest.java │ └── resources/ │ ├── certs/ │ │ ├── test-ca-cert.key │ │ ├── test-ca-cert.pem │ │ ├── test-cert.key │ │ └── test-cert.pem │ └── mockito-extensions/ │ └── org.mockito.plugins.MockMaker ├── sdk-actors/ │ ├── pom.xml │ ├── spotbugs-exclude.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── actors/ │ │ ├── ActorId.java │ │ ├── ActorMethod.java │ │ ├── ActorTrace.java │ │ ├── ActorType.java │ │ ├── ActorUtils.java │ │ ├── Undefined.java │ │ ├── client/ │ │ │ ├── ActorClient.java │ │ │ ├── ActorProxy.java │ │ │ ├── ActorProxyBuilder.java │ │ │ ├── ActorProxyImpl.java │ │ │ ├── DaprClient.java │ │ │ └── DaprClientImpl.java │ │ └── runtime/ │ │ ├── AbstractActor.java │ │ ├── ActorCallType.java │ │ ├── ActorFactory.java │ │ ├── ActorManager.java │ │ ├── ActorMethodContext.java │ │ ├── ActorMethodInfoMap.java │ │ ├── ActorObjectSerializer.java │ │ ├── ActorReminderParams.java │ │ ├── ActorRuntime.java │ │ ├── ActorRuntimeConfig.java │ │ ├── ActorRuntimeContext.java │ │ ├── ActorStateChange.java │ │ ├── ActorStateChangeKind.java │ │ ├── ActorStateManager.java │ │ ├── ActorStateOperation.java │ │ ├── ActorTimerParams.java │ │ ├── ActorTypeConfig.java │ │ ├── ActorTypeInformation.java │ │ ├── ActorTypeUtilities.java │ │ ├── DaprClient.java │ │ ├── DaprClientImpl.java │ │ ├── DaprStateAsyncProvider.java │ │ ├── DefaultActorFactory.java │ │ └── Remindable.java │ └── test/ │ ├── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── actors/ │ │ ├── ActorIdTest.java │ │ ├── TestUtils.java │ │ ├── client/ │ │ │ ├── ActorProxyBuilderTest.java │ │ │ ├── ActorProxyImplForTests.java │ │ │ ├── ActorProxyImplTest.java │ │ │ ├── DaprClientStub.java │ │ │ └── DaprGrpcClientTest.java │ │ └── runtime/ │ │ ├── ActorCustomSerializerTest.java │ │ ├── ActorManagerTest.java │ │ ├── ActorMethodInfoMapTest.java │ │ ├── ActorNoStateTest.java │ │ ├── ActorReminderParamsTest.java │ │ ├── ActorRuntimeTest.java │ │ ├── ActorStatefulTest.java │ │ ├── ActorTimerTest.java │ │ ├── ActorTypeInformationTest.java │ │ ├── ActorTypeUtilitiesTest.java │ │ ├── DaprGrpcClientTest.java │ │ ├── DaprInMemoryStateProvider.java │ │ ├── DaprStateAsyncProviderTest.java │ │ ├── DefaultActorFactoryTest.java │ │ ├── DerivedActorTest.java │ │ ├── JavaSerializer.java │ │ └── ThrowFromPreAndPostActorMethodsTest.java │ └── resources/ │ └── mockito-extensions/ │ └── org.mockito.plugins.MockMaker ├── sdk-autogen/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── .keepme │ └── test/ │ └── java/ │ └── .keepme ├── sdk-bom/ │ └── pom.xml ├── sdk-springboot/ │ ├── pom.xml │ ├── spotbugs-exclude.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot/ │ │ │ ├── DaprAutoConfiguration.java │ │ │ ├── DaprBeanPostProcessor.java │ │ │ ├── DaprController.java │ │ │ ├── DaprRuntime.java │ │ │ ├── DaprSubscriptionBuilder.java │ │ │ ├── DaprTopicBulkSubscribe.java │ │ │ ├── DaprTopicKey.java │ │ │ ├── DaprTopicRoutes.java │ │ │ ├── DaprTopicRule.java │ │ │ ├── DaprTopicSubscription.java │ │ │ └── annotations/ │ │ │ └── BulkSubscribe.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ └── test/ │ └── java/ │ └── io/ │ └── dapr/ │ └── springboot/ │ ├── DaprBeanPostProcessorSubscribeTest.java │ ├── DaprBeanPostProcessorTest.java │ ├── DaprRuntimeTest.java │ ├── DaprTopicBulkSubscribeTest.java │ ├── MockController.java │ ├── MockControllerNoClazzAnnotation.java │ ├── MockControllerWithSubscribe.java │ └── MockStringValueResolver.java ├── sdk-tests/ │ ├── .hashicorp_vault_token │ ├── components/ │ │ ├── http_binding.yaml │ │ ├── kafka_bindings.yaml │ │ ├── mongo-statestore.yml │ │ ├── pubsub.yaml │ │ ├── redisconfigstore.yaml │ │ ├── resiliency.yaml │ │ ├── secret.json │ │ ├── secretstore.yaml │ │ └── statestore.yaml │ ├── configurations/ │ │ └── configuration.yaml │ ├── deploy/ │ │ └── local-test.yml │ ├── pom.xml │ ├── proto/ │ │ └── methodinvokeservice.proto │ └── src/ │ └── test/ │ ├── java/ │ │ └── io/ │ │ └── dapr/ │ │ ├── actors/ │ │ │ └── runtime/ │ │ │ └── DaprClientHttpUtils.java │ │ ├── grpc/ │ │ │ └── GrpcHealthCheckService.java │ │ ├── it/ │ │ │ ├── AppRun.java │ │ │ ├── BaseIT.java │ │ │ ├── Command.java │ │ │ ├── DaprPorts.java │ │ │ ├── DaprRun.java │ │ │ ├── DaprRunConfig.java │ │ │ ├── Retry.java │ │ │ ├── Stoppable.java │ │ │ ├── TestUtils.java │ │ │ ├── ToxiProxyRun.java │ │ │ ├── actors/ │ │ │ │ ├── ActivationDeactivationIT.java │ │ │ │ ├── ActorExceptionIT.java │ │ │ │ ├── ActorMethodNameIT.java │ │ │ │ ├── ActorReminderFailoverIT.java │ │ │ │ ├── ActorReminderRecoveryIT.java │ │ │ │ ├── ActorSdkResiliencyIT.java │ │ │ │ ├── ActorStateIT.java │ │ │ │ ├── ActorTimerRecoveryIT.java │ │ │ │ ├── ActorTurnBasedConcurrencyIT.java │ │ │ │ ├── MethodEntryTracker.java │ │ │ │ ├── MyActorTestUtils.java │ │ │ │ ├── app/ │ │ │ │ │ ├── ActorReminderDataParam.java │ │ │ │ │ ├── MyActor.java │ │ │ │ │ ├── MyActorBase.java │ │ │ │ │ ├── MyActorBinaryImpl.java │ │ │ │ │ ├── MyActorObjectImpl.java │ │ │ │ │ ├── MyActorService.java │ │ │ │ │ ├── MyActorStringImpl.java │ │ │ │ │ ├── MyObject.java │ │ │ │ │ └── TestApplication.java │ │ │ │ └── services/ │ │ │ │ └── springboot/ │ │ │ │ ├── DaprApplication.java │ │ │ │ ├── DemoActor.java │ │ │ │ ├── DemoActorImpl.java │ │ │ │ ├── DemoActorService.java │ │ │ │ ├── StatefulActor.java │ │ │ │ ├── StatefulActorImpl.java │ │ │ │ └── StatefulActorService.java │ │ │ ├── api/ │ │ │ │ └── ApiIT.java │ │ │ ├── binding/ │ │ │ │ └── http/ │ │ │ │ ├── BindingIT.java │ │ │ │ ├── InputBindingController.java │ │ │ │ └── InputBindingService.java │ │ │ ├── configuration/ │ │ │ │ └── ConfigurationClientIT.java │ │ │ ├── methodinvoke/ │ │ │ │ ├── grpc/ │ │ │ │ │ ├── MethodInvokeIT.java │ │ │ │ │ └── MethodInvokeService.java │ │ │ │ └── http/ │ │ │ │ ├── MethodInvokeController.java │ │ │ │ ├── MethodInvokeIT.java │ │ │ │ ├── MethodInvokeService.java │ │ │ │ └── Person.java │ │ │ ├── pubsub/ │ │ │ │ ├── http/ │ │ │ │ │ ├── PubSubIT.java │ │ │ │ │ ├── SubscriberController.java │ │ │ │ │ └── SubscriberService.java │ │ │ │ └── stream/ │ │ │ │ └── PubSubStreamIT.java │ │ │ ├── resiliency/ │ │ │ │ ├── SdkResiliencyIT.java │ │ │ │ └── WaitForSidecarIT.java │ │ │ ├── secrets/ │ │ │ │ └── SecretsClientIT.java │ │ │ ├── spring/ │ │ │ │ ├── data/ │ │ │ │ │ ├── CustomMySQLContainer.java │ │ │ │ │ ├── DaprKeyValueRepositoryIT.java │ │ │ │ │ ├── DaprSpringDataConstants.java │ │ │ │ │ ├── MySQLDaprKeyValueTemplateIT.java │ │ │ │ │ ├── PostgreSQLDaprKeyValueTemplateIT.java │ │ │ │ │ ├── TestDaprSpringDataConfiguration.java │ │ │ │ │ ├── TestType.java │ │ │ │ │ └── TestTypeRepository.java │ │ │ │ └── messaging/ │ │ │ │ ├── DaprSpringMessagingIT.java │ │ │ │ ├── TestApplication.java │ │ │ │ └── TestRestController.java │ │ │ ├── state/ │ │ │ │ ├── AbstractStateClientIT.java │ │ │ │ ├── GRPCStateClientIT.java │ │ │ │ ├── HelloWorldClientIT.java │ │ │ │ ├── HelloWorldGrpcStateService.java │ │ │ │ └── MyData.java │ │ │ ├── testcontainers/ │ │ │ │ ├── ContainerConstants.java │ │ │ │ ├── DaprClientConfiguration.java │ │ │ │ ├── DaprClientFactory.java │ │ │ │ ├── DaprPreviewClientConfiguration.java │ │ │ │ ├── SubscriptionsRestController.java │ │ │ │ ├── actors/ │ │ │ │ │ ├── DaprActorsIT.java │ │ │ │ │ ├── TestActor.java │ │ │ │ │ ├── TestActorImpl.java │ │ │ │ │ ├── TestActorsApplication.java │ │ │ │ │ └── TestDaprActorsConfiguration.java │ │ │ │ ├── conversations/ │ │ │ │ │ ├── DaprConversationAlpha2IT.java │ │ │ │ │ ├── DaprConversationIT.java │ │ │ │ │ └── TestConversationApplication.java │ │ │ │ ├── core/ │ │ │ │ │ ├── DaprContainerIT.java │ │ │ │ │ ├── DaprPlacementContainerIT.java │ │ │ │ │ └── DaprSchedulerContainerIT.java │ │ │ │ ├── crypto/ │ │ │ │ │ └── DaprPreviewClientCryptoIT.java │ │ │ │ ├── jobs/ │ │ │ │ │ ├── DaprJobsIT.java │ │ │ │ │ └── TestJobsApplication.java │ │ │ │ ├── pubsub/ │ │ │ │ │ ├── http/ │ │ │ │ │ │ ├── DaprPubSubIT.java │ │ │ │ │ │ ├── SubscriberController.java │ │ │ │ │ │ └── TestPubSubApplication.java │ │ │ │ │ └── outbox/ │ │ │ │ │ ├── DaprPubSubOutboxIT.java │ │ │ │ │ ├── Product.java │ │ │ │ │ ├── ProductWebhookController.java │ │ │ │ │ └── TestPubsubOutboxApplication.java │ │ │ │ └── workflows/ │ │ │ │ ├── DaprWorkflowsIT.java │ │ │ │ ├── FirstActivity.java │ │ │ │ ├── KeyStore.java │ │ │ │ ├── SecondActivity.java │ │ │ │ ├── TaskExecutionIdActivity.java │ │ │ │ ├── TestExecutionKeysWorkflow.java │ │ │ │ ├── TestNamedActivitiesWorkflow.java │ │ │ │ ├── TestWorkflow.java │ │ │ │ ├── TestWorkflowPayload.java │ │ │ │ ├── TestWorkflowsApplication.java │ │ │ │ ├── TestWorkflowsConfiguration.java │ │ │ │ ├── multiapp/ │ │ │ │ │ ├── App2TransformActivity.java │ │ │ │ │ ├── App2Worker.java │ │ │ │ │ ├── App3FinalizeActivity.java │ │ │ │ │ ├── App3Worker.java │ │ │ │ │ ├── ChildTransformActivity.java │ │ │ │ │ ├── MultiAppWorker.java │ │ │ │ │ ├── MultiAppWorkflow.java │ │ │ │ │ ├── SubOrchestrationChildWorker.java │ │ │ │ │ ├── SubOrchestrationChildWorkflow.java │ │ │ │ │ ├── SubOrchestrationParentWorker.java │ │ │ │ │ ├── SubOrchestrationParentWorkflow.java │ │ │ │ │ ├── WorkflowsMultiAppCallActivityIT.java │ │ │ │ │ └── WorkflowsMultiAppSubOrchestrationIT.java │ │ │ │ └── version/ │ │ │ │ ├── full/ │ │ │ │ │ ├── FullVersioningWorkflowsIT.java │ │ │ │ │ ├── VersionedWorkflows.java │ │ │ │ │ ├── WorkflowV1Worker.java │ │ │ │ │ └── WorkflowV2Worker.java │ │ │ │ └── patch/ │ │ │ │ ├── PatchVersioningWorkflowsIT.java │ │ │ │ ├── PatchedWorkflows.java │ │ │ │ ├── WorkflowV1Worker.java │ │ │ │ └── WorkflowV2Worker.java │ │ │ └── tracing/ │ │ │ ├── OpenTelemetry.java │ │ │ ├── Validation.java │ │ │ ├── grpc/ │ │ │ │ ├── Service.java │ │ │ │ └── TracingIT.java │ │ │ └── http/ │ │ │ ├── Controller.java │ │ │ ├── OpenTelemetryConfig.java │ │ │ ├── OpenTelemetryInterceptor.java │ │ │ ├── OpenTelemetryInterceptorConfig.java │ │ │ ├── Service.java │ │ │ └── TracingIT.java │ │ └── testcontainers/ │ │ └── internal/ │ │ ├── DaprContainerFactory.java │ │ ├── DaprSidecarContainer.java │ │ └── spring/ │ │ ├── DaprSpringBootContextInitializer.java │ │ ├── DaprSpringBootExtension.java │ │ └── DaprSpringBootTest.java │ └── resources/ │ ├── logback.xml │ └── query.json ├── sdk-workflows/ │ ├── pom.xml │ ├── spotbugs-exclude.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── workflows/ │ │ ├── Workflow.java │ │ ├── WorkflowActivity.java │ │ ├── WorkflowActivityContext.java │ │ ├── WorkflowContext.java │ │ ├── WorkflowStub.java │ │ ├── WorkflowTaskOptions.java │ │ ├── WorkflowTaskRetryContext.java │ │ ├── WorkflowTaskRetryHandler.java │ │ ├── WorkflowTaskRetryPolicy.java │ │ ├── client/ │ │ │ ├── DaprWorkflowClient.java │ │ │ ├── NewWorkflowOptions.java │ │ │ ├── WorkflowFailureDetails.java │ │ │ ├── WorkflowInstanceStatus.java │ │ │ ├── WorkflowRuntimeStatus.java │ │ │ └── WorkflowState.java │ │ ├── internal/ │ │ │ └── ApiTokenClientInterceptor.java │ │ └── runtime/ │ │ ├── DefaultWorkflowActivityContext.java │ │ ├── DefaultWorkflowContext.java │ │ ├── DefaultWorkflowFailureDetails.java │ │ ├── DefaultWorkflowInstanceStatus.java │ │ ├── DefaultWorkflowState.java │ │ ├── WorkflowActivityClassWrapper.java │ │ ├── WorkflowActivityInstanceWrapper.java │ │ ├── WorkflowClassWrapper.java │ │ ├── WorkflowInstanceWrapper.java │ │ ├── WorkflowRuntime.java │ │ ├── WorkflowRuntimeBuilder.java │ │ ├── WorkflowRuntimeStatusConverter.java │ │ └── WorkflowVersionWrapper.java │ └── test/ │ └── java/ │ └── io/ │ └── dapr/ │ └── workflows/ │ ├── DefaultWorkflowContextTest.java │ ├── WorkflowTaskOptionsTest.java │ ├── WorkflowTest.java │ ├── client/ │ │ ├── DaprWorkflowClientTest.java │ │ ├── NewWorkflowOptionsTest.java │ │ ├── WorkflowInstanceStatusTest.java │ │ └── WorkflowStateTest.java │ └── runtime/ │ ├── DefaultWorkflowActivityContextTest.java │ ├── WorkflowActivityClassWrapperTest.java │ ├── WorkflowActivityInstanceWrapperTest.java │ ├── WorkflowClassWrapperTest.java │ ├── WorkflowInstanceWrapperTest.java │ ├── WorkflowRuntimeBuilderTest.java │ ├── WorkflowRuntimeStatusConverterTest.java │ ├── WorkflowRuntimeTest.java │ └── WorkflowVersionWrapperTest.java ├── settings.xml ├── spotbugs-exclude.xml ├── spring-boot-4-examples/ │ ├── consumer-app/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot4/ │ │ │ │ └── examples/ │ │ │ │ └── consumer/ │ │ │ │ ├── ConsumerApplication.java │ │ │ │ ├── Order.java │ │ │ │ └── SubscriberRestController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── springboot4/ │ │ └── examples/ │ │ └── consumer/ │ │ ├── ConsumerAppIT.java │ │ ├── ConsumerAppTestConfiguration.java │ │ ├── DaprTestContainersConfig.java │ │ └── TestConsumerApplication.java │ ├── pom.xml │ ├── producer-app/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot4/ │ │ │ │ └── examples/ │ │ │ │ └── producer/ │ │ │ │ ├── Customer.java │ │ │ │ ├── CustomerStore.java │ │ │ │ ├── CustomersRestController.java │ │ │ │ ├── Jackson3SerializerConfiguration.java │ │ │ │ ├── Order.java │ │ │ │ ├── OrderDTO.java │ │ │ │ ├── OrderRepository.java │ │ │ │ ├── OrdersRestController.java │ │ │ │ ├── ProducerAppConfiguration.java │ │ │ │ ├── ProducerApplication.java │ │ │ │ └── workflow/ │ │ │ │ ├── CustomerFollowupActivity.java │ │ │ │ ├── CustomerWorkflow.java │ │ │ │ └── RegisterCustomerActivity.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── springboot4/ │ │ └── examples/ │ │ └── producer/ │ │ ├── DaprTestContainersConfig.java │ │ ├── ProducerAppIT.java │ │ ├── TestProducerApplication.java │ │ └── TestSubscriberRestController.java │ └── workflows/ │ ├── multi-app/ │ │ ├── README.md │ │ ├── orchestrator/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── io/ │ │ │ │ │ └── dapr/ │ │ │ │ │ └── springboot4/ │ │ │ │ │ └── examples/ │ │ │ │ │ └── orchestrator/ │ │ │ │ │ ├── Customer.java │ │ │ │ │ ├── CustomerWorkflow.java │ │ │ │ │ ├── CustomersRestController.java │ │ │ │ │ └── OrchestratorApplication.java │ │ │ │ └── resources/ │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot4/ │ │ │ │ └── examples/ │ │ │ │ └── orchestrator/ │ │ │ │ ├── DaprTestContainersConfig.java │ │ │ │ ├── DockerImages.java │ │ │ │ ├── OrchestratorAppIT.java │ │ │ │ └── TestOrchestratorApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ ├── pom.xml │ │ ├── spotbugs-exclude.xml │ │ ├── worker-one/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── io/ │ │ │ │ │ └── dapr/ │ │ │ │ │ └── springboot4/ │ │ │ │ │ └── examples/ │ │ │ │ │ └── workerone/ │ │ │ │ │ ├── Customer.java │ │ │ │ │ ├── RegisterCustomerActivity.java │ │ │ │ │ └── WorkerOneApplication.java │ │ │ │ └── resources/ │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot4/ │ │ │ │ └── examples/ │ │ │ │ └── workerone/ │ │ │ │ ├── DaprTestContainersConfig.java │ │ │ │ ├── TestWorkerOneApplication.java │ │ │ │ └── WorkerOneAppIT.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── worker-two/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot4/ │ │ │ │ └── examples/ │ │ │ │ └── workertwo/ │ │ │ │ ├── Customer.java │ │ │ │ ├── CustomerFollowupActivity.java │ │ │ │ └── WorkerTwoApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot4/ │ │ │ └── examples/ │ │ │ └── workertwo/ │ │ │ ├── DaprTestContainersConfig.java │ │ │ ├── TestWorkerTwoApplication.java │ │ │ └── WorkerTwoAppIT.java │ │ └── resources/ │ │ └── application.properties │ ├── patterns/ │ │ ├── README.md │ │ ├── body.json │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot4/ │ │ │ │ └── examples/ │ │ │ │ └── wfp/ │ │ │ │ ├── WorkflowPatternsApplication.java │ │ │ │ ├── WorkflowPatternsConfiguration.java │ │ │ │ ├── WorkflowPatternsRestController.java │ │ │ │ ├── chain/ │ │ │ │ │ ├── ChainWorkflow.java │ │ │ │ │ └── ToUpperCaseActivity.java │ │ │ │ ├── child/ │ │ │ │ │ ├── ChildWorkflow.java │ │ │ │ │ ├── ParentWorkflow.java │ │ │ │ │ └── ReverseActivity.java │ │ │ │ ├── continueasnew/ │ │ │ │ │ ├── CleanUpActivity.java │ │ │ │ │ ├── CleanUpLog.java │ │ │ │ │ └── ContinueAsNewWorkflow.java │ │ │ │ ├── externalevent/ │ │ │ │ │ ├── ApproveActivity.java │ │ │ │ │ ├── Decision.java │ │ │ │ │ ├── DenyActivity.java │ │ │ │ │ └── ExternalEventWorkflow.java │ │ │ │ ├── fanoutin/ │ │ │ │ │ ├── CountWordsActivity.java │ │ │ │ │ ├── FanOutInWorkflow.java │ │ │ │ │ └── Result.java │ │ │ │ ├── remoteendpoint/ │ │ │ │ │ ├── CallRemoteEndpointActivity.java │ │ │ │ │ ├── Payload.java │ │ │ │ │ └── RemoteEndpointWorkflow.java │ │ │ │ ├── suspendresume/ │ │ │ │ │ ├── PerformTaskActivity.java │ │ │ │ │ └── SuspendResumeWorkflow.java │ │ │ │ └── timer/ │ │ │ │ ├── DurationTimerWorkflow.java │ │ │ │ ├── LogActivity.java │ │ │ │ ├── TimerLogService.java │ │ │ │ └── ZonedDateTimeTimerWorkflow.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot4/ │ │ │ └── examples/ │ │ │ └── wfp/ │ │ │ ├── DaprTestContainersConfig.java │ │ │ ├── TestWorkflowPatternsApplication.java │ │ │ └── WorkflowPatternsAppIT.java │ │ └── resources/ │ │ ├── application.properties │ │ └── third-parties/ │ │ └── remote-http-service.yaml │ ├── pom.xml │ └── spotbugs-exclude.xml ├── spring-boot-4-sdk-tests/ │ ├── pom.xml │ └── src/ │ └── test/ │ └── java/ │ └── io/ │ └── dapr/ │ └── it/ │ └── springboot4/ │ └── testcontainers/ │ ├── ContainerConstants.java │ ├── DaprClientConfiguration.java │ ├── DaprClientFactory.java │ ├── DaprContainerFactory.java │ ├── DaprPreviewClientConfiguration.java │ ├── DaprSidecarContainer.java │ ├── Retry.java │ ├── SubscriptionsRestController.java │ ├── TestUtils.java │ ├── actors/ │ │ ├── DaprActorsIT.java │ │ ├── TestActor.java │ │ ├── TestActorImpl.java │ │ ├── TestActorsApplication.java │ │ └── TestDaprActorsConfiguration.java │ ├── conversations/ │ │ ├── DaprConversationAlpha2IT.java │ │ ├── DaprConversationIT.java │ │ └── TestConversationApplication.java │ ├── core/ │ │ ├── DaprContainerIT.java │ │ ├── DaprPlacementContainerIT.java │ │ └── DaprSchedulerContainerIT.java │ ├── crypto/ │ │ └── DaprPreviewClientCryptoIT.java │ ├── jobs/ │ │ ├── DaprJobsIT.java │ │ └── TestJobsApplication.java │ ├── pubsub/ │ │ ├── http/ │ │ │ ├── DaprPubSubIT.java │ │ │ ├── SubscriberController.java │ │ │ └── TestPubSubApplication.java │ │ └── outbox/ │ │ ├── DaprPubSubOutboxIT.java │ │ ├── Product.java │ │ ├── ProductWebhookController.java │ │ └── TestPubsubOutboxApplication.java │ ├── spring/ │ │ ├── DaprSpringBootContextInitializer.java │ │ ├── DaprSpringBootExtension.java │ │ └── DaprSpringBootTest.java │ └── workflows/ │ ├── DaprWorkflowsIT.java │ ├── FirstActivity.java │ ├── KeyStore.java │ ├── SecondActivity.java │ ├── TaskExecutionIdActivity.java │ ├── TestExecutionKeysWorkflow.java │ ├── TestNamedActivitiesWorkflow.java │ ├── TestWorkflow.java │ ├── TestWorkflowPayload.java │ ├── TestWorkflowsApplication.java │ ├── TestWorkflowsConfiguration.java │ └── multiapp/ │ ├── App2TransformActivity.java │ ├── App2Worker.java │ ├── App3FinalizeActivity.java │ ├── App3Worker.java │ ├── MultiAppWorker.java │ ├── MultiAppWorkflow.java │ └── WorkflowsMultiAppCallActivityIT.java ├── spring-boot-examples/ │ ├── README.md │ ├── consumer-app/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot/ │ │ │ │ └── examples/ │ │ │ │ └── consumer/ │ │ │ │ ├── ConsumerApplication.java │ │ │ │ ├── Order.java │ │ │ │ └── SubscriberRestController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot/ │ │ │ └── examples/ │ │ │ └── consumer/ │ │ │ ├── ConsumerAppIT.java │ │ │ ├── ConsumerAppTestConfiguration.java │ │ │ ├── DaprTestContainersConfig.java │ │ │ └── TestConsumerApplication.java │ │ └── resources/ │ │ └── application.properties │ ├── kubernetes/ │ │ ├── README.md │ │ ├── consumer-app.yaml │ │ ├── kind-with-registry.sh │ │ ├── kvbinding.yaml │ │ ├── kvstore.yaml │ │ ├── producer-app.yaml │ │ └── pubsub.yaml │ ├── pom.xml │ ├── producer-app/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot/ │ │ │ │ └── examples/ │ │ │ │ └── producer/ │ │ │ │ ├── Customer.java │ │ │ │ ├── CustomerStore.java │ │ │ │ ├── CustomersRestController.java │ │ │ │ ├── Order.java │ │ │ │ ├── OrderDTO.java │ │ │ │ ├── OrderRepository.java │ │ │ │ ├── OrdersRestController.java │ │ │ │ ├── ProducerAppConfiguration.java │ │ │ │ ├── ProducerApplication.java │ │ │ │ └── workflow/ │ │ │ │ ├── CustomerFollowupActivity.java │ │ │ │ ├── CustomerWorkflow.java │ │ │ │ └── RegisterCustomerActivity.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot/ │ │ │ └── examples/ │ │ │ └── producer/ │ │ │ ├── DaprTestContainersConfig.java │ │ │ ├── ProducerAppIT.java │ │ │ ├── TestProducerApplication.java │ │ │ └── TestSubscriberRestController.java │ │ └── resources/ │ │ └── application.properties │ ├── spotbugs-exclude.xml │ └── workflows/ │ ├── multi-app/ │ │ ├── README.md │ │ ├── orchestrator/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── io/ │ │ │ │ │ └── dapr/ │ │ │ │ │ └── springboot/ │ │ │ │ │ └── examples/ │ │ │ │ │ └── orchestrator/ │ │ │ │ │ ├── Customer.java │ │ │ │ │ ├── CustomerWorkflow.java │ │ │ │ │ ├── CustomersRestController.java │ │ │ │ │ └── OrchestratorApplication.java │ │ │ │ └── resources/ │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot/ │ │ │ │ └── examples/ │ │ │ │ └── orchestrator/ │ │ │ │ ├── DaprTestContainersConfig.java │ │ │ │ ├── DockerImages.java │ │ │ │ ├── OrchestratorAppIT.java │ │ │ │ └── TestOrchestratorApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ ├── pom.xml │ │ ├── spotbugs-exclude.xml │ │ ├── worker-one/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── io/ │ │ │ │ │ └── dapr/ │ │ │ │ │ └── springboot/ │ │ │ │ │ └── examples/ │ │ │ │ │ └── workerone/ │ │ │ │ │ ├── Customer.java │ │ │ │ │ ├── RegisterCustomerActivity.java │ │ │ │ │ └── WorkerOneApplication.java │ │ │ │ └── resources/ │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot/ │ │ │ │ └── examples/ │ │ │ │ └── workerone/ │ │ │ │ ├── DaprTestContainersConfig.java │ │ │ │ ├── TestWorkerOneApplication.java │ │ │ │ └── WorkerOneAppIT.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── worker-two/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot/ │ │ │ │ └── examples/ │ │ │ │ └── workertwo/ │ │ │ │ ├── Customer.java │ │ │ │ ├── CustomerFollowupActivity.java │ │ │ │ └── WorkerTwoApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot/ │ │ │ └── examples/ │ │ │ └── workertwo/ │ │ │ ├── DaprTestContainersConfig.java │ │ │ ├── TestWorkerTwoApplication.java │ │ │ └── WorkerTwoAppIT.java │ │ └── resources/ │ │ └── application.properties │ ├── patterns/ │ │ ├── README.md │ │ ├── body.json │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot/ │ │ │ │ └── examples/ │ │ │ │ └── wfp/ │ │ │ │ ├── WorkflowPatternsApplication.java │ │ │ │ ├── WorkflowPatternsConfiguration.java │ │ │ │ ├── WorkflowPatternsRestController.java │ │ │ │ ├── chain/ │ │ │ │ │ ├── ChainWorkflow.java │ │ │ │ │ └── ToUpperCaseActivity.java │ │ │ │ ├── child/ │ │ │ │ │ ├── ChildWorkflow.java │ │ │ │ │ ├── ParentWorkflow.java │ │ │ │ │ └── ReverseActivity.java │ │ │ │ ├── continueasnew/ │ │ │ │ │ ├── CleanUpActivity.java │ │ │ │ │ ├── CleanUpLog.java │ │ │ │ │ └── ContinueAsNewWorkflow.java │ │ │ │ ├── externalevent/ │ │ │ │ │ ├── ApproveActivity.java │ │ │ │ │ ├── Decision.java │ │ │ │ │ ├── DenyActivity.java │ │ │ │ │ └── ExternalEventWorkflow.java │ │ │ │ ├── fanoutin/ │ │ │ │ │ ├── CountWordsActivity.java │ │ │ │ │ ├── FanOutInWorkflow.java │ │ │ │ │ └── Result.java │ │ │ │ ├── remoteendpoint/ │ │ │ │ │ ├── CallRemoteEndpointActivity.java │ │ │ │ │ ├── Payload.java │ │ │ │ │ └── RemoteEndpointWorkflow.java │ │ │ │ ├── suspendresume/ │ │ │ │ │ ├── PerformTaskActivity.java │ │ │ │ │ └── SuspendResumeWorkflow.java │ │ │ │ └── timer/ │ │ │ │ ├── DurationTimerWorkflow.java │ │ │ │ ├── LogActivity.java │ │ │ │ ├── TimerLogService.java │ │ │ │ └── ZonedDateTimeTimerWorkflow.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot/ │ │ │ └── examples/ │ │ │ └── wfp/ │ │ │ ├── DaprTestContainersConfig.java │ │ │ ├── TestWorkflowPatternsApplication.java │ │ │ └── WorkflowPatternsAppIT.java │ │ └── resources/ │ │ ├── application.properties │ │ └── third-parties/ │ │ └── remote-http-service.yaml │ ├── pom.xml │ ├── spotbugs-exclude.xml │ └── versioning/ │ ├── README.md │ ├── full-version-worker-one/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot/ │ │ │ │ └── examples/ │ │ │ │ └── workerone/ │ │ │ │ ├── FullVersionWorkerOneApplication.java │ │ │ │ ├── RegisterV1Components.java │ │ │ │ └── WorkflowController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot/ │ │ │ └── examples/ │ │ │ └── workerone/ │ │ │ ├── DaprTestContainersConfig.java │ │ │ └── TestWorkerOneApplication.java │ │ └── resources/ │ │ └── application.properties │ ├── full-version-worker-two/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot/ │ │ │ │ └── examples/ │ │ │ │ └── workertwo/ │ │ │ │ ├── FullVersionWorkerTwoApplication.java │ │ │ │ ├── RegisterV2Components.java │ │ │ │ └── WorkflowController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot/ │ │ │ └── examples/ │ │ │ └── workertwo/ │ │ │ ├── DaprTestContainersConfig.java │ │ │ └── TestWorkerTwoApplication.java │ │ └── resources/ │ │ └── application.properties │ ├── patch-version-worker-one/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot/ │ │ │ │ └── examples/ │ │ │ │ └── workerone/ │ │ │ │ ├── PatchVersionWorkerOneApplication.java │ │ │ │ ├── RegisterComponents.java │ │ │ │ └── WorkflowController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot/ │ │ │ └── examples/ │ │ │ └── workerone/ │ │ │ ├── DaprTestContainersConfig.java │ │ │ └── TestWorkerOneApplication.java │ │ └── resources/ │ │ └── application.properties │ ├── patch-version-worker-two/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── dapr/ │ │ │ │ └── springboot/ │ │ │ │ └── examples/ │ │ │ │ └── workertwo/ │ │ │ │ ├── PatchVersionWorkerTwoApplication.java │ │ │ │ ├── RegisterPatchedComponents.java │ │ │ │ └── WorkflowController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot/ │ │ │ └── examples/ │ │ │ └── workertwo/ │ │ │ ├── DaprTestContainersConfig.java │ │ │ └── TestWorkerOneApplication.java │ │ └── resources/ │ │ └── application.properties │ ├── pom.xml │ ├── spotbugs-exclude.xml │ └── version-orchestrator/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── dapr/ │ │ │ └── springboot/ │ │ │ └── examples/ │ │ │ └── orchestrator/ │ │ │ ├── FullVersionRestController.java │ │ │ ├── PatchVersionRestController.java │ │ │ └── VersionOrchestratorApplication.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ ├── java/ │ │ └── io/ │ │ └── dapr/ │ │ └── springboot/ │ │ └── examples/ │ │ └── orchestrator/ │ │ ├── DaprTestContainersConfig.java │ │ ├── DockerImages.java │ │ └── TestOrchestratorApplication.java │ └── resources/ │ └── application.properties └── testcontainers-dapr/ ├── pom.xml └── src/ ├── main/ │ └── java/ │ └── io/ │ └── dapr/ │ └── testcontainers/ │ ├── AppHttpPipeline.java │ ├── Component.java │ ├── Configuration.java │ ├── ConfigurationSettings.java │ ├── DaprContainer.java │ ├── DaprContainerConstants.java │ ├── DaprLogLevel.java │ ├── DaprPlacementContainer.java │ ├── DaprProtocol.java │ ├── DaprSchedulerContainer.java │ ├── HttpEndpoint.java │ ├── ListEntry.java │ ├── MetadataEntry.java │ ├── OtelTracingConfigurationSettings.java │ ├── Subscription.java │ ├── TracingConfigurationSettings.java │ ├── WorkflowDashboardContainer.java │ ├── ZipkinTracingConfigurationSettings.java │ ├── converter/ │ │ ├── ComponentYamlConverter.java │ │ ├── ConfigurationYamlConverter.java │ │ ├── HttpEndpointYamlConverter.java │ │ ├── SubscriptionYamlConverter.java │ │ ├── YamlConverter.java │ │ └── YamlMapperFactory.java │ └── wait/ │ └── strategy/ │ ├── AbstractDaprWaitStrategy.java │ ├── ActorWaitStrategy.java │ ├── DaprWait.java │ ├── SubscriptionWaitStrategy.java │ └── metadata/ │ ├── Actor.java │ ├── Component.java │ ├── Metadata.java │ └── Subscription.java └── test/ ├── java/ │ └── io/ │ └── dapr/ │ └── testcontainers/ │ ├── DaprComponentTest.java │ ├── DaprContainerTest.java │ ├── DaprWorkflowDashboardTest.java │ ├── converter/ │ │ ├── ComponentYamlConverterTest.java │ │ ├── ConfigurationYamlConverterTest.java │ │ ├── HttpEndpointYamlConverterTest.java │ │ └── SubscriptionYamlConverterTest.java │ └── wait/ │ └── strategy/ │ ├── ActorWaitStrategyTest.java │ ├── DaprWaitTest.java │ ├── SubscriptionWaitStrategyTest.java │ └── metadata/ │ └── MetadataTest.java └── resources/ └── dapr-resources/ └── statestore.yaml ================================================ FILE CONTENTS ================================================ ================================================ FILE: .codecov.yaml ================================================ ignore: - examples - sdk-tests - sdk-autogen comment: # Delete old comment and post new one for new coverage information. behavior: new ================================================ FILE: .github/ISSUE_TEMPLATE/bug_report.md ================================================ --- name: Bug report about: Report a bug in java-sdk title: '' labels: kind/bug assignees: '' --- ## Expected Behavior ## Actual Behavior ## Steps to Reproduce the Problem ## Release Note RELEASE NOTE: ================================================ FILE: .github/ISSUE_TEMPLATE/discussion.md ================================================ --- name: Feature Request about: Start a discussion for java-sdk title: '' labels: kind/discussion assignees: '' --- ================================================ FILE: .github/ISSUE_TEMPLATE/feature_request.md ================================================ --- name: Feature Request about: Create a Feature Request for java-sdk title: '' labels: kind/enhancement assignees: '' --- ## Describe the feature ## Release Note RELEASE NOTE: ================================================ FILE: .github/ISSUE_TEMPLATE/proposal.md ================================================ --- name: Proposal about: Create a proposal for java-sdk title: '' labels: kind/proposal assignees: '' --- ## Describe the proposal ================================================ FILE: .github/ISSUE_TEMPLATE/question.md ================================================ --- name: Question about: Ask a question about java-sdk title: '' labels: kind/question assignees: '' --- ## Ask your question here ================================================ FILE: .github/dependabot.yml ================================================ version: 2 updates: - package-ecosystem: "maven" directory: "/" schedule: interval: "weekly" target-branch: "dependabot" - package-ecosystem: "maven" directory: "/sdk" schedule: interval: "weekly" target-branch: "dependabot" - package-ecosystem: "maven" directory: "/sdk-actors" schedule: interval: "weekly" target-branch: "dependabot" - package-ecosystem: "maven" directory: "/sdk-autogen" schedule: interval: "weekly" target-branch: "dependabot" - package-ecosystem: "maven" directory: "/sdk-springboot" schedule: interval: "weekly" target-branch: "dependabot" - package-ecosystem: "maven" directory: "/sdk-tests" schedule: interval: "weekly" target-branch: "dependabot" - package-ecosystem: "github-actions" directory: "/" schedule: interval: "weekly" ================================================ FILE: .github/holopin.yml ================================================ organization: dapr defaultSticker: clrqfdv4x24910fl5n4iwu5oa stickers: - id: clrqfdv4x24910fl5n4iwu5oa alias: sdk-badge ================================================ FILE: .github/pull_request_template.md ================================================ # Description _Please explain the changes you've made_ ## Issue reference We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation. Please reference the issue this PR will close: #_[issue number]_ ## Checklist Please make sure you've completed the relevant tasks for this PR, out of the following list: * [ ] Code compiles correctly * [ ] Created/updated tests * [ ] Extended the documentation ================================================ FILE: .github/scripts/automerge.py ================================================ # Copyright 2021 The Dapr Authors # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # This script automerges PRs import os from github import Github g = Github(os.getenv("GITHUB_TOKEN")) repo = g.get_repo(os.getenv("GITHUB_REPOSITORY")) def fetch_pulls(mergeable_state): return [pr for pr in repo.get_pulls(state='open', sort='created') \ if pr.mergeable_state == mergeable_state and 'auto-merge' in [l.name for l in pr.labels]] def is_approved(pr): approvers = [r.user.login for r in pr.get_reviews() if r.state == 'APPROVED'] return len([a for a in approvers if repo.get_collaborator_permission(a) in ['admin', 'write']]) > 0 # First, find a PR that can be merged pulls = fetch_pulls('clean') print(f"Detected {len(pulls)} open pull requests in {repo.name} to be automerged.") merged = False for pr in pulls: if is_approved(pr): # Merge only one PR per run. print(f"Merging PR {pr.html_url}") try: pr.merge(merge_method='squash') merged = True break except: print(f"Failed to merge PR {pr.html_url}") if len(pulls) > 0 and not merged: print("No PR was automerged.") # Now, update all PRs that are behind. pulls = fetch_pulls('behind') print(f"Detected {len(pulls)} open pull requests in {repo.name} to be updated.") for pr in pulls: if is_approved(pr): # Update all PRs since there is no guarantee they will all pass. print(f"Updating PR {pr.html_url}") try: pr.update_branch() except: print(f"Failed to update PR {pr.html_url}") pulls = fetch_pulls('dirty') print(f"Detected {len(pulls)} open pull requests in {repo.name} to be automerged but are in dirty state.") for pr in pulls: print(f"PR is in dirty state: {pr.html_url}") print("Done.") ================================================ FILE: .github/scripts/create-release.sh ================================================ #!/usr/bin/env bash # # Copyright 2024 The Dapr Authors # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. set -ue script_dir=$(readlink -f $(dirname $0)) current_time=$(date +"%Y-%m-%d_%H-%M-%S") # Thanks to https://ihateregex.io/expr/semver/ SEMVER_REGEX='^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$' REL_VERSION=`echo $1 | sed -r 's/^[vV]?([0-9].+)$/\1/'` if [ `echo $REL_VERSION | pcre2grep "$SEMVER_REGEX"` ]; then echo "$REL_VERSION is a valid semantic version." else echo "$REL_VERSION is not a valid semantic version." exit 1 fi MAJOR_MINOR_VERSION=`echo ${REL_VERSION}- | cut -d- -f1 | cut -d. -f1,2` MAJOR_MINOR_PATCH_VERSION=`echo ${REL_VERSION}- | cut -d- -f1 | cut -d. -f1,2,3` VARIANT=`echo ${REL_VERSION}- | cut -d- -f2` if [ "$VARIANT" = "SNAPSHOT" ]; then echo "SNAPSHOT release detected, updating version in master branch to $REL_VERSION ..." if [ "$REL_VERSION" != "${MAJOR_MINOR_PATCH_VERSION}-SNAPSHOT" ]; then echo "Invalid snapshot version: $REL_VERSION" exit 3 fi # Change is done directly in the master branch. ${script_dir}/update_sdk_version.sh $REL_VERSION git commit -s -m "Update master version to ${REL_VERSION}" -a git clean -f -d git push origin master echo "Updated master branch with version ${REL_VERSION}." exit 0 elif [ "$VARIANT" = "rc" ]; then echo "Release-candidate version detected: $REL_VERSION" RC_COUNT=`echo ${REL_VERSION}- | cut -d- -f3` if ! ((10#${RC_COUNT} >= 0)) 2>/dev/null || [ "$RC_COUNT" == "" ]; then echo "Invalid release-candidate count: $RC_COUNT" exit 3 fi if [ "$REL_VERSION" != "${MAJOR_MINOR_PATCH_VERSION}-rc-${RC_COUNT}" ]; then echo "Invalid release-candidate version: $REL_VERSION" exit 3 fi elif [ "$VARIANT" = "" ]; then echo "Release version detected: $REL_VERSION" else echo "Invalid release variant: $VARIANT" exit 3 fi echo "Passed all version format validations." RELEASE_BRANCH="release-$MAJOR_MINOR_VERSION" RELEASE_TAG="v$REL_VERSION" if [ `git rev-parse --verify origin/$RELEASE_BRANCH 2>/dev/null` ]; then echo "$RELEASE_BRANCH branch already exists, checking it out ..." git checkout $RELEASE_BRANCH else echo "$RELEASE_BRANCH does not exist, creating ..." git checkout -b $RELEASE_BRANCH git push origin $RELEASE_BRANCH fi echo "$RELEASE_BRANCH branch is ready." if [ `git rev-parse --verify $RELEASE_TAG 2>/dev/null` ]; then echo "$RELEASE_TAG tag already exists, checking it out ..." git checkout $RELEASE_TAG else ${script_dir}/update_sdk_version.sh $REL_VERSION git commit -s -m "Release $REL_VERSION" -a if [ "$VARIANT" = "" ]; then echo "Generating docs ..." ${script_dir}/update_docs.sh $REL_VERSION git commit -s -m "Generate updated javadocs for $REL_VERSION" -a fi git push origin $RELEASE_BRANCH echo "Tagging $RELEASE_TAG ..." git tag $RELEASE_TAG echo "$RELEASE_TAG is tagged." echo "Pushing $RELEASE_TAG tag ..." git push origin $RELEASE_TAG echo "$RELEASE_TAG tag is pushed." fi if [ "$VARIANT" = "" ]; then git clean -xdf echo "Updating docs in master branch ..." git checkout master git fetch origin git reset --hard origin/master git cherry-pick --strategy=recursive -X theirs $RELEASE_TAG git push origin master echo "Updated docs in master branch." fi echo "Done." ================================================ FILE: .github/scripts/update_docs.sh ================================================ #!/bin/bash set -uex DAPR_JAVA_SDK_VERSION=$1 # Alpha artifacts of the sdk tracks the regular SDK minor and patch versions, just not the major. # Replaces the SDK major version to 0 for alpha artifacts. DAPR_JAVA_SDK_ALPHA_VERSION=`echo $DAPR_JAVA_SDK_VERSION | sed 's/^[0-9]*\./0./'` if [[ "$OSTYPE" == "darwin"* ]]; then sed -i bak "s/.*<\/version>\$/${DAPR_JAVA_SDK_VERSION}<\/version>/g" README.md sed -i bak "s/compile('io.dapr:\(.*\):.*')/compile('io.dapr:\\1:${DAPR_JAVA_SDK_VERSION}')/g" README.md rm README.mdbak else sed -i "s/.*<\/version>\$/${DAPR_JAVA_SDK_VERSION}<\/version>/g" README.md sed -i "s/compile('io.dapr:\(.*\):.*')/compile('io.dapr:\\1:${DAPR_JAVA_SDK_VERSION}')/g" README.md fi rm -rf docs ./mvnw -Dmaven.test.skip=true -Djacoco.skip=true clean install ./mvnw -Dmaven.test.skip=true -Djacoco.skip=true site-deploy ================================================ FILE: .github/scripts/update_sdk_version.sh ================================================ #!/bin/bash set -uex DAPR_JAVA_SDK_VERSION=$1 # Alpha artifacts of the sdk tracks the regular SDK minor and patch versions, just not the major. # Replaces the SDK major version to 0 for alpha artifacts. DAPR_JAVA_SDK_ALPHA_VERSION=`echo $DAPR_JAVA_SDK_VERSION | sed 's/^[0-9]*\./0./'` mvn versions:set -DnewVersion=$DAPR_JAVA_SDK_VERSION -DprocessDependencies=true mvn versions:set-property -Dproperty=dapr.sdk.alpha.version -DnewVersion=$DAPR_JAVA_SDK_ALPHA_VERSION mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION -f sdk-tests/pom.xml # BOMs are standalone (no parent), so versions:set skips them — update explicitly. mvn versions:set -DnewVersion=$DAPR_JAVA_SDK_VERSION -f sdk-bom/pom.xml mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION -f sdk-bom/pom.xml mvn versions:set -DnewVersion=$DAPR_JAVA_SDK_VERSION -f dapr-spring/dapr-spring-bom/pom.xml mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION -f dapr-spring/dapr-spring-bom/pom.xml mvn versions:set-property -Dproperty=dapr.sdk.alpha.version -DnewVersion=$DAPR_JAVA_SDK_ALPHA_VERSION -f sdk-tests/pom.xml git clean -f ================================================ FILE: .github/workflows/automerge-bot.yml ================================================ # Copyright 2021 The Dapr Authors # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: dapr-java-sdk-automerge-bot on: schedule: - cron: '*/30 * * * *' workflow_dispatch: jobs: automerge: if: github.repository_owner == 'dapr' name: Automerge and update PRs. runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v5 - name: Install dependencies run: pip install PyGithub - name: Automerge and update env: GITHUB_TOKEN: ${{ secrets.DAPR_BOT_TOKEN }} run: python ./.github/scripts/automerge.py ================================================ FILE: .github/workflows/backport.yaml ================================================ # # Copyright 2026 The Dapr Authors # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # name: Backport on: pull_request_target: types: - closed - labeled jobs: backport: name: Backport runs-on: ubuntu-latest if: > github.event.pull_request.merged && ( github.event.action == 'closed' || ( github.event.action == 'labeled' && contains(github.event.label.name, 'backport') ) ) steps: - uses: tibdex/backport@9565281eda0731b1d20c4025c43339fb0a23812e with: github_token: ${{ secrets.DAPR_BOT_TOKEN }} ================================================ FILE: .github/workflows/build.yml ================================================ name: Build on: workflow_dispatch: push: branches: - master - release-* tags: - v* pull_request: branches: - master - release-* jobs: test: name: "Unit tests" runs-on: ubuntu-latest timeout-minutes: 30 continue-on-error: false env: JDK_VER: 17 steps: - uses: actions/checkout@v5 - name: Set up OpenJDK ${{ env.JDK_VER }} uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ env.JDK_VER }} - name: Run tests run: ./mvnw clean install -B -q -DskipITs=true - name: Codecov uses: codecov/codecov-action@v6.0.0 with: token: ${{ secrets.CODECOV_TOKEN }} - name: Upload test report for sdk uses: actions/upload-artifact@v7 with: name: test-dapr-java-sdk-jdk${{ env.JDK_VER }} path: sdk/target/jacoco-report/ - name: Upload test report for sdk-actors uses: actions/upload-artifact@v7 with: name: report-dapr-java-sdk-actors-jdk${{ env.JDK_VER }} path: sdk-actors/target/jacoco-report/ build-durabletask: name: "Durable Task build & tests" runs-on: ubuntu-latest timeout-minutes: 30 continue-on-error: false env: JDK_VER: 17 steps: - uses: actions/checkout@v5 - name: Set up OpenJDK ${{ env.JDK_VER }} uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ env.JDK_VER }} - name: Checkout Durable Task Sidecar uses: actions/checkout@v4 with: repository: dapr/durabletask-go path: durabletask-sidecar # TODO: Move the sidecar into a central image repository - name: Initialize Durable Task Sidecar run: docker run -d --name durabletask-sidecar -p 4001:4001 --rm -i $(docker build -q ./durabletask-sidecar) - name: Display Durable Task Sidecar Logs run: nohup docker logs --since=0 durabletask-sidecar > durabletask-sidecar.log 2>&1 & # wait for 10 seconds, so sidecar container can be fully up, this will avoid intermittent failing issues for integration tests causing by failed to connect to sidecar - name: Wait for 10 seconds run: sleep 10 - name: Integration Tests For Durable Tasks run: ./mvnw -B -pl durabletask-client -Pintegration-tests dependency:copy-dependencies verify || echo "TEST_FAILED=true" >> $GITHUB_ENV continue-on-error: true - name: Kill Durable Task Sidecar run: docker kill durabletask-sidecar - name: Upload Durable Task Sidecar Logs uses: actions/upload-artifact@v7 with: name: Durable Task Sidecar Logs path: durabletask-sidecar.log - name: Fail the job if tests failed if: env.TEST_FAILED == 'true' run: exit 1 build: name: "Build jdk:${{ matrix.java }} sb:${{ matrix.spring-boot-display-version }} exp:${{ matrix.experimental }}" runs-on: ubuntu-latest timeout-minutes: 45 continue-on-error: ${{ matrix.experimental }} strategy: fail-fast: false matrix: java: [ 17 ] spring-boot-version: [ 3.5.4 ] spring-boot-display-version: [ 3.5.x ] experimental: [ false ] include: - java: 17 spring-boot-version: 4.0.2 spring-boot-display-version: 4.0.x experimental: false env: GOVER: "1.20" GOOS: linux GOARCH: amd64 GOPROXY: https://proxy.golang.org JDK_VER: ${{ matrix.java }} DAPR_CLI_VER: 1.17.0 DAPR_RUNTIME_VER: 1.17.0 DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.17.0/install/install.sh DAPR_CLI_REF: DAPR_REF: TOXIPROXY_URL: https://github.com/Shopify/toxiproxy/releases/download/v2.5.0/toxiproxy-server-linux-amd64 steps: - uses: actions/checkout@v5 - name: Check Docker version run: docker version - name: Set up OpenJDK ${{ env.JDK_VER }} uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: ${{ env.JDK_VER }} - name: Set up Dapr CLI run: wget -q ${{ env.DAPR_INSTALL_URL }} -O - | /bin/bash -s ${{ env.DAPR_CLI_VER }} - name: Set up Go ${{ env.GOVER }} if: env.DAPR_REF != '' || env.DAPR_CLI_REF != '' uses: actions/setup-go@v6 with: go-version: ${{ env.GOVER }} - name: Checkout Dapr CLI repo to override dapr command. uses: actions/checkout@v5 if: env.DAPR_CLI_REF != '' with: repository: dapr/cli ref: ${{ env.DAPR_CLI_REF }} path: cli - name: Checkout Dapr repo to override daprd. uses: actions/checkout@v5 if: env.DAPR_REF != '' with: repository: dapr/dapr ref: ${{ env.DAPR_REF }} path: dapr - name: Build and override dapr cli with referenced commit. if: env.DAPR_CLI_REF != '' run: | cd cli make sudo cp dist/linux_amd64/release/dapr /usr/local/bin/dapr cd .. - name: Uninstall Dapr runtime ${{ env.DAPR_RUNTIME_VER }} run: dapr uninstall --all - name: Ensure Dapr runtime uninstalled run: | while [ "$(docker ps -aq --filter 'name=^/dapr')" ]; do echo "Waiting for Dapr containers to be deleted..." sleep 5 done echo "All dapr containers are deleted." - name: Initialize Dapr runtime ${{ env.DAPR_RUNTIME_VER }} run: dapr init --runtime-version ${{ env.DAPR_RUNTIME_VER }} - name: Build and override daprd with referenced commit. if: env.DAPR_REF != '' run: | cd dapr make mkdir -p $HOME/.dapr/bin/ cp dist/linux_amd64/release/daprd $HOME/.dapr/bin/daprd cd .. - name: Override placement service. if: env.DAPR_REF != '' run: | docker stop dapr_placement cd dapr ./dist/linux_amd64/release/placement & - name: Spin local environment run: | docker compose -f ./sdk-tests/deploy/local-test.yml up -d mongo kafka docker ps - name: Install local ToxiProxy to simulate connectivity issues to Dapr sidecar run: | mkdir -p /home/runner/.local/bin wget -q ${{ env.TOXIPROXY_URL }} -O /home/runner/.local/bin/toxiproxy-server chmod +x /home/runner/.local/bin/toxiproxy-server /home/runner/.local/bin/toxiproxy-server --version - name: Clean up and install sdk run: ./mvnw clean install -B -q -DskipTests - name: Integration tests using spring boot 3.x version ${{ matrix.spring-boot-version }} id: integration_tests if: ${{ matrix.spring-boot-display-version == '3.5.x' }} run: PRODUCT_SPRING_BOOT_VERSION=${{ matrix.spring-boot-version }} ./mvnw -B -pl !durabletask-client -Pintegration-tests dependency:copy-dependencies verify - name: Integration tests using spring boot 4.x version ${{ matrix.spring-boot-version }} id: integration_sb4_tests if: ${{ matrix.spring-boot-display-version == '4.0.x' }} run: PRODUCT_SPRING_BOOT_VERSION=${{ matrix.spring-boot-version }} ./mvnw -B -pl !durabletask-client -Pintegration-sb4-tests dependency:copy-dependencies verify - name: Upload failsafe test report for sdk-tests on failure if: ${{ failure() && steps.integration_tests.conclusion == 'failure' }} uses: actions/upload-artifact@v7 with: name: failsafe-report-sdk-tests-jdk${{ matrix.java }}-sb${{ matrix.spring-boot-version }} path: sdk-tests/target/failsafe-reports - name: Upload failsafe test report for sb4 sdk-tests on failure if: ${{ failure() && steps.integration_sb4_tests.conclusion == 'failure' }} uses: actions/upload-artifact@v7 with: name: failsafe-report-sdk-tests-jdk${{ matrix.java }}-sb${{ matrix.spring-boot-version }} path: spring-boot-4-sdk-tests/target/failsafe-reports - name: Upload surefire test report for sdk-tests on failure if: ${{ failure() && steps.integration_tests.conclusion == 'failure' }} uses: actions/upload-artifact@v7 with: name: surefire-report-sdk-tests-jdk${{ matrix.java }}-sb${{ matrix.spring-boot-version }} path: sdk-tests/target/surefire-reports - name: Upload surefire test report for sdk-tests on failure if: ${{ failure() && steps.integration_sb4_tests.conclusion == 'failure' }} uses: actions/upload-artifact@v7 with: name: surefire-report-sdk-tests-jdk${{ matrix.java }}-sb${{ matrix.spring-boot-version }} path: spring-boot-4-sdk-tests/target/surefire-reports publish: runs-on: ubuntu-latest needs: [ build, test, build-durabletask ] timeout-minutes: 30 env: JDK_VER: 17 OSSRH_USER_TOKEN: ${{ secrets.OSSRH_USER_TOKEN }} OSSRH_PWD_TOKEN: ${{ secrets.OSSRH_PWD_TOKEN }} GPG_KEY: ${{ secrets.GPG_KEY }} GPG_PWD: ${{ secrets.GPG_PWD }} steps: - uses: actions/checkout@v5 - name: Set up OpenJDK ${{ env.JDK_VER }} uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: ${{ env.JDK_VER }} - name: Get pom parent version run: | PARENT_VERSION=$(./mvnw -B -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec) echo "PARENT_VERSION=$PARENT_VERSION" >> $GITHUB_ENV - name: Is SNAPSHOT release ? if: contains(github.ref, 'master') && contains(env.PARENT_VERSION, '-SNAPSHOT') run: | echo "DEPLOY_OSSRH=true" >> $GITHUB_ENV - name: Is Release or RC version ? if: startswith(github.ref, 'refs/tags/v') && !contains(env.PARENT_VERSION, '-SNAPSHOT') run: | echo "DEPLOY_OSSRH=true" >> $GITHUB_ENV - name: Publish to ossrh if: env.DEPLOY_OSSRH == 'true' run: | echo ${{ secrets.GPG_PRIVATE_KEY }} | base64 -d > private-key.gpg export GPG_TTY=$(tty) gpg --batch --import private-key.gpg ./mvnw -V -B -Dgpg.skip=false -DskipTests -s settings.xml deploy curl -X POST https://ossrh-staging-api.central.sonatype.com/manual/upload/defaultRepository/io.dapr ================================================ FILE: .github/workflows/create-release.yml ================================================ # # Copyright 2024 The Dapr Authors # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # name: Create a release on: workflow_dispatch: inputs: rel_version: description: 'Release version (examples: 1.9.0-rc-1, 1.9.1, 1.11.0-SNAPSHOT)' required: true type: string jobs: create-release: name: Creates release branch and tag runs-on: ubuntu-latest env: JDK_VER: '17' steps: - name: Check out code uses: actions/checkout@v5 with: fetch-depth: 0 token: ${{ secrets.DAPR_BOT_TOKEN }} persist-credentials: false - name: Set up OpenJDK ${{ env.JDK_VER }} uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: ${{ env.JDK_VER }} - name: Install required packages run: | sudo apt-get update sudo apt-get install pcre2-utils - name: Create release branch and tag env: GITHUB_TOKEN: ${{ secrets.DAPR_BOT_TOKEN }} run: | git config user.email "daprweb@microsoft.com" git config user.name "Dapr Bot" # Update origin with token git remote set-url origin https://x-access-token:${{ secrets.DAPR_BOT_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git # Copy first to allow automation to use the latest version and not the release branch's version. cp -R ./.github/scripts ${RUNNER_TEMP}/ ${RUNNER_TEMP}/scripts/create-release.sh ${{ inputs.rel_version }} - name: Create GitHub Release with auto-generated notes if: ${{ !endsWith(inputs.rel_version, '-SNAPSHOT') && !contains(inputs.rel_version, '-rc-') }} env: GITHUB_TOKEN: ${{ secrets.DAPR_BOT_TOKEN }} REL_VERSION: ${{ inputs.rel_version }} run: | # Normalize release version by stripping an optional leading 'v' REL_VERSION="${REL_VERSION#v}" TAG="v${REL_VERSION}" if gh release view "${TAG}" >/dev/null 2>&1; then echo "Release ${TAG} already exists, skipping creation." else gh release create "${TAG}" --generate-notes fi ================================================ FILE: .github/workflows/dapr_bot.yml ================================================ name: dapr-bot on: issue_comment: {types: created} jobs: daprbot: name: bot-processor runs-on: ubuntu-latest steps: - name: Comment analyzer uses: actions/github-script@v9 with: github-token: ${{secrets.DAPR_BOT_TOKEN}} script: | const payload = context.payload; const issue = context.issue; const isFromPulls = !!payload.issue.pull_request; const commentBody = payload.comment.body; if (!isFromPulls && commentBody && commentBody.indexOf("/assign") == 0) { if (!issue.assignees || issue.assignees.length === 0) { // See https://github.com/actions/github-script#breaking-changes-in-v5 await github.rest.issues.addAssignees({ owner: issue.owner, repo: issue.repo, issue_number: issue.number, assignees: [context.actor], }) } return; } ================================================ FILE: .github/workflows/fossa.yml ================================================ # # Copyright 2021 The Dapr Authors # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # name: fossa on: push: branches: - master - release-* tags: - v* pull_request: branches: - master - release-* workflow_dispatch: {} jobs: fossa-scan: if: github.repository_owner == 'dapr' # FOSSA is not intended to run on forks. runs-on: ubuntu-latest env: FOSSA_API_KEY: b88e1f4287c3108c8751bf106fb46db6 # This is a push-only token that is safe to be exposed. steps: - name: "Checkout code" uses: actions/checkout@v5 - name: "Run FOSSA Scan" uses: fossas/fossa-action@v1.9.0 # Use a specific version if locking is preferred with: api-key: ${{ env.FOSSA_API_KEY }} - name: "Run FOSSA Test" uses: fossas/fossa-action@v1.9.0 # Use a specific version if locking is preferred with: api-key: ${{ env.FOSSA_API_KEY }} run-tests: true ================================================ FILE: .github/workflows/validate-docs.yml ================================================ name: Validate Javadocs Generation on: workflow_dispatch: push: branches: - master - release-* tags: - v* pull_request: branches: - master - release-* jobs: build: name: "Validate Javadocs generation" runs-on: linux-arm64-latest-4-cores timeout-minutes: 30 env: JDK_VER: 17 steps: - uses: actions/checkout@v5 - name: Set up OpenJDK ${{ env.JDK_VER }} uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: ${{ env.JDK_VER }} - name: Install jars run: ./mvnw install -q -B -DskipTests - name: Validate Java docs generation run: ./mvnw site-deploy ================================================ FILE: .github/workflows/validate.yml ================================================ # Copyright 2021 The Dapr Authors # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: Auto Validate Examples on: workflow_dispatch: push: branches: - master - release-* tags: - v* pull_request: branches: - master - release-* jobs: validate: runs-on: ubuntu-latest strategy: fail-fast: false # Keep running if one leg fails. matrix: java: [ 17 ] env: GOVER: "1.20" GOOS: linux GOARCH: amd64 GOPROXY: https://proxy.golang.org JDK_VER: ${{ matrix.java }} DAPR_CLI_VER: 1.17.0 DAPR_RUNTIME_VER: 1.17.0 DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.17.0/install/install.sh DAPR_CLI_REF: DAPR_REF: steps: - uses: actions/checkout@v5 - name: Set up OpenJDK ${{ env.JDK_VER }} uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: ${{ env.JDK_VER }} - name: Check Docker version run: docker version - name: Set up Dapr CLI run: wget -q ${{ env.DAPR_INSTALL_URL }} -O - | /bin/bash -s ${{ env.DAPR_CLI_VER }} - name: Set up Go ${{ env.GOVER }} if: env.DAPR_REF != '' || env.DAPR_CLI_REF != '' uses: actions/setup-go@v6 with: go-version: ${{ env.GOVER }} - name: Checkout Dapr CLI repo to override dapr command. uses: actions/checkout@v5 if: env.DAPR_CLI_REF != '' with: repository: dapr/cli ref: ${{ env.DAPR_CLI_REF }} path: cli - name: Checkout Dapr repo to override daprd. uses: actions/checkout@v5 if: env.DAPR_REF != '' with: repository: dapr/dapr ref: ${{ env.DAPR_REF }} path: dapr - name: Build and override dapr cli with referenced commit. if: env.DAPR_CLI_REF != '' run: | cd cli make sudo cp dist/linux_amd64/release/dapr /usr/local/bin/dapr cd .. - name: Uninstall Dapr runtime ${{ env.DAPR_RUNTIME_VER }} run: dapr uninstall --all - name: Ensure Dapr runtime uninstalled run: | while [ "$(docker ps -aq --filter 'name=^/dapr')" ]; do echo "Waiting for Dapr containers to be deleted..." sleep 5 done echo "All dapr containers are deleted." - name: Initialize Dapr runtime ${{ env.DAPR_RUNTIME_VER }} run: dapr init --runtime-version ${{ env.DAPR_RUNTIME_VER }} - name: Build and override daprd with referenced commit. if: env.DAPR_REF != '' run: | cd dapr make mkdir -p $HOME/.dapr/bin/ cp dist/linux_amd64/release/daprd $HOME/.dapr/bin/daprd cd .. - name: Override placement service. if: env.DAPR_REF != '' run: | docker stop dapr_placement cd dapr ./dist/linux_amd64/release/placement & - name: Install utilities dependencies run: | echo "PATH=$PATH:$HOME/.local/bin" >> $GITHUB_ENV pip3 install setuptools wheel pip3 install mechanical-markdown - name: Verify scheduler is listening on port. run: sleep 30 && docker logs dapr_scheduler && nc -vz localhost 50006 - name: Install jars run: ./mvnw clean install -DskipTests -q - name: Validate crypto example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/crypto/README.md - name: Validate workflows example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/workflows/README.md - name: Validate Spring Boot examples working-directory: ./spring-boot-examples run: | mm.py README.md - name: Validate Spring Boot Workflow Patterns examples working-directory: ./spring-boot-examples/workflows/patterns run: | mm.py README.md - name: Validate Jobs example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/jobs/README.md - name: Validate conversation ai example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/conversation/README.md - name: Validate invoke http example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/invoke/http/README.md - name: Validate invoke grpc example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/invoke/grpc/README.md - name: Validate tracing example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/tracing/README.md - name: Validate expection handling example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/exception/README.md - name: Validate state example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/state/README.md - name: Validate pubsub example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/pubsub/README.md - name: Validate bindings HTTP example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/bindings/http/README.md - name: Validate secrets example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/secrets/README.md - name: Validate unit testing example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/unittesting/README.md - name: Validate Configuration API example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/configuration/README.md - name: Validate actors example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/actors/README.md - name: Validate query state HTTP example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/querystate/README.md - name: Validate streaming subscription example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/pubsub/stream/README.md ================================================ FILE: .gitignore ================================================ # IDE generated files and directories *.iml .idea/ .run/ .vs/ .vscode/ .devcontainer/ # Output folders **/target/ # Compiled class file *.class # Proto meta *.pb.meta # Log file *.log /syslog.txt # BlueJ files *.ctxt # Mobile Tools for Java (J2ME) .mtj.tmp/ # Package Files # *.jar *.war *.nar *.ear *.zip *.tar.gz *.rar # Eclipse .classpath .project .settings # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* # Some other generated folders/files /docs/dapr-sdk-actors /docs/dapr-sdk-autogen /docs/dapr-sdk /proto/dapr /proto/daprclient # macOS .DS_Store ================================================ FILE: .gitmodules ================================================ ================================================ FILE: .java_header ================================================ ^/\*$ ^ \* Copyright \d\d\d\d The Dapr Authors$ ^ \* Licensed under the Apache License, Version 2.0 \(the "License"\)\;$ ^ \* you may not use this file except in compliance with the License\.$ ^ \* You may obtain a copy of the License at$ ^ \* http://www.apache.org/licenses/LICENSE-2\.0$ ^ \* Unless required by applicable law or agreed to in writing, software$ ^ \* distributed under the License is distributed on an "AS IS" BASIS,$ ^ \* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\.$ ^ \* See the License for the specific language governing permissions and$ ^limitations under the License\.$ ^\*/$ ================================================ FILE: .mvn/wrapper/maven-wrapper.properties ================================================ # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. wrapperVersion=3.3.2 distributionType=script distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.5/apache-maven-3.8.5-bin.zip wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar ================================================ FILE: .sdkmanrc ================================================ # Enable auto-env through the sdkman_auto_env config # Add key=value pairs of SDKs to use below java=17.0.11-tem maven=3.8.5 ================================================ FILE: CODEOWNERS ================================================ # These owners are the maintainers and approvers of this repo * @dapr/maintainers-java-sdk @dapr/approvers-java-sdk ================================================ FILE: CONTRIBUTING.md ================================================ # Contribution Guidelines Thank you for your interest in Dapr! This project welcomes contributions and suggestions. Most contributions require you to signoff on your commits via the Developer Certificate of Origin (DCO). When you submit a pull request, a DCO-bot will automatically determine whether you need to provide signoff for your commit. Please follow the instructions provided by DCO-bot, as pull requests cannot be merged until the author(s) have provided signoff to fulfill the DCO requirement. You may find more information on the DCO requirements [below](#developer-certificate-of-origin-signing-your-work). This project has adopted the [Contributor Covenant Code of Conduct](https://github.com/dapr/community/blob/master/CODE-OF-CONDUCT.md). Contributions come in many forms: submitting issues, writing code, participating in discussions and community calls. To learn more about becoming a contributor and the different roles within the Dapr community (Contributor, Approver, Maintainer), please refer to our [Community Membership](https://github.com/dapr/community/blob/master/community-membership.md) documentation. This document provides the guidelines for how to contribute to the Dapr project. ## Issues This section describes the guidelines for submitting issues ### Issue Types There are 4 types of issues: - Issue/Bug: You've found a bug with the code, and want to report it, or create an issue to track the bug. - Issue/Discussion: You have something on your mind, which requires input form others in a discussion, before it eventually manifests as a proposal. - Issue/Proposal: Used for items that propose a new idea or functionality. This allows feedback from others before code is written. - Issue/Question: Use this issue type, if you need help or have a question. ### Before You File Before you file an issue, make sure you've checked the following: 1. Is it the right repository? - The Dapr project is distributed across multiple repositories. Check the list of [repositories](https://github.com/dapr) if you aren't sure which repo is the correct one. 1. Check for existing issues - Before you create a new issue, please do a search in [open issues](https://github.com/dapr/java-sdk/issues) to see if the issue or feature request has already been filed. - If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reaction-to-pull-requests-issues-and-comments). Use a reaction: - 👍 up-vote - 👎 down-vote 1. For bugs - Check it's not an environment issue. For example, if running on Kubernetes, make sure prerequisites are in place. (state stores, bindings, etc.) - You have as much data as possible. This usually comes in the form of logs and/or stacktrace. If running on Kubernetes or other environment, look at the logs of the Dapr services (runtime, operator, placement service). More details on how to get logs can be found [here](https://docs.dapr.io/operations/troubleshooting/logs-troubleshooting/). 1. For proposals - Many changes to the Dapr runtime may require changes to the API. In that case, the best place to discuss the potential feature is the main [Dapr repo](https://github.com/dapr/dapr). - Other examples could include bindings, state stores or entirely new components. ## Contributing to Dapr This section describes the guidelines for contributing code / docs to Dapr. ### Things to consider when adding new API to SDK 1. All the new API's go under [dapr-sdk maven package](https://github.com/dapr/java-sdk/tree/master/sdk) 2. Make sure there is an example talking about how to use the API along with a README with mechanical markdown. [Example](https://github.com/dapr/java-sdk/pull/1235/files#diff-69ed756c4c01fd5fa884aac030dccb8f3f4d4fefa0dc330862d55a6f87b34a14) #### Mechanical Markdown Mechanical markdown is used to validate example outputs in our CI pipeline. It ensures that the expected output in README files matches the actual output when running the examples. This helps maintain example output, catches any unintended changes in example behavior, and regressions. To test mechanical markdown locally: 1. Install the package: ```bash pip3 install mechanical-markdown ``` 2. Run the test from the respective examples README directory, for example: ```bash cd examples mm.py ./src/main/java/io/dapr/examples/workflows/README.md ``` The test will: - Parse the STEP markers in the README - Execute the commands specified in the markers - Compare the actual output with the expected output - Report any mismatches When writing STEP markers: - Use `output_match_mode: substring` for flexible matching - Quote strings containing special YAML characters (like `:`, `*`, `'`) - Set appropriate timeouts for long-running examples Example STEP marker: ```yaml ``` ### Pull Requests All contributions come through pull requests. To submit a proposed change, we recommend following this workflow: 1. Make sure there's an issue (bug or proposal) raised, which sets the expectations for the contribution you are about to make. 2. Fork the relevant repo and create a new branch 3. Create your change - Code changes require tests 4. Update relevant documentation for the change 5. Check the code style 6. Commit and open a PR 7. Wait for the CI process to finish and make sure all checks are green 8. A maintainer of the project will be assigned, and you can expect a review within a few days 9. All the files have the Copyright header. ### Configure the code style with checkstyle The project contains a checkstyle file (`checkstyle.xml`) that must be used for formatting the code. * IntelliJ IDEA You can use [CheckStyle-IDEA plugin](https://plugins.jetbrains.com/plugin/1065-checkstyle-idea). * VSCode You can use [Checkstyle for Java](https://marketplace.visualstudio.com/items?itemName=shengchen.vscode-checkstyle). * Eclipse You can use [Eclipse Checkstyle Plugin](https://checkstyle.org/eclipse-cs/#!/) #### Use work-in-progress PRs for early feedback A good way to communicate before investing too much time is to create a "Work-in-progress" PR and share it with your reviewers. The standard way of doing this is to add a "[WIP]" prefix in your PR's title and assign the **do-not-merge** label. This will let people looking at your PR know that it is not well baked yet. ### Developer Certificate of Origin: Signing your work #### Every commit needs to be signed The Developer Certificate of Origin (DCO) is a lightweight way for contributors to certify that they wrote or otherwise have the right to submit the code they are contributing to the project. Here is the full text of the [DCO](https://developercertificate.org/), reformatted for readability: ``` By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. ``` Contributors sign-off that they adhere to these requirements by adding a `Signed-off-by` line to commit messages. ``` This is my commit message Signed-off-by: Random J Developer ``` Git even has a `-s` command line option to append this automatically to your commit message: ``` $ git commit -s -m 'This is my commit message' ``` Each Pull Request is checked whether or not commits in a Pull Request do contain a valid Signed-off-by line. #### I didn't sign my commit, now what?! No worries - You can easily replay your changes, sign them and force push them! ``` git checkout git commit --amend --no-edit --signoff git push --force-with-lease ``` ### Use of Third-party code - All third-party code must be placed in the `vendor/` folder. - `vendor/` folder is managed by Go modules and stores the source code of third-party Go dependencies. - The `vendor/` folder should not be modified manually. - Third-party code must include licenses. A non-exclusive list of code that must be places in `vendor/`: - Open source, free software, or commercially-licensed code. - Tools or libraries or protocols that are open source, free software, or commercially licensed. **Thank You!** - Your contributions to open source, large or small, make projects like this possible. Thank you for taking the time to contribute. ## Github Dapr Bot Commands Checkout the [daprbot documentation](https://docs.dapr.io/contributing/daprbot/) for Github commands you can run in this repo for common tasks. For example, you can run the `/assign` (as a comment on an issue) to assign the issue to yourself. ## Code of Conduct This project has adopted the [Contributor Covenant Code of Conduct](https://github.com/dapr/community/blob/master/CODE-OF-CONDUCT.md) ================================================ FILE: LICENSE ================================================ Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 2021 The Dapr Authors. and others that have contributed code to the public domain. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: README.md ================================================ # Dapr SDK for Java [![Maven Central](https://img.shields.io/maven-central/v/io.dapr/dapr-sdk.svg?label=Maven%20Central&style=flat)](https://central.sonatype.com/artifact/io.dapr/dapr-sdk) [![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/dapr/java-sdk/.github%2Fworkflows%2Fbuild.yml?branch=master&label=Build&logo=github)](https://github.com/dapr/java-sdk/actions/workflows/build.yml) [![codecov](https://codecov.io/gh/dapr/java-sdk/branch/master/graph/badge.svg)](https://codecov.io/gh/dapr/java-sdk) [![GitHub License](https://img.shields.io/github/license/dapr/java-sdk?style=flat&label=License&logo=github)](https://github.com/dapr/java-sdk/blob/master/LICENSE) [![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fdapr%2Fjava-sdk.svg?type=shield)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fdapr%2Fjava-sdk?ref=badge_shield) [![GitHub issue custom search in repo](https://img.shields.io/github/issues-search/dapr/java-sdk?query=type%3Aissue%20is%3Aopen%20label%3A%22good%20first%20issue%22&label=Good%20first%20issues&style=flat&logo=github)](https://github.com/dapr/java-sdk/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) [![Discord](https://img.shields.io/discord/778680217417809931?label=Discord&style=flat&logo=discord)](http://bit.ly/dapr-discord) [![YouTube Channel Views](https://img.shields.io/youtube/channel/views/UCtpSQ9BLB_3EXdWAUQYwnRA?style=flat&label=YouTube%20views&logo=youtube)](https://youtube.com/@daprdev) [![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/daprdev?logo=x&style=flat)](https://twitter.com/daprdev) This is the Dapr SDK for Java, including the following features: * PubSub * Service Invocation * Binding * State Store * Actors * Workflows ## Getting Started ### Architecture Overview The diagram below shows how a Java application interacts with the Dapr runtime through the Java SDK: ```mermaid flowchart LR A[End User Application] -->|HTTP or gRPC| B[Dapr Java SDK] B -->|Dapr API calls| C[Dapr Sidecar] C -->|Components| D[State Stores, Pub/Sub, Services, etc.] %% Optional grouping for clarity subgraph R[Dapr Runtime] C D end ``` For the full list of available APIs, see the [Dapr API reference](https://docs.dapr.io/reference/api/) ### Pre-Requisites * SDKMAN! installed (recommended): * [SDKMAN!](https://sdkman.io) * Java IDE installed: * [IntelliJ](https://www.jetbrains.com/idea/download/) * [Eclipse](https://www.eclipse.org/downloads/) * [Apache NetBeans](https://netbeans.apache.org/download/index.html) * [Visual Studio Code](https://code.visualstudio.com/Download) * Any other IDE for Java that you prefer. * Install one of the following build tools for Java: * [Maven 3.x](https://maven.apache.org/install.html) * [Gradle 6.x](https://gradle.org/install/) * If needed, install the corresponding plugin for the build tool in your IDE, for example: * [Maven in IntelliJ](https://www.jetbrains.com/help/idea/maven.html) * [Gradle in IntelliJ](https://www.jetbrains.com/help/idea/gradle-settings.html) * [Maven in Eclipse with m2e](https://projects.eclipse.org/projects/technology.m2e) * [Gradle in Eclipse with Buildship](https://projects.eclipse.org/projects/tools.buildship) * An existing Java Maven or Gradle project. You may also start a new project via one of the options below: * [New Maven project in IntelliJ](https://www.jetbrains.com/help/idea/maven-support.html#create_new_maven_project) * [Maven in 5 minutes](https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html) * [Install toxiproxy-server binary](https://github.com/Shopify/toxiproxy/releases) ### Install JDK If using [SDKMAN!](https://sdkman.io), execute `sdk env install` to install the required JDK. ### Importing Dapr's Java SDK #### Using a BOM (recommended) Two BOMs are published: - **`io.dapr:dapr-sdk-bom`** — core SDK modules (`dapr-sdk`, `dapr-sdk-actors`, `dapr-sdk-workflows`, `dapr-sdk-autogen`, `durabletask-client`, `testcontainers-dapr`) plus security-patched transitive dependencies (Netty, Jackson, commons-compress, commons-codec). - **`io.dapr.spring:dapr-spring-bom`** — Spring-specific modules (`dapr-sdk-springboot`, `dapr-spring-*`). Imports `dapr-sdk-bom` transitively, so Spring users only need this single BOM. Pick the one that matches your project. Importing a BOM ensures you inherit security fixes for transitive dependencies like the Netty CVEs. ##### Core (non-Spring) projects For Maven: ```xml ... io.dapr dapr-sdk-bom 1.18.0 pom import io.dapr dapr-sdk io.dapr dapr-sdk-actors ... ``` For Gradle: ```groovy dependencies { implementation platform('io.dapr:dapr-sdk-bom:1.18.0') // Dapr's core SDK with all features, except Actors. implementation 'io.dapr:dapr-sdk' // Dapr's SDK for Actors (optional). implementation 'io.dapr:dapr-sdk-actors' } ``` ##### Spring Boot projects For Maven: ```xml ... io.dapr.spring dapr-spring-bom 1.18.0 pom import io.dapr dapr-sdk-springboot io.dapr.spring dapr-spring-boot-starter ... ``` For Gradle: ```groovy dependencies { implementation platform('io.dapr.spring:dapr-spring-bom:1.18.0') // Dapr's SDK integration with Spring Boot. implementation 'io.dapr:dapr-sdk-springboot' // Optional Spring Boot starter. implementation 'io.dapr.spring:dapr-spring-boot-starter' } ``` #### Without the BOM If you prefer to manage versions manually, specify the version on each dependency: For Maven: ```xml ... io.dapr dapr-sdk 1.17.2 io.dapr dapr-sdk-actors 1.17.2 io.dapr dapr-sdk-springboot 1.17.2 ... ``` For Gradle: ```groovy dependencies { implementation 'io.dapr:dapr-sdk:1.17.2' implementation 'io.dapr:dapr-sdk-actors:1.17.2' implementation 'io.dapr:dapr-sdk-springboot:1.17.2' } ``` ### Running the examples Clone this repository including the submodules: ```sh git clone https://github.com/dapr/java-sdk.git ``` Then head over to build the [Maven](https://maven.apache.org/install.html) (Apache Maven version 3.x) project: ```sh # make sure you are in the `java-sdk` directory. ./mvnw clean install ``` Try the following examples to learn more about Dapr's Java SDK: * [Invoking a Http service](./examples/src/main/java/io/dapr/examples/invoke/http) * [Invoking a Grpc service](./examples/src/main/java/io/dapr/examples/invoke/grpc) * [State management](./examples/src/main/java/io/dapr/examples/state) * [PubSub with subscriber](./examples/src/main/java/io/dapr/examples/pubsub/) * [PubSub with streaming subscription](./examples/src/main/java/io/dapr/examples/pubsub/stream/) * [Binding with input over Http](./examples/src/main/java/io/dapr/examples/bindings/http) * [Actors](./examples/src/main/java/io/dapr/examples/actors/) * [Workflows](./examples/src/main/java/io/dapr/examples/workflows/) * [Secrets management](./examples/src/main/java/io/dapr/examples/secrets) * [Configuration](./examples/src/main/java/io/dapr/examples/configuration) * [Distributed tracing with OpenTelemetry SDK](./examples/src/main/java/io/dapr/examples/tracing) * [Exception handling](./examples/src/main/java/io/dapr/examples/exception) * [Unit testing](./examples/src/main/java/io/dapr/examples/unittesting) ### Running Spring Boot examples The Spring Boot integration for Dapr use [Testcontainers](https://testcontainers.com) to set up a local environment development flow that doesn't require the use of the `dapr` CLI and it integrates with the Spring Boot programming model. You can find a [step-by-step tutorial showing this integration here](./spring-boot-examples/README.md). ### API Documentation Please, refer to our [Javadoc](https://dapr.github.io/java-sdk/) website. ### Reactor API The Java SDK for Dapr is built using [Project Reactor](https://projectreactor.io/). It provides an asynchronous API for Java. A result is consumed synchronously by using the `block()` method, as shown in the examples referenced above. The code below does not make any API call, it simply returns the [Mono](https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Mono.html) publisher object. Nothing happens until the application subscribes or blocks on the result: ```java Mono result = daprClient.publishEvent("mytopic", "my message"); ``` To start execution and receive the result object synchronously (`void` or `Void` becomes an empty result), use `block()`. The code below shows how to execute the call and consume an empty response: ```java Mono result = daprClient.publishEvent("mytopic", "my message"); result.block(); ``` ### How to use a custom serializer This SDK provides a basic serialization for request/response objects, and state objects. Applications should provide their own serialization for production scenarios. 1. Implement the [DaprObjectSerializer](https://dapr.github.io/java-sdk/io/dapr/serializer/DaprObjectSerializer.html) interface. See [this class](sdk-actors/src/test/java/io/dapr/actors/runtime/JavaSerializer.java) as an example. 2. Use your serializer class in the following scenarios: * When building a new instance of [DaprClient](https://dapr.github.io/java-sdk/io/dapr/client/DaprClient.html): ```java DaprClient client = (new DaprClientBuilder()) .withObjectSerializer(new MyObjectSerializer()) // for request/response objects. .withStateSerializer(new MyStateSerializer()) // for state objects. .build(); ``` * When registering an Actor Type: ```java ActorRuntime.getInstance().registerActor( DemoActorImpl.class, new MyObjectSerializer(), // for request/response objects. new MyStateSerializer()); // for state objects. ``` * When building a new instance of [ActorProxy](https://dapr.github.io/java-sdk/io/dapr/actors/client/ActorProxy.html) to invoke an Actor instance, use the same serializer as when registering the Actor Type: ```java try (ActorClient actorClient = new ActorClient()) { DemoActor actor = (new ActorProxyBuilder(DemoActor.class, actorClient)) .withObjectSerializer(new MyObjectSerializer()) // for request/response objects. .build(new ActorId("100")); } ``` ### Debug a Java application or Dapr's Java SDK **In IntelliJ Community Edition, consider [debugging in IntelliJ](https://docs.dapr.io/developing-applications/local-development/ides/intellij/).** **In Visual Studio Code, consider [debugging in Visual Studio Code](https://docs.dapr.io/developing-applications/local-development/ides/vscode/).** If you need to debug your Application, run the Dapr sidecar separately, and then start the application from your IDE (IntelliJ or Eclipse, for example). For Linux and MacOS: ```sh dapr run --app-id testapp --app-port 3000 --dapr-http-port 3500 --dapr-grpc-port 5001 ``` > Note: confirm the correct port that the app will listen to and that the Dapr ports above are free, changing the ports if necessary. When running your Java application from your IDE, make sure the following environment variables are set, so the Java SDK knows how to connect to Dapr's sidecar: ``` DAPR_HTTP_PORT=3500 DAPR_GRPC_PORT=5001 ``` Now you can go to your IDE and debug your Java application, using port `3500` to call Dapr while also listening to port `3000` to expose Dapr's callback endpoint. ### Exception handling Most exceptions thrown from the SDK are instances of `DaprException`. `DaprException` extends from `RuntimeException`, making it compatible with Project Reactor. See the [exception example](./examples/src/main/java/io/dapr/examples/exception) for more details. ## Development ### Update URL to fetch proto files Change the `dapr.proto.baseurl` property below in [pom.xml](./pom.xml) to point to the URL for the desired commit hash in Git if you need to target a proto file that is not been merged into master yet. Note: You may need to run `./mvnw clean` after changing this setting to remove any auto-generated files so that the new proto files get downloaded and compiled. ```xml ... ... https://raw.githubusercontent.com/dapr/dapr/(current ref in pom.xml)/dapr/proto https://raw.githubusercontent.com/dapr/dapr/1ac5d0e8590a7d6772c9957c236351ed992ccb19/dapr/proto ... ... ``` ### Running Integration Tests (ITs) #### Pre-Requisites * [Pre-Requisites for the SDK](#pre-requisites) * Docker installed * [Docker Compose](https://docs.docker.com/compose/install/) * [Docker Desktop](https://www.docker.com/products/docker-desktop) * Bash shell * In Windows use [WSL2](https://docs.microsoft.com/en-us/windows/wsl/install) * In Linux and Mac, default shells are enough #### Code The code for the tests are present inside the project [sdk-tests](./sdk-tests). This module alone can be imported as a separate project in IDEs. This project depends on the rest of the JARs built by the other modules in the repo like [sdk](./sdk), [sdk-springboot](./sdk-springboot) etc. As a starting point for running the Integration Tests, first run `./mvnw clean install` from the root of the repo to build the JARs for the different modules, except the `sdk-tests` module. #### Run all the dependent services spun up during build During normal CI build, docker compose is used to bring up services like MongoDB, Hashicorp Vault, Apache Zookeeper, Kafka etc. Similarly, all of these need to be run for running the ITs either individually or as a whole. Run the following commands from the root of the repo to start all the docker containers that the tests depend on. ```bash docker compose -f ./sdk-tests/deploy/local-test.yml up -d ``` To stop the containers and services, run the following commands. ```bash docker compose -f ./sdk-tests/deploy/local-test.yml down ``` #### Run all ITs from command line From the `java-sdk` repo root, change to the `sdk-tests` directory and run the following command. ```bash ## with current directory as /java-sdk/sdk-tests/ ../mvnw clean install ``` The above command runs all the integration tests present in the `sdk-tests` project. #### Run Individual tests from IntelliJ In IntelliJ, go to `File > New > Project from Existing Sources...`. Import the `sdk-tests` project. Once the project has been imported, the individual tests can be run normally as any Unit Tests, from the IDE itself. ![intellij-integration-test](./examples/src/main/resources/img/intellij-integration-test.png). > Sometimes when the `sdk-tests` project does not build correctly, try `File > Invalidate Caches...` and try restarting IntelliJ. You should be able to set breakpoints and Debug the test directly from IntelliJ itself as seen from the above image. ================================================ FILE: checkstyle.xml ================================================ ================================================ FILE: dapr-spring/dapr-spring-6-data/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../pom.xml dapr-spring-6-data dapr-spring-data-6 Dapr Spring Data 6 jar 4.0.5 6.0.2 org.springframework.boot spring-boot-dependencies ${springboot4.version} pom import org.springframework.data spring-data-keyvalue org.springframework.data spring-data-commons io.dapr dapr-sdk org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/AbstractDaprKeyValueAdapter.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data; import io.dapr.client.DaprClient; import io.dapr.client.domain.GetStateRequest; import io.dapr.client.domain.SaveStateRequest; import io.dapr.client.domain.State; import io.dapr.utils.TypeRef; import org.springframework.data.keyvalue.core.KeyValueAdapter; import org.springframework.data.util.CloseableIterator; import org.springframework.util.Assert; import reactor.core.publisher.Mono; import java.util.Map; public abstract class AbstractDaprKeyValueAdapter implements KeyValueAdapter { private static final Map CONTENT_TYPE_META = Map.of( "contentType", "application/json"); private final DaprClient daprClient; private final String stateStoreName; protected AbstractDaprKeyValueAdapter(DaprClient daprClient, String stateStoreName) { Assert.notNull(daprClient, "DaprClient must not be null"); Assert.hasText(stateStoreName, "State store name must not be empty"); this.daprClient = daprClient; this.stateStoreName = stateStoreName; } @Override public void destroy() throws Exception { daprClient.close(); } @Override public void clear() { // Ignore } @Override public Object put(Object id, Object item, String keyspace) { Assert.notNull(id, "Id must not be null"); Assert.notNull(item, "Item must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); String key = resolveKey(keyspace, id); State state = new State<>(key, item, null, CONTENT_TYPE_META, null); SaveStateRequest request = new SaveStateRequest(stateStoreName).setStates(state); daprClient.saveBulkState(request).block(); return item; } @Override public boolean contains(Object id, String keyspace) { return get(id, keyspace) != null; } @Override public Object get(Object id, String keyspace) { Assert.notNull(id, "Id must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); String key = resolveKey(keyspace, id); return resolveValue(daprClient.getState(stateStoreName, key, Object.class)); } @Override public T get(Object id, String keyspace, Class type) { Assert.notNull(id, "Id must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); Assert.notNull(type, "Type must not be null"); String key = resolveKey(keyspace, id); GetStateRequest stateRequest = new GetStateRequest(stateStoreName, key).setMetadata(CONTENT_TYPE_META); return resolveValue(daprClient.getState(stateRequest, TypeRef.get(type))); } @Override public Object delete(Object id, String keyspace) { Object result = get(id, keyspace); if (result == null) { return null; } String key = resolveKey(keyspace, id); daprClient.deleteState(stateStoreName, key).block(); return result; } @Override public T delete(Object id, String keyspace, Class type) { T result = get(id, keyspace, type); if (result == null) { return null; } String key = resolveKey(keyspace, id); daprClient.deleteState(stateStoreName, key).block(); return result; } @Override public Iterable getAllOf(String keyspace) { return getAllOf(keyspace, Object.class); } @Override public CloseableIterator> entries(String keyspace) { throw new UnsupportedOperationException("'entries' method is not supported"); } private String resolveKey(String keyspace, Object id) { return String.format("%s-%s", keyspace, id); } private T resolveValue(Mono> state) { if (state == null) { return null; } return state.blockOptional().map(State::getValue).orElse(null); } } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DaprKeyValueAdapterResolver.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.client.domain.ComponentMetadata; import io.dapr.client.domain.DaprMetadata; import org.springframework.data.keyvalue.core.KeyValueAdapter; import java.util.List; import java.util.Set; public class DaprKeyValueAdapterResolver implements KeyValueAdapterResolver { private static final Set MYSQL_MARKERS = Set.of("state.mysql-v1", "bindings.mysql-v1"); private static final Set POSTGRESQL_MARKERS = Set.of("state.postgresql-v1", "bindings.postgresql-v1"); private final DaprClient daprClient; private final ObjectMapper mapper; private final String stateStoreName; private final String bindingName; /** * Constructs a {@link DaprKeyValueAdapterResolver}. * * @param daprClient The Dapr client. * @param mapper The object mapper. * @param stateStoreName The state store name. * @param bindingName The binding name. */ public DaprKeyValueAdapterResolver(DaprClient daprClient, ObjectMapper mapper, String stateStoreName, String bindingName) { this.daprClient = daprClient; this.mapper = mapper; this.stateStoreName = stateStoreName; this.bindingName = bindingName; } @Override public KeyValueAdapter resolve() { DaprMetadata metadata = daprClient.getMetadata().block(); if (metadata == null) { throw new IllegalStateException("No Dapr metadata found"); } List components = metadata.getComponents(); if (components == null || components.isEmpty()) { throw new IllegalStateException("No components found in Dapr metadata"); } if (shouldUseMySQL(components, stateStoreName, bindingName)) { return new MySQLDaprKeyValueAdapter(daprClient, mapper, stateStoreName, bindingName); } if (shouldUsePostgreSQL(components, stateStoreName, bindingName)) { return new PostgreSQLDaprKeyValueAdapter(daprClient, mapper, stateStoreName, bindingName); } throw new IllegalStateException("Could find any adapter matching the given state store and binding"); } @SuppressWarnings("AbbreviationAsWordInName") private boolean shouldUseMySQL(List components, String stateStoreName, String bindingName) { boolean stateStoreMatched = components.stream().anyMatch(x -> matchBy(stateStoreName, MYSQL_MARKERS, x)); boolean bindingMatched = components.stream().anyMatch(x -> matchBy(bindingName, MYSQL_MARKERS, x)); return stateStoreMatched && bindingMatched; } @SuppressWarnings("AbbreviationAsWordInName") private boolean shouldUsePostgreSQL(List components, String stateStoreName, String bindingName) { boolean stateStoreMatched = components.stream().anyMatch(x -> matchBy(stateStoreName, POSTGRESQL_MARKERS, x)); boolean bindingMatched = components.stream().anyMatch(x -> matchBy(bindingName, POSTGRESQL_MARKERS, x)); return stateStoreMatched && bindingMatched; } private boolean matchBy(String name, Set markers, ComponentMetadata componentMetadata) { return componentMetadata.getName().equals(name) && markers.contains(getTypeAndVersion(componentMetadata)); } private String getTypeAndVersion(ComponentMetadata component) { return component.getType() + "-" + component.getVersion(); } } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DaprKeyValueTemplate.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; import org.springframework.dao.DataAccessException; import org.springframework.dao.DuplicateKeyException; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.dao.support.PersistenceExceptionTranslator; import org.springframework.data.domain.Sort; import org.springframework.data.keyvalue.core.IdentifierGenerator; import org.springframework.data.keyvalue.core.KeyValueAdapter; import org.springframework.data.keyvalue.core.KeyValueCallback; import org.springframework.data.keyvalue.core.KeyValueOperations; import org.springframework.data.keyvalue.core.KeyValuePersistenceExceptionTranslator; import org.springframework.data.keyvalue.core.event.KeyValueEvent; import org.springframework.data.keyvalue.core.mapping.KeyValuePersistentEntity; import org.springframework.data.keyvalue.core.mapping.KeyValuePersistentProperty; import org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext; import org.springframework.data.keyvalue.core.query.KeyValueQuery; import org.springframework.data.mapping.context.MappingContext; import org.springframework.lang.Nullable; import org.springframework.util.Assert; import org.springframework.util.ClassUtils; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.Set; public class DaprKeyValueTemplate implements KeyValueOperations, ApplicationEventPublisherAware { private static final PersistenceExceptionTranslator DEFAULT_PERSISTENCE_EXCEPTION_TRANSLATOR = new KeyValuePersistenceExceptionTranslator(); private final KeyValueAdapter adapter; private final MappingContext, ? extends KeyValuePersistentProperty> mappingContext; private final IdentifierGenerator identifierGenerator; private PersistenceExceptionTranslator exceptionTranslator = DEFAULT_PERSISTENCE_EXCEPTION_TRANSLATOR; private @Nullable ApplicationEventPublisher eventPublisher; private boolean publishEvents = false; private @SuppressWarnings("rawtypes") Set> eventTypesToPublish = Collections .emptySet(); /** * Create new {@link DaprKeyValueTemplate} using the given {@link KeyValueAdapterResolver} with a default * {@link KeyValueMappingContext}. * * @param resolver must not be {@literal null}. */ public DaprKeyValueTemplate(KeyValueAdapterResolver resolver) { this(resolver, new KeyValueMappingContext<>()); } /** * Create new {@link DaprKeyValueTemplate} using the given {@link KeyValueAdapterResolver} and {@link MappingContext}. * * @param resolver must not be {@literal null}. * @param mappingContext must not be {@literal null}. */ @SuppressWarnings("LineLength") public DaprKeyValueTemplate(KeyValueAdapterResolver resolver, MappingContext, ? extends KeyValuePersistentProperty> mappingContext) { this(resolver, mappingContext, DefaultIdentifierGenerator.INSTANCE); } /** * Create new {@link DaprKeyValueTemplate} using the given {@link KeyValueAdapterResolver} and {@link MappingContext}. * * @param resolver must not be {@literal null}. * @param mappingContext must not be {@literal null}. * @param identifierGenerator must not be {@literal null}. */ @SuppressWarnings("LineLength") public DaprKeyValueTemplate(KeyValueAdapterResolver resolver, MappingContext, ? extends KeyValuePersistentProperty> mappingContext, IdentifierGenerator identifierGenerator) { Assert.notNull(resolver, "Resolver must not be null"); Assert.notNull(mappingContext, "MappingContext must not be null"); Assert.notNull(identifierGenerator, "IdentifierGenerator must not be null"); this.adapter = resolver.resolve(); this.mappingContext = mappingContext; this.identifierGenerator = identifierGenerator; } private static boolean typeCheck(Class requiredType, @Nullable Object candidate) { return candidate == null || ClassUtils.isAssignable(requiredType, candidate.getClass()); } public void setExceptionTranslator(PersistenceExceptionTranslator exceptionTranslator) { Assert.notNull(exceptionTranslator, "ExceptionTranslator must not be null"); this.exceptionTranslator = exceptionTranslator; } /** * Set the {@link ApplicationEventPublisher} to be used to publish {@link KeyValueEvent}s. * * @param eventTypesToPublish must not be {@literal null}. */ @SuppressWarnings("rawtypes") public void setEventTypesToPublish(Set> eventTypesToPublish) { if (CollectionUtils.isEmpty(eventTypesToPublish)) { this.publishEvents = false; } else { this.publishEvents = true; this.eventTypesToPublish = Collections.unmodifiableSet(eventTypesToPublish); } } @Override public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) { this.eventPublisher = applicationEventPublisher; } @Override public T insert(T objectToInsert) { KeyValuePersistentEntity entity = getKeyValuePersistentEntity(objectToInsert); GeneratingIdAccessor generatingIdAccessor = new GeneratingIdAccessor( entity.getPropertyAccessor(objectToInsert), entity.getIdProperty(), identifierGenerator ); Object id = generatingIdAccessor.getOrGenerateIdentifier(); return insert(id, objectToInsert); } @Override public T insert(Object id, T objectToInsert) { Assert.notNull(id, "Id for object to be inserted must not be null"); Assert.notNull(objectToInsert, "Object to be inserted must not be null"); String keyspace = resolveKeySpace(objectToInsert.getClass()); potentiallyPublishEvent(KeyValueEvent.beforeInsert(id, keyspace, objectToInsert.getClass(), objectToInsert)); execute((KeyValueCallback) adapter -> { if (adapter.contains(id, keyspace)) { throw new DuplicateKeyException( String.format("Cannot insert existing object with id %s; Please use update", id)); } adapter.put(id, objectToInsert, keyspace); return null; }); potentiallyPublishEvent(KeyValueEvent.afterInsert(id, keyspace, objectToInsert.getClass(), objectToInsert)); return objectToInsert; } @Override public T update(T objectToUpdate) { KeyValuePersistentEntity entity = getKeyValuePersistentEntity(objectToUpdate); if (!entity.hasIdProperty()) { throw new InvalidDataAccessApiUsageException( String.format("Cannot determine id for type %s", ClassUtils.getUserClass(objectToUpdate))); } return update(entity.getIdentifierAccessor(objectToUpdate).getRequiredIdentifier(), objectToUpdate); } @Override public T update(Object id, T objectToUpdate) { Assert.notNull(id, "Id for object to be inserted must not be null"); Assert.notNull(objectToUpdate, "Object to be updated must not be null"); String keyspace = resolveKeySpace(objectToUpdate.getClass()); potentiallyPublishEvent(KeyValueEvent.beforeUpdate(id, keyspace, objectToUpdate.getClass(), objectToUpdate)); Object existing = execute(adapter -> adapter.put(id, objectToUpdate, keyspace)); potentiallyPublishEvent( KeyValueEvent.afterUpdate(id, keyspace, objectToUpdate.getClass(), objectToUpdate, existing)); return objectToUpdate; } @Override public Optional findById(Object id, Class type) { Assert.notNull(id, "Id for object to be found must not be null"); Assert.notNull(type, "Type to fetch must not be null"); String keyspace = resolveKeySpace(type); potentiallyPublishEvent(KeyValueEvent.beforeGet(id, keyspace, type)); T result = execute(adapter -> { Object value = adapter.get(id, keyspace, type); if (value == null || typeCheck(type, value)) { return type.cast(value); } return null; }); potentiallyPublishEvent(KeyValueEvent.afterGet(id, keyspace, type, result)); return Optional.ofNullable(result); } @Override public void delete(Class type) { Assert.notNull(type, "Type to delete must not be null"); String keyspace = resolveKeySpace(type); potentiallyPublishEvent(KeyValueEvent.beforeDropKeySpace(keyspace, type)); execute((KeyValueCallback) adapter -> { adapter.deleteAllOf(keyspace); return null; }); potentiallyPublishEvent(KeyValueEvent.afterDropKeySpace(keyspace, type)); } @SuppressWarnings("unchecked") @Override public T delete(T objectToDelete) { Class type = (Class) ClassUtils.getUserClass(objectToDelete); KeyValuePersistentEntity entity = getKeyValuePersistentEntity(objectToDelete); Object id = entity.getIdentifierAccessor(objectToDelete).getIdentifier(); if (id == null) { String error = String.format("Cannot determine id for type %s", ClassUtils.getUserClass(objectToDelete)); throw new InvalidDataAccessApiUsageException(error); } return delete(id, type); } @Override public T delete(Object id, Class type) { Assert.notNull(id, "Id for object to be deleted must not be null"); Assert.notNull(type, "Type to delete must not be null"); String keyspace = resolveKeySpace(type); potentiallyPublishEvent(KeyValueEvent.beforeDelete(id, keyspace, type)); T result = execute(adapter -> adapter.delete(id, keyspace, type)); potentiallyPublishEvent(KeyValueEvent.afterDelete(id, keyspace, type, result)); return result; } @Nullable @Override public T execute(KeyValueCallback action) { Assert.notNull(action, "KeyValueCallback must not be null"); try { return action.doInKeyValue(this.adapter); } catch (RuntimeException e) { throw resolveExceptionIfPossible(e); } } protected T executeRequired(KeyValueCallback action) { T result = execute(action); if (result != null) { return result; } throw new IllegalStateException(String.format("KeyValueCallback %s returned null value", action)); } @Override public Iterable find(KeyValueQuery query, Class type) { return executeRequired((KeyValueCallback>) adapter -> { Iterable result = adapter.find(query, resolveKeySpace(type), type); List filtered = new ArrayList<>(); for (Object candidate : result) { if (typeCheck(type, candidate)) { filtered.add(type.cast(candidate)); } } return filtered; }); } @Override public Iterable findAll(Class type) { Assert.notNull(type, "Type to fetch must not be null"); return executeRequired(adapter -> { Iterable values = adapter.getAllOf(resolveKeySpace(type), type); ArrayList filtered = new ArrayList<>(); for (Object candidate : values) { if (typeCheck(type, candidate)) { filtered.add(type.cast(candidate)); } } return filtered; }); } @SuppressWarnings("rawtypes") @Override public Iterable findAll(Sort sort, Class type) { return find(new KeyValueQuery(sort), type); } @SuppressWarnings("rawtypes") @Override public Iterable findInRange(long offset, int rows, Class type) { return find(new KeyValueQuery().skip(offset).limit(rows), type); } @SuppressWarnings("rawtypes") @Override public Iterable findInRange(long offset, int rows, Sort sort, Class type) { return find(new KeyValueQuery(sort).skip(offset).limit(rows), type); } @Override public long count(Class type) { Assert.notNull(type, "Type for count must not be null"); return adapter.count(resolveKeySpace(type)); } @Override public long count(KeyValueQuery query, Class type) { return executeRequired(adapter -> adapter.count(query, resolveKeySpace(type))); } @Override public boolean exists(KeyValueQuery query, Class type) { return executeRequired(adapter -> adapter.exists(query, resolveKeySpace(type))); } @Override public MappingContext getMappingContext() { return this.mappingContext; } @Override public KeyValueAdapter getKeyValueAdapter() { return adapter; } @Override public void destroy() throws Exception { this.adapter.destroy(); } private KeyValuePersistentEntity getKeyValuePersistentEntity(Object objectToInsert) { return this.mappingContext.getRequiredPersistentEntity(ClassUtils.getUserClass(objectToInsert)); } private String resolveKeySpace(Class type) { return this.mappingContext.getRequiredPersistentEntity(type).getKeySpace(); } private RuntimeException resolveExceptionIfPossible(RuntimeException e) { DataAccessException translatedException = exceptionTranslator.translateExceptionIfPossible(e); return translatedException != null ? translatedException : e; } @SuppressWarnings("rawtypes") private void potentiallyPublishEvent(KeyValueEvent event) { if (eventPublisher == null) { return; } if (publishEvents && (eventTypesToPublish.isEmpty() || eventTypesToPublish.contains(event.getClass()))) { eventPublisher.publishEvent(event); } } } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DefaultIdentifierGenerator.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.core.TypeInformation; import org.springframework.data.keyvalue.core.IdentifierGenerator; import org.springframework.util.ClassUtils; import org.springframework.util.StringUtils; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.Arrays; import java.util.List; import java.util.UUID; import java.util.concurrent.atomic.AtomicReference; /** * Default implementation of {@link IdentifierGenerator} to generate identifiers of types {@link UUID}. */ enum DefaultIdentifierGenerator implements IdentifierGenerator { INSTANCE; private final AtomicReference secureRandom = new AtomicReference<>(null); @Override @SuppressWarnings("unchecked") public T generateIdentifierOfType(TypeInformation identifierType) { Class type = identifierType.getType(); if (ClassUtils.isAssignable(UUID.class, type)) { return (T) UUID.randomUUID(); } else if (ClassUtils.isAssignable(String.class, type)) { return (T) UUID.randomUUID().toString(); } else if (ClassUtils.isAssignable(Integer.class, type)) { return (T) Integer.valueOf(getSecureRandom().nextInt()); } else if (ClassUtils.isAssignable(Long.class, type)) { return (T) Long.valueOf(getSecureRandom().nextLong()); } throw new InvalidDataAccessApiUsageException( String.format("Identifier cannot be generated for %s; Supported types are: UUID, String, Integer, and Long", identifierType.getType().getName())); } private SecureRandom getSecureRandom() { SecureRandom secureRandom = this.secureRandom.get(); if (secureRandom != null) { return secureRandom; } for (String algorithm : OsTools.secureRandomAlgorithmNames()) { try { secureRandom = SecureRandom.getInstance(algorithm); } catch (NoSuchAlgorithmException e) { // ignore and try next. } } if (secureRandom == null) { throw new InvalidDataAccessApiUsageException( String.format("Could not create SecureRandom instance for one of the algorithms '%s'", StringUtils.collectionToCommaDelimitedString(OsTools.secureRandomAlgorithmNames()))); } this.secureRandom.compareAndSet(null, secureRandom); return secureRandom; } private static class OsTools { private static final String OPERATING_SYSTEM_NAME = System.getProperty("os.name").toLowerCase(); private static final List SECURE_RANDOM_ALGORITHMS_LINUX_OSX_SOLARIS = Arrays.asList("NativePRNGBlocking", "NativePRNGNonBlocking", "NativePRNG", "SHA1PRNG"); private static final List SECURE_RANDOM_ALGORITHMS_WINDOWS = Arrays.asList("SHA1PRNG", "Windows-PRNG"); static List secureRandomAlgorithmNames() { return OPERATING_SYSTEM_NAME.contains("win") ? SECURE_RANDOM_ALGORITHMS_WINDOWS : SECURE_RANDOM_ALGORITHMS_LINUX_OSX_SOLARIS; } } } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/GeneratingIdAccessor.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data; import org.springframework.data.keyvalue.core.IdentifierGenerator; import org.springframework.data.mapping.IdentifierAccessor; import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.PersistentPropertyAccessor; import org.springframework.util.Assert; /** * {@link IdentifierAccessor} adding a {@link #getOrGenerateIdentifier()} to automatically generate an identifier and * set it on the underling bean instance. * * @see #getOrGenerateIdentifier() */ class GeneratingIdAccessor implements IdentifierAccessor { private final PersistentPropertyAccessor accessor; private final PersistentProperty identifierProperty; private final IdentifierGenerator generator; /** * Creates a new {@link GeneratingIdAccessor} using the given {@link PersistentPropertyAccessor}, identifier property * and {@link IdentifierGenerator}. * * @param accessor must not be {@literal null}. * @param identifierProperty must not be {@literal null}. * @param generator must not be {@literal null}. */ GeneratingIdAccessor(PersistentPropertyAccessor accessor, PersistentProperty identifierProperty, IdentifierGenerator generator) { Assert.notNull(accessor, "PersistentPropertyAccessor must not be null"); Assert.notNull(identifierProperty, "Identifier property must not be null"); Assert.notNull(generator, "IdentifierGenerator must not be null"); this.accessor = accessor; this.identifierProperty = identifierProperty; this.generator = generator; } @Override public Object getIdentifier() { return accessor.getProperty(identifierProperty); } Object getOrGenerateIdentifier() { Object existingIdentifier = getIdentifier(); if (existingIdentifier != null) { return existingIdentifier; } Object generatedIdentifier = generator.generateIdentifierOfType(identifierProperty.getTypeInformation()); accessor.setProperty(identifierProperty, generatedIdentifier); return generatedIdentifier; } } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/KeyValueAdapterResolver.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data; import org.springframework.data.keyvalue.core.KeyValueAdapter; public interface KeyValueAdapterResolver { KeyValueAdapter resolve(); } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/MySQLDaprKeyValueAdapter.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data; import com.fasterxml.jackson.core.JsonPointer; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.utils.TypeRef; import org.springframework.data.keyvalue.core.query.KeyValueQuery; import org.springframework.expression.spel.SpelNode; import org.springframework.expression.spel.standard.SpelExpression; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.util.Assert; import java.util.Base64; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * A {@link org.springframework.data.keyvalue.core.KeyValueAdapter} implementation for MySQL. */ @SuppressWarnings("AbbreviationAsWordInName") public class MySQLDaprKeyValueAdapter extends AbstractDaprKeyValueAdapter { private static final String DELETE_BY_KEYSPACE_PATTERN = "delete from state where id LIKE '%s'"; private static final String SELECT_BY_KEYSPACE_PATTERN = "select value from state where id LIKE '%s'"; private static final String SELECT_BY_FILTER_PATTERN = "select value from state where id LIKE '%s' and JSON_EXTRACT(value, %s) = %s"; private static final String COUNT_BY_KEYSPACE_PATTERN = "select count(*) as value from state where id LIKE '%s'"; private static final String COUNT_BY_FILTER_PATTERN = "select count(*) as value from state where id LIKE '%s' and JSON_EXTRACT(value, %s) = %s"; private static final TypeRef> FILTER_TYPE_REF = new TypeRef<>() { }; private static final TypeRef> COUNT_TYPE_REF = new TypeRef<>() { }; private static final SpelExpressionParser PARSER = new SpelExpressionParser(); private static final JsonPointer VALUE_POINTER = JsonPointer.compile("/value"); private final DaprClient daprClient; private final ObjectMapper mapper; private final String stateStoreName; private final String bindingName; /** * Constructs a {@link MySQLDaprKeyValueAdapter}. * * @param daprClient The Dapr client. * @param mapper The object mapper. * @param stateStoreName The state store name. * @param bindingName The binding name. */ public MySQLDaprKeyValueAdapter(DaprClient daprClient, ObjectMapper mapper, String stateStoreName, String bindingName) { super(daprClient, stateStoreName); Assert.notNull(mapper, "ObjectMapper must not be null"); Assert.hasText(bindingName, "State store binding must not be empty"); this.daprClient = daprClient; this.mapper = mapper; this.stateStoreName = stateStoreName; this.bindingName = bindingName; } @Override public Iterable getAllOf(String keyspace, Class type) { Assert.hasText(keyspace, "Keyspace must not be empty"); Assert.notNull(type, "Type must not be null"); String sql = createSql(SELECT_BY_KEYSPACE_PATTERN, keyspace); List result = queryUsingBinding(sql, FILTER_TYPE_REF); return convertValues(result, type); } @Override public void deleteAllOf(String keyspace) { Assert.hasText(keyspace, "Keyspace must not be empty"); String sql = createSql(DELETE_BY_KEYSPACE_PATTERN, keyspace); execUsingBinding(sql); } @Override public Iterable find(KeyValueQuery query, String keyspace, Class type) { Assert.notNull(query, "Query must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); Assert.notNull(type, "Type must not be null"); Object criteria = query.getCriteria(); if (criteria == null) { return getAllOf(keyspace, type); } String sql = createSql(SELECT_BY_FILTER_PATTERN, keyspace, criteria); List result = queryUsingBinding(sql, FILTER_TYPE_REF); return convertValues(result, type); } @Override public long count(String keyspace) { Assert.hasText(keyspace, "Keyspace must not be empty"); String sql = createSql(COUNT_BY_KEYSPACE_PATTERN, keyspace); List result = queryUsingBinding(sql, COUNT_TYPE_REF); return extractCount(result); } @Override public long count(KeyValueQuery query, String keyspace) { Assert.notNull(query, "Query must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); Object criteria = query.getCriteria(); if (criteria == null) { return count(keyspace); } String sql = createSql(COUNT_BY_FILTER_PATTERN, keyspace, criteria); List result = queryUsingBinding(sql, COUNT_TYPE_REF); return extractCount(result); } private String getKeyspaceFilter(String keyspace) { return String.format("%s||%s-%%", stateStoreName, keyspace); } private String createSql(String sqlPattern, String keyspace) { String keyspaceFilter = getKeyspaceFilter(keyspace); return String.format(sqlPattern, keyspaceFilter); } private String createSql(String sqlPattern, String keyspace, Object criteria) { String keyspaceFilter = getKeyspaceFilter(keyspace); SpelExpression expression = PARSER.parseRaw(criteria.toString()); SpelNode leftNode = expression.getAST().getChild(0); SpelNode rightNode = expression.getAST().getChild(1); String left = String.format("'$.%s'", leftNode.toStringAST()); String right = rightNode.toStringAST(); return String.format(sqlPattern, keyspaceFilter, left, right); } private void execUsingBinding(String sql) { Map meta = Map.of("sql", sql); daprClient.invokeBinding(bindingName, "exec", null, meta).block(); } private T queryUsingBinding(String sql, TypeRef typeRef) { Map meta = Map.of("sql", sql); return daprClient.invokeBinding(bindingName, "query", null, meta, typeRef).block(); } private List convertValues(List values, Class type) { if (values == null || values.isEmpty()) { return Collections.emptyList(); } return values.stream() .map(value -> convertValue(value, type)) .collect(Collectors.toList()); } private T convertValue(JsonNode value, Class type) { JsonNode valueNode = value.at(VALUE_POINTER); if (valueNode.isMissingNode()) { throw new IllegalStateException("Value is missing"); } try { // The value is stored as a base64 encoded string and wrapped in quotes // hence we need to remove the quotes and then decode String rawValue = valueNode.toString().replace("\"", ""); byte[] decodedValue = Base64.getDecoder().decode(rawValue); return mapper.readValue(decodedValue, type); } catch (Exception e) { throw new RuntimeException(e); } } private long extractCount(List values) { if (values == null || values.isEmpty()) { return 0; } JsonNode valueNode = values.get(0).at(VALUE_POINTER); if (valueNode.isMissingNode()) { throw new IllegalStateException("Count value is missing"); } if (!valueNode.isNumber()) { throw new IllegalStateException("Count value is not a number"); } return valueNode.asLong(); } } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/PostgreSQLDaprKeyValueAdapter.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.spring6.data.repository.query.DaprPredicate; import io.dapr.utils.TypeRef; import org.springframework.data.keyvalue.core.query.KeyValueQuery; import org.springframework.expression.spel.SpelNode; import org.springframework.expression.spel.standard.SpelExpression; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.util.Assert; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * A {@link org.springframework.data.keyvalue.core.KeyValueAdapter} implementation for PostgreSQL. */ @SuppressWarnings("AbbreviationAsWordInName") public class PostgreSQLDaprKeyValueAdapter extends AbstractDaprKeyValueAdapter { private static final String DELETE_BY_KEYSPACE_PATTERN = "delete from state where key LIKE '%s'"; private static final String SELECT_BY_KEYSPACE_PATTERN = "select value from state where key LIKE '%s'"; private static final String SELECT_BY_FILTER_PATTERN = "select value from state where key LIKE '%s' and JSONB_EXTRACT_PATH_TEXT(value, %s) = %s"; private static final String COUNT_BY_KEYSPACE_PATTERN = "select count(*) as value from state where key LIKE '%s'"; private static final String COUNT_BY_FILTER_PATTERN = "select count(*) as value from state where key LIKE '%s' and JSONB_EXTRACT_PATH_TEXT(value, %s) = %s"; private static final TypeRef>> FILTER_TYPE_REF = new TypeRef<>() { }; private static final TypeRef>> COUNT_TYPE_REF = new TypeRef<>() { }; private static final SpelExpressionParser PARSER = new SpelExpressionParser(); private final DaprClient daprClient; private final ObjectMapper mapper; private final String stateStoreName; private final String bindingName; /** * Constructs a {@link PostgreSQLDaprKeyValueAdapter}. * * @param daprClient The Dapr client. * @param mapper The object mapper. * @param stateStoreName The state store name. * @param bindingName The binding name. */ public PostgreSQLDaprKeyValueAdapter(DaprClient daprClient, ObjectMapper mapper, String stateStoreName, String bindingName) { super(daprClient, stateStoreName); Assert.notNull(mapper, "ObjectMapper must not be null"); Assert.hasText(bindingName, "State store binding must not be empty"); this.daprClient = daprClient; this.mapper = mapper; this.stateStoreName = stateStoreName; this.bindingName = bindingName; } @Override public Iterable getAllOf(String keyspace, Class type) { Assert.hasText(keyspace, "Keyspace must not be empty"); Assert.notNull(type, "Type must not be null"); String sql = createSql(SELECT_BY_KEYSPACE_PATTERN, keyspace); List> result = queryUsingBinding(sql, FILTER_TYPE_REF); return convertValues(result, type); } @Override public void deleteAllOf(String keyspace) { Assert.hasText(keyspace, "Keyspace must not be empty"); String sql = createSql(DELETE_BY_KEYSPACE_PATTERN, keyspace); execUsingBinding(sql); } @Override public Iterable find(KeyValueQuery query, String keyspace, Class type) { Assert.notNull(query, "Query must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); Assert.notNull(type, "Type must not be null"); Object criteria = query.getCriteria(); if (criteria == null) { return getAllOf(keyspace, type); } String sql = createSql(SELECT_BY_FILTER_PATTERN, keyspace, criteria); List> result = queryUsingBinding(sql, FILTER_TYPE_REF); return convertValues(result, type); } @Override public long count(String keyspace) { Assert.hasText(keyspace, "Keyspace must not be empty"); String sql = createSql(COUNT_BY_KEYSPACE_PATTERN, keyspace); List> result = queryUsingBinding(sql, COUNT_TYPE_REF); return extractCount(result); } @Override public long count(KeyValueQuery query, String keyspace) { Assert.notNull(query, "Query must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); Object criteria = query.getCriteria(); if (criteria == null) { return count(keyspace); } String sql = createSql(COUNT_BY_FILTER_PATTERN, keyspace, criteria); List> result = queryUsingBinding(sql, COUNT_TYPE_REF); return extractCount(result); } private String getKeyspaceFilter(String keyspace) { return String.format("%s||%s-%%", stateStoreName, keyspace); } private String createSql(String sqlPattern, String keyspace) { String keyspaceFilter = getKeyspaceFilter(keyspace); return String.format(sqlPattern, keyspaceFilter); } private String createSql(String sqlPattern, String keyspace, Object criteria) { String keyspaceFilter = getKeyspaceFilter(keyspace); if (criteria instanceof DaprPredicate) { var daprPredicate = (DaprPredicate) criteria; String path = daprPredicate.getPath().toString(); String pathWithOutType = String.format("'%s'", path.substring(path.indexOf(".") + 1)); String value = String.format("'%s'", daprPredicate.getValue().toString()); return String.format(sqlPattern, keyspaceFilter, pathWithOutType, value); } else if (criteria instanceof String) { SpelExpression expression = PARSER.parseRaw(criteria.toString()); SpelNode leftNode = expression.getAST().getChild(0); SpelNode rightNode = expression.getAST().getChild(1); String left = String.format("'%s'", leftNode.toStringAST()); String right = rightNode.toStringAST(); return String.format(sqlPattern, keyspaceFilter, left, right); } return null; } private void execUsingBinding(String sql) { Map meta = Map.of("sql", sql); daprClient.invokeBinding(bindingName, "exec", null, meta).block(); } private T queryUsingBinding(String sql, TypeRef typeRef) { Map meta = Map.of("sql", sql); return daprClient.invokeBinding(bindingName, "query", null, meta, typeRef).block(); } private Iterable convertValues(List> values, Class type) { if (values == null || values.isEmpty()) { return Collections.emptyList(); } return values.stream() .flatMap(Collection::stream) .map(value -> convertValue(value, type)) .collect(Collectors.toList()); } private T convertValue(Object value, Class type) { try { return mapper.convertValue(value, type); } catch (Exception e) { throw new RuntimeException(e); } } private long extractCount(List> values) { if (values == null || values.isEmpty()) { return 0; } return values.stream() .flatMap(Collection::stream) .collect(Collectors.toList()) .get(0); } } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoriesRegistrar.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data.repository.config; import org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport; import org.springframework.data.repository.config.RepositoryConfigurationExtension; import java.lang.annotation.Annotation; /** * Dapr specific {@link RepositoryBeanDefinitionRegistrarSupport} implementation. */ public class DaprRepositoriesRegistrar extends RepositoryBeanDefinitionRegistrarSupport { @Override protected Class getAnnotation() { return EnableDaprRepositories.class; } @Override protected RepositoryConfigurationExtension getExtension() { return new DaprRepositoryConfigurationExtension(); } } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoryConfigurationExtension.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data.repository.config; import org.springframework.data.keyvalue.repository.config.KeyValueRepositoryConfigurationExtension; import org.springframework.data.repository.config.RepositoryConfigurationExtension; /** * {@link RepositoryConfigurationExtension} for Dapr-based repositories. */ @SuppressWarnings("unchecked") public class DaprRepositoryConfigurationExtension extends KeyValueRepositoryConfigurationExtension { @Override public String getModuleName() { return "Dapr"; } @Override protected String getModulePrefix() { return "dapr"; } @Override protected String getDefaultKeyValueTemplateRef() { return "daprKeyValueTemplate"; } } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/EnableDaprRepositories.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data.repository.config; import io.dapr.spring6.data.repository.config.DaprRepositoriesRegistrar; import io.dapr.spring6.data.repository.query.DaprPredicateQueryCreator; import org.springframework.beans.factory.FactoryBean; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Import; import org.springframework.data.keyvalue.core.KeyValueOperations; import org.springframework.data.keyvalue.repository.config.QueryCreatorType; import org.springframework.data.keyvalue.repository.support.KeyValueRepositoryFactoryBean; import org.springframework.data.repository.config.DefaultRepositoryBaseClass; import org.springframework.data.repository.query.QueryLookupStrategy; import org.springframework.data.repository.query.QueryLookupStrategy.Key; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Annotation to activate Dapr repositories. If no base package is configured through either {@link #value()}, * {@link #basePackages()} or {@link #basePackageClasses()} it will trigger scanning of the package of annotated class. */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @Import(DaprRepositoriesRegistrar.class) @QueryCreatorType(DaprPredicateQueryCreator.class) public @interface EnableDaprRepositories { /** * Alias for the {@link #basePackages()} attribute. Allows for more concise annotation declarations e.g.: * {@code @EnableJpaRepositories("org.my.pkg")} instead of {@code @EnableJpaRepositories(basePackages="org.my.pkg")}. * * @return alias of the base package */ String[] value() default {}; /** * Base packages to scan for annotated components. {@link #value()} is an alias for (and mutually exclusive with) this * attribute. Use {@link #basePackageClasses()} for a type-safe alternative to String-based package names. * * @return array of base packages */ String[] basePackages() default {}; /** * Type-safe alternative to {@link #basePackages()} for specifying the packages to scan for annotated components. The * package of each class specified will be scanned. Consider creating a special no-op marker class or interface in * each package that serves no purpose other than being referenced by this attribute. * * @return array of base classes */ Class[] basePackageClasses() default {}; /** * Specifies which types are not eligible for component scanning. * * @return array of exclusion filters */ Filter[] excludeFilters() default {}; /** * Specifies which types are eligible for component scanning. Further narrows the set of candidate components from * everything in {@link #basePackages()} to everything in the base packages that matches the given filter or filters. * * @return array of inclusion filters */ Filter[] includeFilters() default {}; /** * Returns the postfix to be used when looking up custom repository implementations. Defaults to {@literal Impl}. So * for a repository named {@code PersonRepository} the corresponding implementation class will be looked up scanning * for {@code PersonRepositoryImpl}. * * @return repository implementation post fix */ String repositoryImplementationPostfix() default "Impl"; /** * Configures the location of where to find the Spring Data named queries properties file. * * @return named queries location */ String namedQueriesLocation() default ""; /** * Returns the key of the {@link QueryLookupStrategy} to be used for lookup queries for query methods. Defaults to * {@link Key#CREATE_IF_NOT_FOUND}. * * @return key lookup strategy */ Key queryLookupStrategy() default Key.CREATE_IF_NOT_FOUND; /** * Returns the {@link FactoryBean} class to be used for each repository instance. Defaults to * {@link KeyValueRepositoryFactoryBean}. * * @return repository factory bean class */ Class repositoryFactoryBeanClass() default KeyValueRepositoryFactoryBean.class; /** * Configure the repository base class to be used to create repository proxies for this particular configuration. * * @return repository base class */ Class repositoryBaseClass() default DefaultRepositoryBaseClass.class; /** * Configures the name of the {@link KeyValueOperations} bean to be used with the repositories detected. * * @return the Key value template bean name */ String keyValueTemplateRef() default "daprKeyValueTemplate"; /** * Configures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the * repositories infrastructure. * * @return whether to consider nested repository interfaces */ boolean considerNestedRepositories() default false; } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicate.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data.repository.query; import org.springframework.beans.BeanWrapper; import org.springframework.data.core.PropertyPath; import org.springframework.data.util.DirectFieldAccessFallbackBeanWrapper; import org.springframework.util.ObjectUtils; import java.util.function.Function; import java.util.function.Predicate; public class DaprPredicate implements Predicate { private final PropertyPath path; private final Function check; private final Object value; public DaprPredicate(PropertyPath path, Object expected) { this(path, expected, (valueToCompare) -> ObjectUtils.nullSafeEquals(valueToCompare, expected)); } /** * Creates a new {@link DaprPredicate}. * * @param path The path to the property to compare. * @param value The value to compare. * @param check The function to check the value. */ public DaprPredicate(PropertyPath path, Object value, Function check) { this.path = path; this.check = check; this.value = value; } public PropertyPath getPath() { return path; } public Object getValue() { return value; } @Override public boolean test(Object o) { Object value = getValueByPath(o, path); return check.apply(value); } private Object getValueByPath(Object root, PropertyPath path) { Object currentValue = root; for (PropertyPath currentPath : path) { currentValue = wrap(currentValue).getPropertyValue(currentPath.getSegment()); if (currentValue == null) { break; } } return currentValue; } private BeanWrapper wrap(Object o) { return new DirectFieldAccessFallbackBeanWrapper(o); } } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicateBuilder.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data.repository.query; import io.dapr.spring6.data.repository.query.DaprPredicate; import org.springframework.data.repository.query.parser.Part; import org.springframework.util.ObjectUtils; import org.springframework.util.comparator.Comparators; import java.util.Collection; import java.util.Map; import java.util.Objects; import java.util.function.Predicate; import java.util.regex.Pattern; class DaprPredicateBuilder { private final Part part; private DaprPredicateBuilder(Part part) { this.part = part; } static DaprPredicateBuilder propertyValueOf(Part part) { return new DaprPredicateBuilder(part); } Predicate isTrue() { return new DaprPredicate(part.getProperty(), true); } public Predicate isFalse() { return new DaprPredicate(part.getProperty(), false); } public Predicate isEqualTo(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (!ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) { if ((o instanceof String) && (value instanceof String)) { var s1 = (String)o; var s2 = (String)value; return s1.equalsIgnoreCase(s2); } } return ObjectUtils.nullSafeEquals(o, value); }); } public Predicate isNull() { return new DaprPredicate(part.getProperty(), null, Objects::isNull); } public Predicate isNotNull() { return isNull().negate(); } public Predicate isLessThan(Object value) { return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) < 0); } public Predicate isLessThanEqual(Object value) { return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) <= 0); } public Predicate isGreaterThan(Object value) { return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) > 0); } public Predicate isGreaterThanEqual(Object value) { return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) >= 0); } public Predicate matches(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (o == null || value == null) { return ObjectUtils.nullSafeEquals(o, value); } if (value instanceof Pattern) { var pattern = (Pattern)value; return pattern.matcher(o.toString()).find(); } return o.toString().matches(value.toString()); }); } public Predicate in(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (value instanceof Collection) { var collection = (Collection)value; if (o instanceof Collection) { var subSet = (Collection)o; return collection.containsAll(subSet); } return collection.contains(o); } if (ObjectUtils.isArray(value)) { return ObjectUtils.containsElement(ObjectUtils.toObjectArray(value), value); } return false; }); } public Predicate contains(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (o == null) { return false; } if (o instanceof Collection) { var collection = (Collection)o; return collection.contains(value); } if (ObjectUtils.isArray(o)) { return ObjectUtils.containsElement(ObjectUtils.toObjectArray(o), value); } if (o instanceof Map) { var map = (Map)o; return map.containsValue(value); } if (value == null) { return false; } String s = o.toString(); if (ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) { return s.contains(value.toString()); } return s.toLowerCase().contains(value.toString().toLowerCase()); }); } public Predicate startsWith(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (!(o instanceof String)) { return false; } var s = (String)o; if (ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) { return s.startsWith(value.toString()); } return s.toLowerCase().startsWith(value.toString().toLowerCase()); }); } public Predicate endsWith(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (!(o instanceof String)) { return false; } var s = (String)o; if (ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) { return s.endsWith(value.toString()); } return s.toLowerCase().endsWith(value.toString().toLowerCase()); }); } } ================================================ FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicateQueryCreator.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring6.data.repository.query; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.domain.Sort; import org.springframework.data.keyvalue.core.query.KeyValueQuery; import org.springframework.data.repository.query.ParameterAccessor; import org.springframework.data.repository.query.parser.AbstractQueryCreator; import org.springframework.data.repository.query.parser.Part; import org.springframework.data.repository.query.parser.PartTree; import org.springframework.lang.Nullable; import java.util.Iterator; import java.util.function.Predicate; /** * This class is copied from https://github.com/spring-projects/spring-data-keyvalue/blob/ff441439124585042dd0cbff952f977a343444d2/src/main/java/org/springframework/data/keyvalue/repository/query/PredicateQueryCreator.java#L46 * because it has private accessors to internal classes, making it impossible to extend or use the original * This requires to be created from scratch to not use predicates, but this is only worth it if we can prove these * abstractions are worth the time. */ public class DaprPredicateQueryCreator extends AbstractQueryCreator>, Predicate> { public DaprPredicateQueryCreator(PartTree tree, ParameterAccessor parameters) { super(tree, parameters); } @Override protected Predicate create(Part part, Iterator iterator) { DaprPredicateBuilder daprPredicateBuilder = DaprPredicateBuilder.propertyValueOf(part); switch (part.getType()) { case TRUE: return daprPredicateBuilder.isTrue(); case FALSE: return daprPredicateBuilder.isFalse(); case SIMPLE_PROPERTY: return daprPredicateBuilder.isEqualTo(iterator.next()); case IS_NULL: return daprPredicateBuilder.isNull(); case IS_NOT_NULL: return daprPredicateBuilder.isNotNull(); case LIKE: return daprPredicateBuilder.contains(iterator.next()); case STARTING_WITH: return daprPredicateBuilder.startsWith(iterator.next()); case AFTER: case GREATER_THAN: return daprPredicateBuilder.isGreaterThan(iterator.next()); case GREATER_THAN_EQUAL: return daprPredicateBuilder.isGreaterThanEqual(iterator.next()); case BEFORE: case LESS_THAN: return daprPredicateBuilder.isLessThan(iterator.next()); case LESS_THAN_EQUAL: return daprPredicateBuilder.isLessThanEqual(iterator.next()); case ENDING_WITH: return daprPredicateBuilder.endsWith(iterator.next()); case BETWEEN: return daprPredicateBuilder.isGreaterThan(iterator.next()) .and(daprPredicateBuilder.isLessThan(iterator.next())); case REGEX: return daprPredicateBuilder.matches(iterator.next()); case IN: return daprPredicateBuilder.in(iterator.next()); default: throw new InvalidDataAccessApiUsageException(String.format("Found invalid part '%s' in query", part.getType())); } } @Override protected Predicate and(Part part, Predicate base, Iterator iterator) { return base.and((Predicate) create(part, iterator)); } @Override protected Predicate or(Predicate base, Predicate criteria) { return base.or((Predicate) criteria); } @Override protected KeyValueQuery> complete(@Nullable Predicate criteria, Sort sort) { if (criteria == null) { return new KeyValueQuery<>(it -> true, sort); } return new KeyValueQuery<>(criteria, sort); } } ================================================ FILE: dapr-spring/dapr-spring-bom/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-bom 1.18.0-SNAPSHOT pom dapr-spring-bom Dapr Spring Bill of Materials (BOM). Import this POM to manage versions of dapr-sdk-springboot and all dapr-spring-* modules. Imports dapr-sdk-bom transitively, so Spring users only need this single BOM. https://dapr.io Apache License Version 2.0 https://opensource.org/licenses/Apache-2.0 Dapr daprweb@microsoft.com Dapr https://dapr.io https://github.com/dapr/java-sdk scm:git:https://github.com/dapr/java-sdk.git HEAD ossrh https://central.sonatype.com/repository/maven-snapshots/ true 1.18.0-SNAPSHOT org.apache.maven.plugins maven-site-plugin 3.12.1 true org.sonatype.plugins nexus-staging-maven-plugin 1.7.0 true ossrh https://ossrh-staging-api.central.sonatype.com true org.apache.maven.plugins maven-gpg-plugin 3.1.0 sign-artifacts verify sign --batch --pinentry-mode loopback io.dapr dapr-sdk-bom ${dapr.sdk.version} pom import io.dapr dapr-sdk-springboot ${dapr.sdk.version} io.dapr.spring dapr-spring-data ${dapr.sdk.version} io.dapr.spring dapr-spring-6-data ${dapr.sdk.version} io.dapr.spring dapr-spring-messaging ${dapr.sdk.version} io.dapr.spring dapr-spring-workflows ${dapr.sdk.version} io.dapr.spring dapr-spring-boot-properties ${dapr.sdk.version} io.dapr.spring dapr-spring-boot-autoconfigure ${dapr.sdk.version} io.dapr.spring dapr-spring-boot-4-autoconfigure ${dapr.sdk.version} io.dapr.spring dapr-spring-boot-tests ${dapr.sdk.version} io.dapr.spring dapr-spring-boot-starter ${dapr.sdk.version} io.dapr.spring dapr-spring-boot-4-starter ${dapr.sdk.version} io.dapr.spring dapr-spring-boot-starter-test ${dapr.sdk.version} io.dapr.spring dapr-spring-boot-4-starter-test ${dapr.sdk.version} ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../pom.xml dapr-spring-boot-4-autoconfigure dapr-spring-boot-4-autoconfigure Dapr Spring Boot 4.x Autoconfigure jar 4.0.5 6.0.2 tools.jackson jackson-bom 3.1.1 pom import org.springframework.boot spring-boot-dependencies ${springboot4.version} pom import org.springframework.boot spring-boot-autoconfigure tools.jackson.core jackson-databind true org.springframework.boot spring-boot-jackson true io.dapr.spring dapr-spring-6-data true io.dapr dapr-sdk-actors io.dapr.spring dapr-spring-messaging true io.dapr.spring dapr-spring-workflows true io.dapr.spring dapr-spring-boot-properties org.springframework.data spring-data-keyvalue true io.micrometer micrometer-observation true io.dapr.spring dapr-spring-boot-observation io.micrometer micrometer-observation-test test org.springframework.boot spring-boot-starter-web test org.testcontainers testcontainers test org.testcontainers junit-jupiter test com.vaadin.external.google android-json io.dapr testcontainers-dapr test org.springframework spring-beans org.springframework spring-context org.springframework.boot spring-boot-starter-test test org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/DaprClientSB4AutoConfiguration.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot4.autoconfigure.client; import io.dapr.actors.client.ActorClient; import io.dapr.actors.runtime.ActorRuntime; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.config.Properties; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.spring.boot.properties.client.ClientPropertiesDaprConnectionDetails; import io.dapr.spring.boot.properties.client.DaprClientProperties; import io.dapr.spring.boot.properties.client.DaprConnectionDetails; import io.dapr.spring.observation.client.ObservationDaprClient; import io.dapr.spring.observation.client.ObservationDaprWorkflowClient; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; import io.micrometer.observation.ObservationRegistry; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import java.util.HashMap; import java.util.Map; @AutoConfiguration @ConditionalOnClass(DaprClient.class) @EnableConfigurationProperties(DaprClientProperties.class) public class DaprClientSB4AutoConfiguration { @Bean @ConditionalOnMissingBean(DaprConnectionDetails.class) DaprConnectionDetails daprConnectionDetails(DaprClientProperties properties) { return new ClientPropertiesDaprConnectionDetails(properties); } @Bean @ConditionalOnMissingBean DaprClientBuilder daprClientBuilder(DaprConnectionDetails daprConnectionDetails, ObjectProvider serializerProvider) { DaprClientBuilder builder = createDaprClientBuilder(); DaprObjectSerializer serializer = serializerProvider.getIfAvailable(); if (serializer != null) { builder.withObjectSerializer(serializer); builder.withStateSerializer(serializer); } String httpEndpoint = daprConnectionDetails.getHttpEndpoint(); if (httpEndpoint != null) { builder.withPropertyOverride(Properties.HTTP_ENDPOINT, httpEndpoint); } String grpcEndpoint = daprConnectionDetails.getGrpcEndpoint(); if (grpcEndpoint != null) { builder.withPropertyOverride(Properties.GRPC_ENDPOINT, grpcEndpoint); } Integer httpPort = daprConnectionDetails.getHttpPort(); if (httpPort != null) { builder.withPropertyOverride(Properties.HTTP_PORT, String.valueOf(httpPort)); } Integer grpcPort = daprConnectionDetails.getGrpcPort(); if (grpcPort != null) { builder.withPropertyOverride(Properties.GRPC_PORT, String.valueOf(grpcPort)); } String apiToken = daprConnectionDetails.getApiToken(); if (apiToken != null) { builder.withPropertyOverride(Properties.API_TOKEN, apiToken); } return builder; } @Bean @ConditionalOnMissingBean DaprClient daprClient(DaprClientBuilder daprClientBuilder, ObjectProvider observationRegistryProvider) { DaprClient client = daprClientBuilder.build(); ObservationRegistry registry = observationRegistryProvider.getIfAvailable(); if (registry != null && !registry.isNoop()) { return new ObservationDaprClient(client, registry); } return client; } @Bean @ConditionalOnMissingBean DaprWorkflowClient daprWorkflowClient(DaprConnectionDetails daprConnectionDetails, ObjectProvider observationRegistryProvider) { Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails); ObservationRegistry registry = observationRegistryProvider.getIfAvailable(); if (registry != null && !registry.isNoop()) { return new ObservationDaprWorkflowClient(properties, registry); } return new DaprWorkflowClient(properties); } @Bean @ConditionalOnMissingBean ActorClient daprActorClient(DaprConnectionDetails daprConnectionDetails) { Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails); return new ActorClient(properties); } @Bean @ConditionalOnMissingBean ActorRuntime daprActorRuntime(DaprConnectionDetails daprConnectionDetails) { Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails); return ActorRuntime.getInstance(properties); } @Bean @ConditionalOnMissingBean WorkflowRuntimeBuilder daprWorkflowRuntimeBuilder(DaprConnectionDetails daprConnectionDetails) { Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails); return new WorkflowRuntimeBuilder(properties); } /** * We use this method in tests to override the default DaprClientBuilder. */ protected DaprClientBuilder createDaprClientBuilder() { return new DaprClientBuilder(); } /** * Creates a Properties object from the DaprConnectionDetails. * * @param daprConnectionDetails the DaprConnectionDetails * @return the Properties object */ protected Properties createPropertiesFromConnectionDetails(DaprConnectionDetails daprConnectionDetails) { Map propertyOverrides = new HashMap<>(); String httpEndpoint = daprConnectionDetails.getHttpEndpoint(); if (httpEndpoint != null) { propertyOverrides.put(Properties.HTTP_ENDPOINT.getName(), httpEndpoint); } Integer httpPort = daprConnectionDetails.getHttpPort(); if (httpPort != null) { propertyOverrides.put(Properties.HTTP_PORT.getName(), String.valueOf(httpPort)); } String grpcEndpoint = daprConnectionDetails.getGrpcEndpoint(); if (grpcEndpoint != null) { propertyOverrides.put(Properties.GRPC_ENDPOINT.getName(), grpcEndpoint); } Integer grpcPort = daprConnectionDetails.getGrpcPort(); if (grpcPort != null) { propertyOverrides.put(Properties.GRPC_PORT.getName(), String.valueOf(grpcPort)); } String apiToken = daprConnectionDetails.getApiToken(); if (apiToken != null) { propertyOverrides.put(Properties.API_TOKEN.getName(), apiToken); } return new Properties(propertyOverrides); } } ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/DaprJackson3SB4AutoConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot4.autoconfigure.client; import io.dapr.serializer.DaprObjectSerializer; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration; import org.springframework.context.annotation.Bean; import tools.jackson.databind.json.JsonMapper; /** * Auto-configuration that bridges Jackson 3's {@link JsonMapper} into a {@link DaprObjectSerializer}. * *

Activates only when Jackson 3 is on the classpath and no other {@link DaprObjectSerializer} * bean has been defined. Runs after {@link JacksonAutoConfiguration} (which creates the * {@link JsonMapper} bean) and before {@link DaprClientSB4AutoConfiguration} (which consumes it). */ @AutoConfiguration(after = JacksonAutoConfiguration.class, before = DaprClientSB4AutoConfiguration.class) @ConditionalOnClass(JsonMapper.class) public class DaprJackson3SB4AutoConfiguration { @Bean @ConditionalOnMissingBean(DaprObjectSerializer.class) DaprObjectSerializer daprObjectSerializer(JsonMapper jsonMapper) { return new Jackson3ObjectSerializer(jsonMapper); } } ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/Jackson3ObjectSerializer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot4.autoconfigure.client; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.utils.TypeRef; import tools.jackson.databind.JavaType; import tools.jackson.databind.json.JsonMapper; import java.io.IOException; /** * {@link DaprObjectSerializer} implementation backed by Jackson 3's {@link JsonMapper}. */ public class Jackson3ObjectSerializer implements DaprObjectSerializer { private final JsonMapper jsonMapper; public Jackson3ObjectSerializer(JsonMapper jsonMapper) { this.jsonMapper = jsonMapper; } @Override public byte[] serialize(Object o) throws IOException { if (o == null) { return null; } if (o.getClass() == Void.class) { return null; } if (o instanceof byte[]) { return (byte[]) o; } try { return jsonMapper.writeValueAsBytes(o); } catch (tools.jackson.core.JacksonException e) { throw new IOException(e); } } @Override public T deserialize(byte[] data, TypeRef type) throws IOException { JavaType javaType = jsonMapper.constructType(type.getType()); if (javaType.isTypeOrSubTypeOf(Void.class)) { return null; } if (javaType.isPrimitive()) { return deserializePrimitives(data, javaType); } if (data == null) { return null; } if (javaType.hasRawClass(byte[].class)) { return (T) data; } if (data.length == 0) { return null; } try { return jsonMapper.readValue(data, javaType); } catch (tools.jackson.core.JacksonException e) { throw new IOException(e); } } @Override public String getContentType() { return "application/json"; } @SuppressWarnings("unchecked") private T deserializePrimitives(byte[] content, JavaType javaType) throws IOException { if (content == null || content.length == 0) { if (javaType.hasRawClass(boolean.class)) { return (T) Boolean.FALSE; } if (javaType.hasRawClass(byte.class)) { return (T) Byte.valueOf((byte) 0); } if (javaType.hasRawClass(short.class)) { return (T) Short.valueOf((short) 0); } if (javaType.hasRawClass(int.class)) { return (T) Integer.valueOf(0); } if (javaType.hasRawClass(long.class)) { return (T) Long.valueOf(0L); } if (javaType.hasRawClass(float.class)) { return (T) Float.valueOf(0); } if (javaType.hasRawClass(double.class)) { return (T) Double.valueOf(0); } if (javaType.hasRawClass(char.class)) { return (T) Character.valueOf(Character.MIN_VALUE); } return null; } try { return jsonMapper.readValue(content, javaType); } catch (tools.jackson.core.JacksonException e) { throw new IOException(e); } } } ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports ================================================ io.dapr.spring.boot4.autoconfigure.client.DaprJackson3SB4AutoConfiguration io.dapr.spring.boot4.autoconfigure.client.DaprClientSB4AutoConfiguration ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprClientAutoConfigurationTest.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot4.autoconfigure.client; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.config.Properties; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.spring.boot.properties.client.DaprConnectionDetails; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; /** * Unit tests for {@link DaprClientSB4AutoConfiguration}. */ @ExtendWith(MockitoExtension.class) class DaprClientAutoConfigurationTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(DaprClientSB4AutoConfiguration.class)); @Mock private DaprConnectionDetails connectionDetails; @Mock private DaprClientBuilder builder; private DaprClientSB4AutoConfiguration configuration; @Mock private ObjectProvider serializerProvider; @Test void daprClientBuilder() { contextRunner.run(context -> assertThat(context).hasSingleBean(DaprClientBuilder.class)); } @Test void daprClient() { contextRunner.run(context -> assertThat(context).hasSingleBean(DaprClient.class)); } @BeforeEach void setUp() { configuration = new TestDaprClientAutoConfiguration(builder); } @Test @DisplayName("Should override HTTP endpoint if it exists") void shouldOverrideHttpEndpointIfExists() { String httpEndpoint = "http://localhost:3500"; when(connectionDetails.getHttpEndpoint()).thenReturn(httpEndpoint); configuration.daprClientBuilder(connectionDetails, serializerProvider); verify(builder).withPropertyOverride(Properties.HTTP_ENDPOINT, httpEndpoint); } @Test @DisplayName("Should override GRPC endpoint if it exists") void shouldOverrideGrpcEndpointIfExists() { String grpcEndpoint = "grpc://localhost:5001"; when(connectionDetails.getGrpcEndpoint()).thenReturn(grpcEndpoint); configuration.daprClientBuilder(connectionDetails, serializerProvider); verify(builder).withPropertyOverride(Properties.GRPC_ENDPOINT, grpcEndpoint); } @Test @DisplayName("Should override HTTP port if it exists") void shouldOverrideHttpPortIfExists() { Integer httpPort = 3600; when(connectionDetails.getHttpPort()).thenReturn(httpPort); configuration.daprClientBuilder(connectionDetails, serializerProvider); verify(builder).withPropertyOverride(Properties.HTTP_PORT, String.valueOf(httpPort)); } @Test @DisplayName("Should override GRPC port if it exists") void shouldOverrideGrpcPortIfExists() { Integer grpcPort = 6001; when(connectionDetails.getGrpcPort()).thenReturn(grpcPort); configuration.daprClientBuilder(connectionDetails, serializerProvider); verify(builder).withPropertyOverride(Properties.GRPC_PORT, String.valueOf(grpcPort)); } @Test @DisplayName("Should override API token if it exists") void shouldOverrideApiTokenIfExists() { String apiToken = "token"; when(connectionDetails.getApiToken()).thenReturn(apiToken); configuration.daprClientBuilder(connectionDetails, serializerProvider); verify(builder).withPropertyOverride(Properties.API_TOKEN, apiToken); } @Test @DisplayName("Should override HTTP endpoint in properties if it exists") void shouldOverrideHttpEndpointInPropertiesIfExists() { String httpEndpoint = "http://localhost:3500"; when(connectionDetails.getHttpEndpoint()).thenReturn(httpEndpoint); Properties reuslt = configuration.createPropertiesFromConnectionDetails(connectionDetails); assertThat(reuslt.getValue(Properties.HTTP_ENDPOINT)).isEqualTo(httpEndpoint); } @Test @DisplayName("Should override GRPC endpoint in properties if it exists") void shouldOverrideGrpcEndpointPropertiesIfExists() { String grpcEndpoint = "grpc://localhost:3500"; when(connectionDetails.getGrpcEndpoint()).thenReturn(grpcEndpoint); Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails); assertThat(result.getValue(Properties.GRPC_ENDPOINT)).isEqualTo(grpcEndpoint); } @Test @DisplayName("Should override HTTP port in properties if it exists") void shouldOverrideHttpPortPropertiesIfExists() { Integer httpPort = 3600; when(connectionDetails.getHttpPort()).thenReturn(httpPort); Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails); assertThat(result.getValue(Properties.HTTP_PORT)).isEqualTo(httpPort); } @Test @DisplayName("Should override GRPC port in properties if it exists") void shouldOverrideGrpcPortPropertiesIfExists() { Integer grpcPort = 6001; when(connectionDetails.getGrpcPort()).thenReturn(grpcPort); Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails); assertThat(result.getValue(Properties.GRPC_PORT)).isEqualTo(grpcPort); } @Test @DisplayName("Should override API token in properties if it exists") void shouldOverrideApiTokenPropertiesIfExists() { String apiToken = "token"; when(connectionDetails.getApiToken()).thenReturn(apiToken); Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails); assertThat(result.getValue(Properties.API_TOKEN)).isEqualTo(apiToken); } private static class TestDaprClientAutoConfiguration extends DaprClientSB4AutoConfiguration { private final DaprClientBuilder daprClientBuilder; public TestDaprClientAutoConfiguration(DaprClientBuilder daprClientBuilder) { this.daprClientBuilder = daprClientBuilder; } @Override protected DaprClientBuilder createDaprClientBuilder() { return daprClientBuilder; } } } ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprJackson3SB4AutoConfigurationTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot4.autoconfigure.client; import io.dapr.serializer.DaprObjectSerializer; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import tools.jackson.databind.json.JsonMapper; import static org.assertj.core.api.Assertions.assertThat; class DaprJackson3SB4AutoConfigurationTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of( JacksonAutoConfiguration.class, DaprJackson3SB4AutoConfiguration.class)); @Test @DisplayName("Should create DaprObjectSerializer bean when Jackson 3 is on classpath") void shouldCreateSerializerBean() { contextRunner.run(context -> { assertThat(context).hasSingleBean(DaprObjectSerializer.class); assertThat(context.getBean(DaprObjectSerializer.class)) .isInstanceOf(Jackson3ObjectSerializer.class); }); } @Test @DisplayName("Should use Jackson3ObjectSerializer with application/json content type") void shouldReturnJsonContentType() { contextRunner.run(context -> { DaprObjectSerializer serializer = context.getBean(DaprObjectSerializer.class); assertThat(serializer.getContentType()).isEqualTo("application/json"); }); } @Test @DisplayName("Should back off when user provides custom DaprObjectSerializer bean") void shouldBackOffWhenCustomSerializerProvided() { contextRunner .withUserConfiguration(CustomSerializerConfiguration.class) .run(context -> { assertThat(context).hasSingleBean(DaprObjectSerializer.class); assertThat(context.getBean(DaprObjectSerializer.class)) .isNotInstanceOf(Jackson3ObjectSerializer.class); }); } @Test @DisplayName("Should use Spring-provided JsonMapper bean") void shouldUseSpringJsonMapper() { contextRunner.run(context -> { assertThat(context).hasSingleBean(JsonMapper.class); assertThat(context).hasSingleBean(DaprObjectSerializer.class); }); } @Configuration(proxyBeanMethods = false) static class CustomSerializerConfiguration { @Bean DaprObjectSerializer customSerializer() { return new DaprObjectSerializer() { @Override public byte[] serialize(Object o) { return new byte[0]; } @Override public T deserialize(byte[] data, io.dapr.utils.TypeRef type) { return null; } @Override public String getContentType() { return "text/plain"; } }; } } } ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprWorkflowsRegistrationTests.java ================================================ package io.dapr.spring.boot4.autoconfigure.client; import io.dapr.spring.boot4.autoconfigure.client.workflows.TestActivity; import io.dapr.spring.boot4.autoconfigure.client.workflows.TestWorkflow; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest(classes = {WorkflowTestApplication.class, DaprClientSB4AutoConfiguration.class, TestActivity.class, TestWorkflow.class}) public class DaprWorkflowsRegistrationTests { @Autowired private DaprWorkflowClient daprWorkflowClient; @Autowired private WorkflowRuntimeBuilder workflowRuntimeBuilder; @Autowired private TestActivity testActivity; @Autowired private TestWorkflow testWorkflow; @Test public void testWorkflowInjection(){ //I cannot test here if the client works, as it needs the runtime Assertions.assertNotNull(daprWorkflowClient); //@TODO: there is no way to assert the runtime and its registered workflows and activities Assertions.assertNotNull(workflowRuntimeBuilder); //Check that both Activities and Workflows are managed beans Assertions.assertNotNull(testActivity); Assertions.assertNotNull(testWorkflow); Assertions.assertNotNull(testActivity.getRestTemplate()); Assertions.assertNotNull(testWorkflow.getRestTemplate()); } } ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/Jackson3ObjectSerializerTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot4.autoconfigure.client; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import tools.jackson.databind.json.JsonMapper; import java.io.IOException; import java.util.List; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; class Jackson3ObjectSerializerTest { private Jackson3ObjectSerializer serializer; @BeforeEach void setUp() { serializer = new Jackson3ObjectSerializer(JsonMapper.builder().build()); } @Test @DisplayName("getContentType should return application/json") void getContentType() { assertThat(serializer.getContentType()).isEqualTo("application/json"); } @Test @DisplayName("serialize null should return null") void serializeNull() throws IOException { assertThat(serializer.serialize(null)).isNull(); } @Test @DisplayName("serialize Void should return null") void serializeVoid() throws IOException { // Void.class instance can't be created normally, test the class check assertThat(serializer.serialize(null)).isNull(); } @Test @DisplayName("serialize byte[] should return same array") void serializeByteArray() throws IOException { byte[] input = new byte[]{1, 2, 3}; assertThat(serializer.serialize(input)).isSameAs(input); } @Test @DisplayName("serialize string should return JSON bytes") void serializeString() throws IOException { byte[] result = serializer.serialize("hello"); assertThat(new String(result)).isEqualTo("\"hello\""); } @Test @DisplayName("serialize object should return JSON bytes") void serializeObject() throws IOException { TestData data = new TestData("test", 42); byte[] result = serializer.serialize(data); String json = new String(result); assertThat(json).contains("\"name\""); assertThat(json).contains("\"test\""); assertThat(json).contains("\"value\""); assertThat(json).contains("42"); } @Test @DisplayName("deserialize Void type should return null") void deserializeVoid() throws IOException { assertThat(serializer.deserialize(new byte[]{}, TypeRef.get(Void.class))).isNull(); } @Test @DisplayName("deserialize null data for non-primitive should return null") void deserializeNullData() throws IOException { assertThat(serializer.deserialize(null, TypeRef.STRING)).isNull(); } @Test @DisplayName("deserialize byte[] type should return same array") void deserializeByteArray() throws IOException { byte[] input = new byte[]{1, 2, 3}; byte[] result = serializer.deserialize(input, TypeRef.get(byte[].class)); assertThat(result).isSameAs(input); } @Test @DisplayName("deserialize empty data should return null") void deserializeEmptyData() throws IOException { assertThat(serializer.deserialize(new byte[]{}, TypeRef.STRING)).isNull(); } @Test @DisplayName("deserialize string should work") void deserializeString() throws IOException { byte[] data = "\"hello\"".getBytes(); String result = serializer.deserialize(data, TypeRef.STRING); assertThat(result).isEqualTo("hello"); } @Test @DisplayName("deserialize object should work") void deserializeObject() throws IOException { byte[] data = "{\"name\":\"test\",\"value\":42}".getBytes(); TestData result = serializer.deserialize(data, TypeRef.get(TestData.class)); assertThat(result.getName()).isEqualTo("test"); assertThat(result.getValue()).isEqualTo(42); } @Test @DisplayName("deserialize generic type should work") void deserializeGenericType() throws IOException { byte[] data = "[\"a\",\"b\"]".getBytes(); List result = serializer.deserialize(data, new TypeRef>() {}); assertThat(result).containsExactly("a", "b"); } @Test @DisplayName("deserialize int primitive with null data should return 0") void deserializeIntPrimitiveNull() throws IOException { int result = serializer.deserialize(null, TypeRef.INT); assertThat(result).isEqualTo(0); } @Test @DisplayName("deserialize int primitive with empty data should return 0") void deserializeIntPrimitiveEmpty() throws IOException { int result = serializer.deserialize(new byte[]{}, TypeRef.INT); assertThat(result).isEqualTo(0); } @Test @DisplayName("deserialize boolean primitive with null data should return false") void deserializeBooleanPrimitiveNull() throws IOException { boolean result = serializer.deserialize(null, TypeRef.BOOLEAN); assertThat(result).isFalse(); } @Test @DisplayName("deserialize int primitive with actual data should parse correctly") void deserializeIntPrimitiveWithData() throws IOException { byte[] data = "42".getBytes(); int result = serializer.deserialize(data, TypeRef.INT); assertThat(result).isEqualTo(42); } @Test @DisplayName("round-trip serialize and deserialize should preserve data") void roundTrip() throws IOException { TestData original = new TestData("round-trip", 99); byte[] serialized = serializer.serialize(original); TestData deserialized = serializer.deserialize(serialized, TypeRef.get(TestData.class)); assertThat(deserialized.getName()).isEqualTo(original.getName()); assertThat(deserialized.getValue()).isEqualTo(original.getValue()); } @Test @DisplayName("deserialize map type should work") void deserializeMap() throws IOException { byte[] data = "{\"key\":\"value\"}".getBytes(); Map result = serializer.deserialize(data, new TypeRef>() {}); assertThat(result).containsEntry("key", "value"); } // --- Primitive default values for null data --- @Test @DisplayName("deserialize boolean primitive with empty data should return false") void deserializeBooleanPrimitiveEmpty() throws IOException { boolean result = serializer.deserialize(new byte[]{}, TypeRef.BOOLEAN); assertThat(result).isFalse(); } @Test @DisplayName("deserialize byte primitive with null data should return 0") void deserializeBytePrimitiveNull() throws IOException { byte result = serializer.deserialize(null, TypeRef.BYTE); assertThat(result).isEqualTo((byte) 0); } @Test @DisplayName("deserialize byte primitive with empty data should return 0") void deserializeBytePrimitiveEmpty() throws IOException { byte result = serializer.deserialize(new byte[]{}, TypeRef.BYTE); assertThat(result).isEqualTo((byte) 0); } @Test @DisplayName("deserialize short primitive with null data should return 0") void deserializeShortPrimitiveNull() throws IOException { short result = serializer.deserialize(null, TypeRef.SHORT); assertThat(result).isEqualTo((short) 0); } @Test @DisplayName("deserialize short primitive with empty data should return 0") void deserializeShortPrimitiveEmpty() throws IOException { short result = serializer.deserialize(new byte[]{}, TypeRef.SHORT); assertThat(result).isEqualTo((short) 0); } @Test @DisplayName("deserialize long primitive with null data should return 0") void deserializeLongPrimitiveNull() throws IOException { long result = serializer.deserialize(null, TypeRef.LONG); assertThat(result).isEqualTo(0L); } @Test @DisplayName("deserialize long primitive with empty data should return 0") void deserializeLongPrimitiveEmpty() throws IOException { long result = serializer.deserialize(new byte[]{}, TypeRef.LONG); assertThat(result).isEqualTo(0L); } @Test @DisplayName("deserialize float primitive with null data should return 0") void deserializeFloatPrimitiveNull() throws IOException { float result = serializer.deserialize(null, TypeRef.FLOAT); assertThat(result).isEqualTo(0f); } @Test @DisplayName("deserialize float primitive with empty data should return 0") void deserializeFloatPrimitiveEmpty() throws IOException { float result = serializer.deserialize(new byte[]{}, TypeRef.FLOAT); assertThat(result).isEqualTo(0f); } @Test @DisplayName("deserialize double primitive with null data should return 0") void deserializeDoublePrimitiveNull() throws IOException { double result = serializer.deserialize(null, TypeRef.DOUBLE); assertThat(result).isEqualTo(0d); } @Test @DisplayName("deserialize double primitive with empty data should return 0") void deserializeDoublePrimitiveEmpty() throws IOException { double result = serializer.deserialize(new byte[]{}, TypeRef.DOUBLE); assertThat(result).isEqualTo(0d); } @Test @DisplayName("deserialize char primitive with null data should return MIN_VALUE") void deserializeCharPrimitiveNull() throws IOException { char result = serializer.deserialize(null, TypeRef.CHAR); assertThat(result).isEqualTo(Character.MIN_VALUE); } @Test @DisplayName("deserialize char primitive with empty data should return MIN_VALUE") void deserializeCharPrimitiveEmpty() throws IOException { char result = serializer.deserialize(new byte[]{}, TypeRef.CHAR); assertThat(result).isEqualTo(Character.MIN_VALUE); } // --- Primitive deserialization with actual data --- @Test @DisplayName("deserialize boolean primitive with actual data should parse correctly") void deserializeBooleanPrimitiveWithData() throws IOException { byte[] data = "true".getBytes(); boolean result = serializer.deserialize(data, TypeRef.BOOLEAN); assertThat(result).isTrue(); } @Test @DisplayName("deserialize long primitive with actual data should parse correctly") void deserializeLongPrimitiveWithData() throws IOException { byte[] data = "123456789".getBytes(); long result = serializer.deserialize(data, TypeRef.LONG); assertThat(result).isEqualTo(123456789L); } @Test @DisplayName("deserialize float primitive with actual data should parse correctly") void deserializeFloatPrimitiveWithData() throws IOException { byte[] data = "3.14".getBytes(); float result = serializer.deserialize(data, TypeRef.FLOAT); assertThat(result).isEqualTo(3.14f); } @Test @DisplayName("deserialize double primitive with actual data should parse correctly") void deserializeDoublePrimitiveWithData() throws IOException { byte[] data = "3.14159".getBytes(); double result = serializer.deserialize(data, TypeRef.DOUBLE); assertThat(result).isEqualTo(3.14159d); } @Test @DisplayName("deserialize short primitive with actual data should parse correctly") void deserializeShortPrimitiveWithData() throws IOException { byte[] data = "123".getBytes(); short result = serializer.deserialize(data, TypeRef.SHORT); assertThat(result).isEqualTo((short) 123); } // --- Void primitive type --- @Test @DisplayName("deserialize void primitive type with null data should return null") void deserializeVoidPrimitiveNull() throws IOException { assertThat(serializer.deserialize(null, TypeRef.VOID)).isNull(); } @Test @DisplayName("deserialize void primitive type with empty data should return null") void deserializeVoidPrimitiveEmpty() throws IOException { assertThat(serializer.deserialize(new byte[]{}, TypeRef.VOID)).isNull(); } // --- IOException wrapping --- @Test @DisplayName("serialize invalid object should throw IOException") void serializeInvalidObjectThrowsIOException() { Object unserializable = new Object() { // Jackson cannot serialize this because of the self-reference public Object getSelf() { return this; } }; assertThatThrownBy(() -> serializer.serialize(unserializable)) .isInstanceOf(IOException.class); } @Test @DisplayName("deserialize invalid JSON should throw IOException") void deserializeInvalidJsonThrowsIOException() { byte[] invalidJson = "{not valid json".getBytes(); assertThatThrownBy(() -> serializer.deserialize(invalidJson, TypeRef.get(TestData.class))) .isInstanceOf(IOException.class); } @Test @DisplayName("deserialize invalid JSON for primitive should throw IOException") void deserializeInvalidJsonForPrimitiveThrowsIOException() { byte[] invalidJson = "not_a_number".getBytes(); assertThatThrownBy(() -> serializer.deserialize(invalidJson, TypeRef.INT)) .isInstanceOf(IOException.class); } // --- Additional edge cases --- @Test @DisplayName("deserialize null data for byte[] type should return null") void deserializeNullDataForByteArray() throws IOException { byte[] result = serializer.deserialize(null, TypeRef.BYTE_ARRAY); assertThat(result).isNull(); } @Test @DisplayName("serialize integer should return JSON bytes") void serializeInteger() throws IOException { byte[] result = serializer.serialize(42); assertThat(new String(result)).isEqualTo("42"); } @Test @DisplayName("serialize boolean should return JSON bytes") void serializeBoolean() throws IOException { byte[] result = serializer.serialize(true); assertThat(new String(result)).isEqualTo("true"); } @Test @DisplayName("serialize list should return JSON array bytes") void serializeList() throws IOException { byte[] result = serializer.serialize(List.of("a", "b", "c")); assertThat(new String(result)).isEqualTo("[\"a\",\"b\",\"c\"]"); } @Test @DisplayName("round-trip serialize and deserialize list should preserve data") void roundTripList() throws IOException { List original = List.of("x", "y", "z"); byte[] serialized = serializer.serialize(original); List deserialized = serializer.deserialize(serialized, new TypeRef>() {}); assertThat(deserialized).containsExactlyElementsOf(original); } public static class TestData { private String name; private int value; public TestData() { } public TestData(String name, int value) { this.name = name; this.value = value; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getValue() { return value; } public void setValue(int value) { this.value = value; } } } ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/WorkflowTestApplication.java ================================================ package io.dapr.spring.boot4.autoconfigure.client; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; @SpringBootApplication @EnableDaprWorkflows public class WorkflowTestApplication { public static void main(String[] args) { SpringApplication.run(WorkflowTestApplication.class, args); } @Configuration static class Config { @Bean RestTemplate restTemplate(){ return new RestTemplate(); } } } ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/workflows/TestActivity.java ================================================ package io.dapr.spring.boot4.autoconfigure.client.workflows; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.client.RestTemplate; public class TestActivity implements WorkflowActivity { @Autowired private RestTemplate restTemplate; @Override public Object run(WorkflowActivityContext ctx) { return "OK"; } public RestTemplate getRestTemplate() { return restTemplate; } } ================================================ FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/workflows/TestWorkflow.java ================================================ package io.dapr.spring.boot4.autoconfigure.client.workflows; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.client.RestTemplate; public class TestWorkflow implements Workflow { @Autowired private RestTemplate restTemplate; @Override public WorkflowStub create() { return ctx -> { ctx.callActivity(TestActivity.class.getName(), null).await(); }; } public RestTemplate getRestTemplate() { return restTemplate; } } ================================================ FILE: dapr-spring/dapr-spring-boot-autoconfigure/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../pom.xml dapr-spring-boot-autoconfigure dapr-spring-boot-autoconfigure Dapr Spring Boot Autoconfigure jar io.dapr.spring dapr-spring-data true io.dapr dapr-sdk-actors true io.dapr.spring dapr-spring-messaging true io.dapr.spring dapr-spring-workflows true io.dapr.spring dapr-spring-boot-properties org.springframework.data spring-data-keyvalue true org.springframework spring-beans org.springframework spring-context io.micrometer micrometer-observation true io.dapr.spring dapr-spring-boot-observation io.micrometer micrometer-observation-test test org.springframework.boot spring-boot-starter-web test org.springframework.boot spring-boot-starter-test test org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfiguration.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.autoconfigure.client; import io.dapr.actors.client.ActorClient; import io.dapr.actors.runtime.ActorRuntime; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.config.Properties; import io.dapr.spring.boot.properties.client.ClientPropertiesDaprConnectionDetails; import io.dapr.spring.boot.properties.client.DaprClientProperties; import io.dapr.spring.boot.properties.client.DaprConnectionDetails; import io.dapr.spring.observation.client.ObservationDaprClient; import io.dapr.spring.observation.client.ObservationDaprWorkflowClient; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; import io.micrometer.observation.ObservationRegistry; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import java.util.HashMap; import java.util.Map; @AutoConfiguration @ConditionalOnClass(DaprClient.class) @EnableConfigurationProperties(DaprClientProperties.class) public class DaprClientAutoConfiguration { @Bean @ConditionalOnMissingBean(DaprConnectionDetails.class) DaprConnectionDetails daprConnectionDetails(DaprClientProperties properties) { return new ClientPropertiesDaprConnectionDetails(properties); } @Bean @ConditionalOnMissingBean DaprClientBuilder daprClientBuilder(DaprConnectionDetails daprConnectionDetails) { DaprClientBuilder builder = createDaprClientBuilder(); String httpEndpoint = daprConnectionDetails.getHttpEndpoint(); if (httpEndpoint != null) { builder.withPropertyOverride(Properties.HTTP_ENDPOINT, httpEndpoint); } String grpcEndpoint = daprConnectionDetails.getGrpcEndpoint(); if (grpcEndpoint != null) { builder.withPropertyOverride(Properties.GRPC_ENDPOINT, grpcEndpoint); } Integer httpPort = daprConnectionDetails.getHttpPort(); if (httpPort != null) { builder.withPropertyOverride(Properties.HTTP_PORT, String.valueOf(httpPort)); } Integer grpcPort = daprConnectionDetails.getGrpcPort(); if (grpcPort != null) { builder.withPropertyOverride(Properties.GRPC_PORT, String.valueOf(grpcPort)); } String apiToken = daprConnectionDetails.getApiToken(); if (apiToken != null) { builder.withPropertyOverride(Properties.API_TOKEN, apiToken); } return builder; } @Bean @ConditionalOnMissingBean DaprClient daprClient(DaprClientBuilder daprClientBuilder, ObjectProvider observationRegistryProvider) { DaprClient client = daprClientBuilder.build(); ObservationRegistry registry = observationRegistryProvider.getIfAvailable(); if (registry != null && !registry.isNoop()) { return new ObservationDaprClient(client, registry); } return client; } @Bean @ConditionalOnMissingBean DaprWorkflowClient daprWorkflowClient(DaprConnectionDetails daprConnectionDetails, ObjectProvider observationRegistryProvider) { Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails); ObservationRegistry registry = observationRegistryProvider.getIfAvailable(); if (registry != null && !registry.isNoop()) { return new ObservationDaprWorkflowClient(properties, registry); } return new DaprWorkflowClient(properties); } @Bean @ConditionalOnMissingBean ActorClient daprActorClient(DaprConnectionDetails daprConnectionDetails) { Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails); return new ActorClient(properties); } @Bean @ConditionalOnMissingBean ActorRuntime daprActorRuntime(DaprConnectionDetails daprConnectionDetails) { Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails); return ActorRuntime.getInstance(properties); } @Bean @ConditionalOnMissingBean WorkflowRuntimeBuilder daprWorkflowRuntimeBuilder(DaprConnectionDetails daprConnectionDetails) { Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails); return new WorkflowRuntimeBuilder(properties); } /** * We use this method in tests to override the default DaprClientBuilder. */ protected DaprClientBuilder createDaprClientBuilder() { return new DaprClientBuilder(); } /** * Creates a Properties object from the DaprConnectionDetails. * * @param daprConnectionDetails the DaprConnectionDetails * @return the Properties object */ protected Properties createPropertiesFromConnectionDetails(DaprConnectionDetails daprConnectionDetails) { Map propertyOverrides = new HashMap<>(); String httpEndpoint = daprConnectionDetails.getHttpEndpoint(); if (httpEndpoint != null) { propertyOverrides.put(Properties.HTTP_ENDPOINT.getName(), httpEndpoint); } Integer httpPort = daprConnectionDetails.getHttpPort(); if (httpPort != null) { propertyOverrides.put(Properties.HTTP_PORT.getName(), String.valueOf(httpPort)); } String grpcEndpoint = daprConnectionDetails.getGrpcEndpoint(); if (grpcEndpoint != null) { propertyOverrides.put(Properties.GRPC_ENDPOINT.getName(), grpcEndpoint); } Integer grpcPort = daprConnectionDetails.getGrpcPort(); if (grpcPort != null) { propertyOverrides.put(Properties.GRPC_PORT.getName(), String.valueOf(grpcPort)); } String apiToken = daprConnectionDetails.getApiToken(); if (apiToken != null) { propertyOverrides.put(Properties.API_TOKEN.getName(), apiToken); } return new Properties(propertyOverrides); } } ================================================ FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports ================================================ io.dapr.spring.boot.autoconfigure.client.DaprClientAutoConfiguration ================================================ FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfigurationTest.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.autoconfigure.client; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.spring.boot.properties.client.DaprConnectionDetails; import io.dapr.config.Properties; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; /** * Unit tests for {@link DaprClientAutoConfiguration}. */ @ExtendWith(MockitoExtension.class) class DaprClientAutoConfigurationTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(DaprClientAutoConfiguration.class)); @Mock private DaprConnectionDetails connectionDetails; @Mock private DaprClientBuilder builder; private DaprClientAutoConfiguration configuration; @Test void daprClientBuilder() { contextRunner.run(context -> assertThat(context).hasSingleBean(DaprClientBuilder.class)); } @Test void daprClient() { contextRunner.run(context -> assertThat(context).hasSingleBean(DaprClient.class)); } @BeforeEach void setUp() { configuration = new TestDaprClientAutoConfiguration(builder); } @Test @DisplayName("Should override HTTP endpoint if it exists") void shouldOverrideHttpEndpointIfExists() { String httpEndpoint = "http://localhost:3500"; when(connectionDetails.getHttpEndpoint()).thenReturn(httpEndpoint); configuration.daprClientBuilder(connectionDetails); verify(builder).withPropertyOverride(Properties.HTTP_ENDPOINT, httpEndpoint); } @Test @DisplayName("Should override GRPC endpoint if it exists") void shouldOverrideGrpcEndpointIfExists() { String grpcEndpoint = "grpc://localhost:5001"; when(connectionDetails.getGrpcEndpoint()).thenReturn(grpcEndpoint); configuration.daprClientBuilder(connectionDetails); verify(builder).withPropertyOverride(Properties.GRPC_ENDPOINT, grpcEndpoint); } @Test @DisplayName("Should override HTTP port if it exists") void shouldOverrideHttpPortIfExists() { Integer httpPort = 3600; when(connectionDetails.getHttpPort()).thenReturn(httpPort); configuration.daprClientBuilder(connectionDetails); verify(builder).withPropertyOverride(Properties.HTTP_PORT, String.valueOf(httpPort)); } @Test @DisplayName("Should override GRPC port if it exists") void shouldOverrideGrpcPortIfExists() { Integer grpcPort = 6001; when(connectionDetails.getGrpcPort()).thenReturn(grpcPort); configuration.daprClientBuilder(connectionDetails); verify(builder).withPropertyOverride(Properties.GRPC_PORT, String.valueOf(grpcPort)); } @Test @DisplayName("Should override API token if it exists") void shouldOverrideApiTokenIfExists() { String apiToken = "token"; when(connectionDetails.getApiToken()).thenReturn(apiToken); configuration.daprClientBuilder(connectionDetails); verify(builder).withPropertyOverride(Properties.API_TOKEN, apiToken); } @Test @DisplayName("Should override HTTP endpoint in properties if it exists") void shouldOverrideHttpEndpointInPropertiesIfExists() { String httpEndpoint = "http://localhost:3500"; when(connectionDetails.getHttpEndpoint()).thenReturn(httpEndpoint); Properties reuslt = configuration.createPropertiesFromConnectionDetails(connectionDetails); assertThat(reuslt.getValue(Properties.HTTP_ENDPOINT)).isEqualTo(httpEndpoint); } @Test @DisplayName("Should override GRPC endpoint in properties if it exists") void shouldOverrideGrpcEndpointPropertiesIfExists() { String grpcEndpoint = "grpc://localhost:3500"; when(connectionDetails.getGrpcEndpoint()).thenReturn(grpcEndpoint); Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails); assertThat(result.getValue(Properties.GRPC_ENDPOINT)).isEqualTo(grpcEndpoint); } @Test @DisplayName("Should override HTTP port in properties if it exists") void shouldOverrideHttpPortPropertiesIfExists() { Integer httpPort = 3600; when(connectionDetails.getHttpPort()).thenReturn(httpPort); Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails); assertThat(result.getValue(Properties.HTTP_PORT)).isEqualTo(httpPort); } @Test @DisplayName("Should override GRPC port in properties if it exists") void shouldOverrideGrpcPortPropertiesIfExists() { Integer grpcPort = 6001; when(connectionDetails.getGrpcPort()).thenReturn(grpcPort); Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails); assertThat(result.getValue(Properties.GRPC_PORT)).isEqualTo(grpcPort); } @Test @DisplayName("Should override API token in properties if it exists") void shouldOverrideApiTokenPropertiesIfExists() { String apiToken = "token"; when(connectionDetails.getApiToken()).thenReturn(apiToken); Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails); assertThat(result.getValue(Properties.API_TOKEN)).isEqualTo(apiToken); } private static class TestDaprClientAutoConfiguration extends DaprClientAutoConfiguration { private final DaprClientBuilder daprClientBuilder; public TestDaprClientAutoConfiguration(DaprClientBuilder daprClientBuilder) { this.daprClientBuilder = daprClientBuilder; } @Override protected DaprClientBuilder createDaprClientBuilder() { return daprClientBuilder; } } } ================================================ FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientObservationAutoConfigurationTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.autoconfigure.client; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.spring.observation.client.ObservationDaprClient; import io.dapr.spring.observation.client.ObservationDaprWorkflowClient; import io.dapr.workflows.client.DaprWorkflowClient; import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.tck.TestObservationRegistry; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; /** * Integration tests for the observation wiring in {@link DaprClientAutoConfiguration}. * *

Verifies two key requirements: *

    *
  1. When a non-noop {@link ObservationRegistry} is present, both {@code DaprClient} and * {@code DaprWorkflowClient} beans are wrapped with observation decorators.
  2. *
  3. Consumers inject the beans by their base types ({@code DaprClient}, * {@code DaprWorkflowClient}) — no code changes needed.
  4. *
*/ class DaprClientObservationAutoConfigurationTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(DaprClientAutoConfiguration.class)); // ------------------------------------------------------------------------- // Without ObservationRegistry — plain beans // ------------------------------------------------------------------------- @Test @DisplayName("DaprClient is a plain client when no ObservationRegistry is present") void daprClientIsPlainWhenNoRegistry() { contextRunner .withBean(DaprClientBuilder.class, () -> mockBuilderReturningMockClient()) .run(context -> { assertThat(context).hasSingleBean(DaprClient.class); assertThat(context.getBean(DaprClient.class)) .isNotInstanceOf(ObservationDaprClient.class); }); } // ------------------------------------------------------------------------- // With ObservationRegistry — wrapped beans // ------------------------------------------------------------------------- @Test @DisplayName("DaprClient is ObservationDaprClient when a non-noop ObservationRegistry is present") void daprClientIsObservationWrappedWhenRegistryPresent() { contextRunner .withBean(DaprClientBuilder.class, () -> mockBuilderReturningMockClient()) .withBean(ObservationRegistry.class, TestObservationRegistry::create) .run(context -> { assertThat(context).hasSingleBean(DaprClient.class); assertThat(context.getBean(DaprClient.class)) .isInstanceOf(ObservationDaprClient.class); }); } @Test @DisplayName("DaprWorkflowClient is ObservationDaprWorkflowClient when a non-noop registry is present") void daprWorkflowClientIsObservationWrappedWhenRegistryPresent() { contextRunner .withBean(DaprClientBuilder.class, () -> mockBuilderReturningMockClient()) .withBean(ObservationRegistry.class, TestObservationRegistry::create) .run(context -> { assertThat(context).hasSingleBean(DaprWorkflowClient.class); assertThat(context.getBean(DaprWorkflowClient.class)) .isInstanceOf(ObservationDaprWorkflowClient.class); }); } // ------------------------------------------------------------------------- // Transparency — beans remain injectable by base type // ------------------------------------------------------------------------- @Test @DisplayName("Consumers can inject DaprClient by its base type regardless of wrapping") void daprClientInjectableByBaseType() { contextRunner .withBean(DaprClientBuilder.class, () -> mockBuilderReturningMockClient()) .withBean(ObservationRegistry.class, TestObservationRegistry::create) .run(context -> { // Injecting as DaprClient works — no ClassCastException, no code changes needed DaprClient client = context.getBean(DaprClient.class); assertThat(client).isNotNull(); assertThat(client).isInstanceOf(DaprClient.class); }); } @Test @DisplayName("Consumers can inject DaprWorkflowClient by its base type regardless of wrapping") void daprWorkflowClientInjectableByBaseType() { contextRunner .withBean(DaprClientBuilder.class, () -> mockBuilderReturningMockClient()) .withBean(ObservationRegistry.class, TestObservationRegistry::create) .run(context -> { // Injecting as DaprWorkflowClient works — ObservationDaprWorkflowClient IS-A DaprWorkflowClient DaprWorkflowClient workflowClient = context.getBean(DaprWorkflowClient.class); assertThat(workflowClient).isNotNull(); assertThat(workflowClient).isInstanceOf(DaprWorkflowClient.class); }); } @Test @DisplayName("Noop ObservationRegistry results in plain (unwrapped) DaprClient") void noopRegistryResultsInPlainClient() { contextRunner .withBean(DaprClientBuilder.class, () -> mockBuilderReturningMockClient()) .withBean(ObservationRegistry.class, ObservationRegistry::create) // NOOP registry .run(context -> { assertThat(context).hasSingleBean(DaprClient.class); assertThat(context.getBean(DaprClient.class)) .isNotInstanceOf(ObservationDaprClient.class); }); } @Test @DisplayName("User-provided DaprClient bean is not replaced by autoconfiguration") void userProvidedDaprClientIsNotReplaced() { DaprClient userClient = mock(DaprClient.class); contextRunner .withBean(ObservationRegistry.class, TestObservationRegistry::create) .withBean(DaprClient.class, () -> userClient) .run(context -> { assertThat(context).hasSingleBean(DaprClient.class); assertThat(context.getBean(DaprClient.class)).isSameAs(userClient); }); } // ------------------------------------------------------------------------- // Helpers // ------------------------------------------------------------------------- private static DaprClientBuilder mockBuilderReturningMockClient() { DaprClientBuilder builder = mock(DaprClientBuilder.class); when(builder.build()).thenReturn(mock(DaprClient.class)); return builder; } } ================================================ FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprWorkflowsRegistrationTests.java ================================================ package io.dapr.spring.boot.autoconfigure.client; import io.dapr.spring.boot.autoconfigure.client.workflows.TestActivity; import io.dapr.spring.boot.autoconfigure.client.workflows.TestWorkflow; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest(classes = {WorkflowTestApplication.class, DaprClientAutoConfiguration.class, TestActivity.class, TestWorkflow.class}) public class DaprWorkflowsRegistrationTests { @Autowired private DaprWorkflowClient daprWorkflowClient; @Autowired private WorkflowRuntimeBuilder workflowRuntimeBuilder; @Autowired private TestActivity testActivity; @Autowired private TestWorkflow testWorkflow; @Test public void testWorkflowInjection(){ //I cannot test here if the client works, as it needs the runtime Assertions.assertNotNull(daprWorkflowClient); //@TODO: there is no way to assert the runtime and its registered workflows and activities Assertions.assertNotNull(workflowRuntimeBuilder); //Check that both Activities and Workflows are managed beans Assertions.assertNotNull(testActivity); Assertions.assertNotNull(testWorkflow); Assertions.assertNotNull(testActivity.getRestTemplate()); Assertions.assertNotNull(testWorkflow.getRestTemplate()); } } ================================================ FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/WorkflowTestApplication.java ================================================ package io.dapr.spring.boot.autoconfigure.client; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; @SpringBootApplication @EnableDaprWorkflows public class WorkflowTestApplication { public static void main(String[] args) { SpringApplication.run(WorkflowTestApplication.class, args); } @Configuration static class Config { @Bean RestTemplate restTemplate(){ return new RestTemplate(); } } } ================================================ FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/workflows/TestActivity.java ================================================ package io.dapr.spring.boot.autoconfigure.client.workflows; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.client.RestTemplate; public class TestActivity implements WorkflowActivity { @Autowired private RestTemplate restTemplate; @Override public Object run(WorkflowActivityContext ctx) { return "OK"; } public RestTemplate getRestTemplate() { return restTemplate; } } ================================================ FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/workflows/TestWorkflow.java ================================================ package io.dapr.spring.boot.autoconfigure.client.workflows; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.client.RestTemplate; public class TestWorkflow implements Workflow { @Autowired private RestTemplate restTemplate; @Override public WorkflowStub create() { return ctx -> { ctx.callActivity(TestActivity.class.getName(), null).await(); }; } public RestTemplate getRestTemplate() { return restTemplate; } } ================================================ FILE: dapr-spring/dapr-spring-boot-observation/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../pom.xml dapr-spring-boot-observation dapr-spring-boot-observation Spring-agnostic Micrometer Observation decorators for DaprClient and DaprWorkflowClient, with OpenTelemetry trace propagation to the Dapr sidecar over gRPC. jar io.dapr dapr-sdk io.dapr dapr-sdk-workflows io.micrometer micrometer-observation io.opentelemetry opentelemetry-api io.micrometer micrometer-observation-test test org.junit.jupiter junit-jupiter test org.mockito mockito-core test org.mockito mockito-junit-jupiter ${mockito.version} test org.assertj assertj-core test org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-boot-observation/src/main/java/io/dapr/spring/observation/client/ObservationDaprClient.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.observation.client; import io.dapr.client.DaprClient; import io.dapr.client.domain.BulkPublishRequest; import io.dapr.client.domain.BulkPublishResponse; import io.dapr.client.domain.ConfigurationItem; import io.dapr.client.domain.DaprMetadata; import io.dapr.client.domain.DeleteJobRequest; import io.dapr.client.domain.DeleteStateRequest; import io.dapr.client.domain.ExecuteStateTransactionRequest; import io.dapr.client.domain.GetBulkSecretRequest; import io.dapr.client.domain.GetBulkStateRequest; import io.dapr.client.domain.GetConfigurationRequest; import io.dapr.client.domain.GetJobRequest; import io.dapr.client.domain.GetJobResponse; import io.dapr.client.domain.GetSecretRequest; import io.dapr.client.domain.GetStateRequest; import io.dapr.client.domain.HttpExtension; import io.dapr.client.domain.InvokeBindingRequest; import io.dapr.client.domain.InvokeMethodRequest; import io.dapr.client.domain.PublishEventRequest; import io.dapr.client.domain.SaveStateRequest; import io.dapr.client.domain.ScheduleJobRequest; import io.dapr.client.domain.State; import io.dapr.client.domain.StateOptions; import io.dapr.client.domain.SubscribeConfigurationRequest; import io.dapr.client.domain.SubscribeConfigurationResponse; import io.dapr.client.domain.TransactionalStateOperation; import io.dapr.client.domain.UnsubscribeConfigurationRequest; import io.dapr.client.domain.UnsubscribeConfigurationResponse; import io.dapr.utils.TypeRef; import io.grpc.Channel; import io.grpc.stub.AbstractStub; import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationRegistry; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanContext; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.util.context.Context; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.function.Function; import java.util.function.Supplier; /** * A {@link DaprClient} decorator that creates Micrometer Observation spans (bridged to OpenTelemetry) * for each non-deprecated method call. Consumers continue to use {@link DaprClient} as-is; no code * changes are required on their side. * *

Deprecated methods are delegated directly without any observation. */ public class ObservationDaprClient implements DaprClient { private final DaprClient delegate; private final ObservationRegistry observationRegistry; /** * Creates a new {@code ObservationDaprClient}. * * @param delegate the underlying {@link DaprClient} to delegate calls to * @param observationRegistry the Micrometer {@link ObservationRegistry} used to create spans */ public ObservationDaprClient(DaprClient delegate, ObservationRegistry observationRegistry) { this.delegate = Objects.requireNonNull(delegate, "delegate must not be null"); this.observationRegistry = Objects.requireNonNull(observationRegistry, "observationRegistry must not be null"); } // ------------------------------------------------------------------------- // Internal helpers // ------------------------------------------------------------------------- private Mono observe(Observation obs, Supplier> monoSupplier) { return Mono.defer(() -> { obs.start(); // Open a scope so the Micrometer-OTel bridge makes the new span current in the // OTel thread-local; capture its W3C traceparent immediately, then close the scope. // The captured context is written into the Reactor context so the downstream gRPC // call (inside DaprClientImpl.deferContextual) uses this span as its parent. SpanContext spanCtx; try (Observation.Scope ignored = obs.openScope()) { spanCtx = Span.current().getSpanContext(); } return monoSupplier.get() .doOnError(obs::error) .doFinally(signal -> obs.stop()) .contextWrite(ctx -> enrichWithSpanContext(ctx, spanCtx)); }); } private Flux observeFlux(Observation obs, Supplier> fluxSupplier) { return Flux.defer(() -> { obs.start(); SpanContext spanCtx; try (Observation.Scope ignored = obs.openScope()) { spanCtx = Span.current().getSpanContext(); } return fluxSupplier.get() .doOnError(obs::error) .doFinally(signal -> obs.stop()) .contextWrite(ctx -> enrichWithSpanContext(ctx, spanCtx)); }); } /** * Enriches the Reactor {@link Context} with W3C {@code traceparent} (and optionally * {@code tracestate}) extracted from the given OTel {@link SpanContext}. * This bridges the Micrometer Observation span into the string-keyed Reactor context that * {@link io.dapr.client.DaprClientImpl} reads to populate gRPC metadata headers. */ private static Context enrichWithSpanContext(Context ctx, SpanContext spanCtx) { if (spanCtx == null || !spanCtx.isValid()) { return ctx; } ctx = ctx.put("traceparent", TraceContextFormat.formatW3cTraceparent(spanCtx)); String traceState = TraceContextFormat.formatTraceState(spanCtx); if (!traceState.isEmpty()) { ctx = ctx.put("tracestate", traceState); } return ctx; } private static String safe(String value) { return value != null ? value : ""; } private Observation observation(String name) { return Observation.createNotStarted(name, observationRegistry); } // ------------------------------------------------------------------------- // Lifecycle // ------------------------------------------------------------------------- @Override public Mono waitForSidecar(int timeoutInMilliseconds) { return observe(observation("dapr.client.wait_for_sidecar"), () -> delegate.waitForSidecar(timeoutInMilliseconds)); } @Override public Mono shutdown() { return observe(observation("dapr.client.shutdown"), () -> delegate.shutdown()); } @Override public void close() throws Exception { delegate.close(); } // ------------------------------------------------------------------------- // Pub/Sub // ------------------------------------------------------------------------- @Override public Mono publishEvent(String pubsubName, String topicName, Object data) { return observe( observation("dapr.client.publish_event") .highCardinalityKeyValue("dapr.pubsub.name", safe(pubsubName)) .highCardinalityKeyValue("dapr.topic.name", safe(topicName)), () -> delegate.publishEvent(pubsubName, topicName, data)); } @Override public Mono publishEvent(String pubsubName, String topicName, Object data, Map metadata) { return observe( observation("dapr.client.publish_event") .highCardinalityKeyValue("dapr.pubsub.name", safe(pubsubName)) .highCardinalityKeyValue("dapr.topic.name", safe(topicName)), () -> delegate.publishEvent(pubsubName, topicName, data, metadata)); } @Override public Mono publishEvent(PublishEventRequest request) { return observe( observation("dapr.client.publish_event") .highCardinalityKeyValue("dapr.pubsub.name", safe(request.getPubsubName())) .highCardinalityKeyValue("dapr.topic.name", safe(request.getTopic())), () -> delegate.publishEvent(request)); } @Override public Mono> publishEvents(BulkPublishRequest request) { return observe( observation("dapr.client.publish_events") .highCardinalityKeyValue("dapr.pubsub.name", safe(request.getPubsubName())) .highCardinalityKeyValue("dapr.topic.name", safe(request.getTopic())), () -> delegate.publishEvents(request)); } @Override public Mono> publishEvents(String pubsubName, String topicName, String contentType, List events) { return observe( observation("dapr.client.publish_events") .highCardinalityKeyValue("dapr.pubsub.name", safe(pubsubName)) .highCardinalityKeyValue("dapr.topic.name", safe(topicName)), () -> delegate.publishEvents(pubsubName, topicName, contentType, events)); } @Override @SuppressWarnings("unchecked") public Mono> publishEvents(String pubsubName, String topicName, String contentType, T... events) { return observe( observation("dapr.client.publish_events") .highCardinalityKeyValue("dapr.pubsub.name", safe(pubsubName)) .highCardinalityKeyValue("dapr.topic.name", safe(topicName)), () -> delegate.publishEvents(pubsubName, topicName, contentType, events)); } @Override public Mono> publishEvents(String pubsubName, String topicName, String contentType, Map requestMetadata, List events) { return observe( observation("dapr.client.publish_events") .highCardinalityKeyValue("dapr.pubsub.name", safe(pubsubName)) .highCardinalityKeyValue("dapr.topic.name", safe(topicName)), () -> delegate.publishEvents(pubsubName, topicName, contentType, requestMetadata, events)); } @Override @SuppressWarnings("unchecked") public Mono> publishEvents(String pubsubName, String topicName, String contentType, Map requestMetadata, T... events) { return observe( observation("dapr.client.publish_events") .highCardinalityKeyValue("dapr.pubsub.name", safe(pubsubName)) .highCardinalityKeyValue("dapr.topic.name", safe(topicName)), () -> delegate.publishEvents(pubsubName, topicName, contentType, requestMetadata, events)); } // ------------------------------------------------------------------------- // Service Invocation — all deprecated, delegate directly // ------------------------------------------------------------------------- @Override @Deprecated public Mono invokeMethod(String appId, String methodName, Object data, HttpExtension httpExtension, Map metadata, TypeRef type) { return delegate.invokeMethod(appId, methodName, data, httpExtension, metadata, type); } @Override @Deprecated public Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Map metadata, Class clazz) { return delegate.invokeMethod(appId, methodName, request, httpExtension, metadata, clazz); } @Override @Deprecated public Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, TypeRef type) { return delegate.invokeMethod(appId, methodName, request, httpExtension, type); } @Override @Deprecated public Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Class clazz) { return delegate.invokeMethod(appId, methodName, request, httpExtension, clazz); } @Override @Deprecated public Mono invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map metadata, TypeRef type) { return delegate.invokeMethod(appId, methodName, httpExtension, metadata, type); } @Override @Deprecated public Mono invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map metadata, Class clazz) { return delegate.invokeMethod(appId, methodName, httpExtension, metadata, clazz); } @Override @Deprecated public Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Map metadata) { return delegate.invokeMethod(appId, methodName, request, httpExtension, metadata); } @Override @Deprecated public Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension) { return delegate.invokeMethod(appId, methodName, request, httpExtension); } @Override @Deprecated public Mono invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map metadata) { return delegate.invokeMethod(appId, methodName, httpExtension, metadata); } @Override @Deprecated public Mono invokeMethod(String appId, String methodName, byte[] request, HttpExtension httpExtension, Map metadata) { return delegate.invokeMethod(appId, methodName, request, httpExtension, metadata); } @Override @Deprecated public Mono invokeMethod(InvokeMethodRequest invokeMethodRequest, TypeRef type) { return delegate.invokeMethod(invokeMethodRequest, type); } // ------------------------------------------------------------------------- // Bindings // ------------------------------------------------------------------------- @Override public Mono invokeBinding(String bindingName, String operation, Object data) { return observe( observation("dapr.client.invoke_binding") .highCardinalityKeyValue("dapr.binding.name", safe(bindingName)) .highCardinalityKeyValue("dapr.binding.operation", safe(operation)), () -> delegate.invokeBinding(bindingName, operation, data)); } @Override public Mono invokeBinding(String bindingName, String operation, byte[] data, Map metadata) { return observe( observation("dapr.client.invoke_binding") .highCardinalityKeyValue("dapr.binding.name", safe(bindingName)) .highCardinalityKeyValue("dapr.binding.operation", safe(operation)), () -> delegate.invokeBinding(bindingName, operation, data, metadata)); } @Override public Mono invokeBinding(String bindingName, String operation, Object data, TypeRef type) { return observe( observation("dapr.client.invoke_binding") .highCardinalityKeyValue("dapr.binding.name", safe(bindingName)) .highCardinalityKeyValue("dapr.binding.operation", safe(operation)), () -> delegate.invokeBinding(bindingName, operation, data, type)); } @Override public Mono invokeBinding(String bindingName, String operation, Object data, Class clazz) { return observe( observation("dapr.client.invoke_binding") .highCardinalityKeyValue("dapr.binding.name", safe(bindingName)) .highCardinalityKeyValue("dapr.binding.operation", safe(operation)), () -> delegate.invokeBinding(bindingName, operation, data, clazz)); } @Override public Mono invokeBinding(String bindingName, String operation, Object data, Map metadata, TypeRef type) { return observe( observation("dapr.client.invoke_binding") .highCardinalityKeyValue("dapr.binding.name", safe(bindingName)) .highCardinalityKeyValue("dapr.binding.operation", safe(operation)), () -> delegate.invokeBinding(bindingName, operation, data, metadata, type)); } @Override public Mono invokeBinding(String bindingName, String operation, Object data, Map metadata, Class clazz) { return observe( observation("dapr.client.invoke_binding") .highCardinalityKeyValue("dapr.binding.name", safe(bindingName)) .highCardinalityKeyValue("dapr.binding.operation", safe(operation)), () -> delegate.invokeBinding(bindingName, operation, data, metadata, clazz)); } @Override public Mono invokeBinding(InvokeBindingRequest request) { return observe( observation("dapr.client.invoke_binding") .highCardinalityKeyValue("dapr.binding.name", safe(request.getName())) .highCardinalityKeyValue("dapr.binding.operation", safe(request.getOperation())), () -> delegate.invokeBinding(request)); } @Override public Mono invokeBinding(InvokeBindingRequest request, TypeRef type) { return observe( observation("dapr.client.invoke_binding") .highCardinalityKeyValue("dapr.binding.name", safe(request.getName())) .highCardinalityKeyValue("dapr.binding.operation", safe(request.getOperation())), () -> delegate.invokeBinding(request, type)); } // ------------------------------------------------------------------------- // State Management // ------------------------------------------------------------------------- @Override public Mono> getState(String storeName, State state, TypeRef type) { return observe( observation("dapr.client.get_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)) .highCardinalityKeyValue("dapr.state.key", safe(state.getKey())), () -> delegate.getState(storeName, state, type)); } @Override public Mono> getState(String storeName, State state, Class clazz) { return observe( observation("dapr.client.get_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)) .highCardinalityKeyValue("dapr.state.key", safe(state.getKey())), () -> delegate.getState(storeName, state, clazz)); } @Override public Mono> getState(String storeName, String key, TypeRef type) { return observe( observation("dapr.client.get_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)) .highCardinalityKeyValue("dapr.state.key", safe(key)), () -> delegate.getState(storeName, key, type)); } @Override public Mono> getState(String storeName, String key, Class clazz) { return observe( observation("dapr.client.get_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)) .highCardinalityKeyValue("dapr.state.key", safe(key)), () -> delegate.getState(storeName, key, clazz)); } @Override public Mono> getState(String storeName, String key, StateOptions options, TypeRef type) { return observe( observation("dapr.client.get_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)) .highCardinalityKeyValue("dapr.state.key", safe(key)), () -> delegate.getState(storeName, key, options, type)); } @Override public Mono> getState(String storeName, String key, StateOptions options, Class clazz) { return observe( observation("dapr.client.get_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)) .highCardinalityKeyValue("dapr.state.key", safe(key)), () -> delegate.getState(storeName, key, options, clazz)); } @Override public Mono> getState(GetStateRequest request, TypeRef type) { return observe( observation("dapr.client.get_state") .highCardinalityKeyValue("dapr.store.name", safe(request.getStoreName())) .highCardinalityKeyValue("dapr.state.key", safe(request.getKey())), () -> delegate.getState(request, type)); } @Override public Mono>> getBulkState(String storeName, List keys, TypeRef type) { return observe( observation("dapr.client.get_bulk_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)), () -> delegate.getBulkState(storeName, keys, type)); } @Override public Mono>> getBulkState(String storeName, List keys, Class clazz) { return observe( observation("dapr.client.get_bulk_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)), () -> delegate.getBulkState(storeName, keys, clazz)); } @Override public Mono>> getBulkState(GetBulkStateRequest request, TypeRef type) { return observe( observation("dapr.client.get_bulk_state") .highCardinalityKeyValue("dapr.store.name", safe(request.getStoreName())), () -> delegate.getBulkState(request, type)); } @Override public Mono executeStateTransaction(String storeName, List> operations) { return observe( observation("dapr.client.execute_state_transaction") .highCardinalityKeyValue("dapr.store.name", safe(storeName)), () -> delegate.executeStateTransaction(storeName, operations)); } @Override public Mono executeStateTransaction(ExecuteStateTransactionRequest request) { return observe( observation("dapr.client.execute_state_transaction") .highCardinalityKeyValue("dapr.store.name", safe(request.getStateStoreName())), () -> delegate.executeStateTransaction(request)); } @Override public Mono saveBulkState(String storeName, List> states) { return observe( observation("dapr.client.save_bulk_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)), () -> delegate.saveBulkState(storeName, states)); } @Override public Mono saveBulkState(SaveStateRequest request) { return observe( observation("dapr.client.save_bulk_state") .highCardinalityKeyValue("dapr.store.name", safe(request.getStoreName())), () -> delegate.saveBulkState(request)); } @Override public Mono saveState(String storeName, String key, Object value) { return observe( observation("dapr.client.save_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)) .highCardinalityKeyValue("dapr.state.key", safe(key)), () -> delegate.saveState(storeName, key, value)); } @Override public Mono saveState(String storeName, String key, String etag, Object value, StateOptions options) { return observe( observation("dapr.client.save_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)) .highCardinalityKeyValue("dapr.state.key", safe(key)), () -> delegate.saveState(storeName, key, etag, value, options)); } @Override public Mono saveState(String storeName, String key, String etag, Object value, Map meta, StateOptions options) { return observe( observation("dapr.client.save_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)) .highCardinalityKeyValue("dapr.state.key", safe(key)), () -> delegate.saveState(storeName, key, etag, value, meta, options)); } @Override public Mono deleteState(String storeName, String key) { return observe( observation("dapr.client.delete_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)) .highCardinalityKeyValue("dapr.state.key", safe(key)), () -> delegate.deleteState(storeName, key)); } @Override public Mono deleteState(String storeName, String key, String etag, StateOptions options) { return observe( observation("dapr.client.delete_state") .highCardinalityKeyValue("dapr.store.name", safe(storeName)) .highCardinalityKeyValue("dapr.state.key", safe(key)), () -> delegate.deleteState(storeName, key, etag, options)); } @Override public Mono deleteState(DeleteStateRequest request) { return observe( observation("dapr.client.delete_state") .highCardinalityKeyValue("dapr.store.name", safe(request.getStateStoreName())) .highCardinalityKeyValue("dapr.state.key", safe(request.getKey())), () -> delegate.deleteState(request)); } // ------------------------------------------------------------------------- // Secrets // ------------------------------------------------------------------------- @Override public Mono> getSecret(String storeName, String secretName, Map metadata) { return observe( observation("dapr.client.get_secret") .highCardinalityKeyValue("dapr.secret.store", safe(storeName)) .highCardinalityKeyValue("dapr.secret.name", safe(secretName)), () -> delegate.getSecret(storeName, secretName, metadata)); } @Override public Mono> getSecret(String storeName, String secretName) { return observe( observation("dapr.client.get_secret") .highCardinalityKeyValue("dapr.secret.store", safe(storeName)) .highCardinalityKeyValue("dapr.secret.name", safe(secretName)), () -> delegate.getSecret(storeName, secretName)); } @Override public Mono> getSecret(GetSecretRequest request) { return observe( observation("dapr.client.get_secret") .highCardinalityKeyValue("dapr.secret.store", safe(request.getStoreName())) .highCardinalityKeyValue("dapr.secret.name", safe(request.getKey())), () -> delegate.getSecret(request)); } @Override public Mono>> getBulkSecret(String storeName) { return observe( observation("dapr.client.get_bulk_secret") .highCardinalityKeyValue("dapr.secret.store", safe(storeName)), () -> delegate.getBulkSecret(storeName)); } @Override public Mono>> getBulkSecret(String storeName, Map metadata) { return observe( observation("dapr.client.get_bulk_secret") .highCardinalityKeyValue("dapr.secret.store", safe(storeName)), () -> delegate.getBulkSecret(storeName, metadata)); } @Override public Mono>> getBulkSecret(GetBulkSecretRequest request) { return observe( observation("dapr.client.get_bulk_secret") .highCardinalityKeyValue("dapr.secret.store", safe(request.getStoreName())), () -> delegate.getBulkSecret(request)); } // ------------------------------------------------------------------------- // Configuration // ------------------------------------------------------------------------- @Override public Mono getConfiguration(String storeName, String key) { return observe( observation("dapr.client.get_configuration") .highCardinalityKeyValue("dapr.configuration.store", safe(storeName)) .highCardinalityKeyValue("dapr.configuration.key", safe(key)), () -> delegate.getConfiguration(storeName, key)); } @Override public Mono getConfiguration(String storeName, String key, Map metadata) { return observe( observation("dapr.client.get_configuration") .highCardinalityKeyValue("dapr.configuration.store", safe(storeName)) .highCardinalityKeyValue("dapr.configuration.key", safe(key)), () -> delegate.getConfiguration(storeName, key, metadata)); } @Override public Mono> getConfiguration(String storeName, String... keys) { return observe( observation("dapr.client.get_configuration") .highCardinalityKeyValue("dapr.configuration.store", safe(storeName)), () -> delegate.getConfiguration(storeName, keys)); } @Override public Mono> getConfiguration(String storeName, List keys, Map metadata) { return observe( observation("dapr.client.get_configuration") .highCardinalityKeyValue("dapr.configuration.store", safe(storeName)), () -> delegate.getConfiguration(storeName, keys, metadata)); } @Override public Mono> getConfiguration(GetConfigurationRequest request) { return observe( observation("dapr.client.get_configuration") .highCardinalityKeyValue("dapr.configuration.store", safe(request.getStoreName())), () -> delegate.getConfiguration(request)); } @Override public Flux subscribeConfiguration(String storeName, String... keys) { return observeFlux( observation("dapr.client.subscribe_configuration") .highCardinalityKeyValue("dapr.configuration.store", safe(storeName)), () -> delegate.subscribeConfiguration(storeName, keys)); } @Override public Flux subscribeConfiguration(String storeName, List keys, Map metadata) { return observeFlux( observation("dapr.client.subscribe_configuration") .highCardinalityKeyValue("dapr.configuration.store", safe(storeName)), () -> delegate.subscribeConfiguration(storeName, keys, metadata)); } @Override public Flux subscribeConfiguration( SubscribeConfigurationRequest request) { return observeFlux( observation("dapr.client.subscribe_configuration") .highCardinalityKeyValue("dapr.configuration.store", safe(request.getStoreName())), () -> delegate.subscribeConfiguration(request)); } @Override public Mono unsubscribeConfiguration(String id, String storeName) { return observe( observation("dapr.client.unsubscribe_configuration") .highCardinalityKeyValue("dapr.configuration.store", safe(storeName)), () -> delegate.unsubscribeConfiguration(id, storeName)); } @Override public Mono unsubscribeConfiguration( UnsubscribeConfigurationRequest request) { return observe( observation("dapr.client.unsubscribe_configuration") .highCardinalityKeyValue("dapr.configuration.store", safe(request.getStoreName())), () -> delegate.unsubscribeConfiguration(request)); } // ------------------------------------------------------------------------- // gRPC Stub — no remote call at creation time, no observation needed // ------------------------------------------------------------------------- @Override public > T newGrpcStub(String appId, Function stubBuilder) { return delegate.newGrpcStub(appId, stubBuilder); } // ------------------------------------------------------------------------- // Metadata // ------------------------------------------------------------------------- @Override public Mono getMetadata() { return observe(observation("dapr.client.get_metadata"), () -> delegate.getMetadata()); } // ------------------------------------------------------------------------- // Jobs // ------------------------------------------------------------------------- @Override public Mono scheduleJob(ScheduleJobRequest scheduleJobRequest) { return observe( observation("dapr.client.schedule_job") .highCardinalityKeyValue("dapr.job.name", safe(scheduleJobRequest.getName())), () -> delegate.scheduleJob(scheduleJobRequest)); } @Override public Mono getJob(GetJobRequest getJobRequest) { return observe( observation("dapr.client.get_job") .highCardinalityKeyValue("dapr.job.name", safe(getJobRequest.getName())), () -> delegate.getJob(getJobRequest)); } @Override public Mono deleteJob(DeleteJobRequest deleteJobRequest) { return observe( observation("dapr.client.delete_job") .highCardinalityKeyValue("dapr.job.name", safe(deleteJobRequest.getName())), () -> delegate.deleteJob(deleteJobRequest)); } } ================================================ FILE: dapr-spring/dapr-spring-boot-observation/src/main/java/io/dapr/spring/observation/client/ObservationDaprWorkflowClient.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.observation.client; import io.dapr.config.Properties; import io.dapr.internal.opencensus.GrpcHelper; import io.dapr.workflows.Workflow; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.NewWorkflowOptions; import io.dapr.workflows.client.WorkflowState; import io.grpc.CallOptions; import io.grpc.Channel; import io.grpc.ClientCall; import io.grpc.ClientInterceptor; import io.grpc.ForwardingClientCall; import io.grpc.Metadata; import io.grpc.MethodDescriptor; import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationRegistry; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanContext; import reactor.util.context.Context; import javax.annotation.Nullable; import java.time.Duration; import java.util.Objects; import java.util.concurrent.TimeoutException; /** * A {@link DaprWorkflowClient} subclass that creates Micrometer Observation spans (bridged to * OpenTelemetry) for each non-deprecated method call. * *

Because this class extends {@link DaprWorkflowClient}, consumers can keep injecting * {@code DaprWorkflowClient} without any code changes. Deprecated methods fall through to the * parent implementation without any observation. * *

Trace propagation: an {@link OtelTracingClientInterceptor} is registered on the gRPC * channel. For each synchronous workflow RPC, the observation opens an OTel scope (via * {@link Observation#openScope()}) before calling {@code super.*}, making the observation span the * current OTel span in thread-local. The interceptor then reads {@link Span#current()} and injects * its W3C {@code traceparent} (and {@code grpc-trace-bin}) into the gRPC request headers so the * Dapr sidecar receives the full trace context. * *

Constructor note: calling {@code super(properties, interceptor)} eagerly creates a gRPC * {@code ManagedChannel}, but the actual TCP connection is established lazily on the first RPC call, * so construction succeeds even when the Dapr sidecar is not yet available. */ public class ObservationDaprWorkflowClient extends DaprWorkflowClient { private static final OtelTracingClientInterceptor TRACING_INTERCEPTOR = new OtelTracingClientInterceptor(); private final ObservationRegistry observationRegistry; /** * Creates a new {@code ObservationDaprWorkflowClient}. * * @param properties connection properties for the underlying gRPC channel * @param observationRegistry the Micrometer {@link ObservationRegistry} used to create spans */ public ObservationDaprWorkflowClient(Properties properties, ObservationRegistry observationRegistry) { super(properties, TRACING_INTERCEPTOR); this.observationRegistry = Objects.requireNonNull(observationRegistry, "observationRegistry must not be null"); } // ------------------------------------------------------------------------- // Internal helpers // ------------------------------------------------------------------------- private Observation observation(String name) { return Observation.createNotStarted(name, observationRegistry); } // ------------------------------------------------------------------------- // scheduleNewWorkflow — only String-based "leaf" overloads are overridden. // Class-based overloads in the parent delegate to this.scheduleNewWorkflow(String, ...) // via dynamic dispatch, so they naturally pick up these observations. // ------------------------------------------------------------------------- @Override public String scheduleNewWorkflow(String name) { Observation obs = observation("dapr.workflow.schedule") .highCardinalityKeyValue("dapr.workflow.name", name) .start(); try { try (Observation.Scope ignored = obs.openScope()) { return super.scheduleNewWorkflow(name); } } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } @Override public String scheduleNewWorkflow(String name, Object input) { Observation obs = observation("dapr.workflow.schedule") .highCardinalityKeyValue("dapr.workflow.name", name) .start(); try { try (Observation.Scope ignored = obs.openScope()) { return super.scheduleNewWorkflow(name, input); } } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } @Override public String scheduleNewWorkflow(String name, Object input, String instanceId) { Observation obs = observation("dapr.workflow.schedule") .highCardinalityKeyValue("dapr.workflow.name", name) .highCardinalityKeyValue("dapr.workflow.instance_id", instanceId != null ? instanceId : "") .start(); try { try (Observation.Scope ignored = obs.openScope()) { return super.scheduleNewWorkflow(name, input, instanceId); } } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } @Override public String scheduleNewWorkflow(String name, NewWorkflowOptions options) { String instanceId = options != null && options.getInstanceId() != null ? options.getInstanceId() : ""; Observation obs = observation("dapr.workflow.schedule") .highCardinalityKeyValue("dapr.workflow.name", name) .highCardinalityKeyValue("dapr.workflow.instance_id", instanceId) .start(); try { try (Observation.Scope ignored = obs.openScope()) { return super.scheduleNewWorkflow(name, options); } } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } // ------------------------------------------------------------------------- // Lifecycle operations // ------------------------------------------------------------------------- @Override public void suspendWorkflow(String workflowInstanceId, @Nullable String reason) { Observation obs = observation("dapr.workflow.suspend") .highCardinalityKeyValue("dapr.workflow.instance_id", workflowInstanceId) .start(); try { try (Observation.Scope ignored = obs.openScope()) { super.suspendWorkflow(workflowInstanceId, reason); } } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } @Override public void resumeWorkflow(String workflowInstanceId, @Nullable String reason) { Observation obs = observation("dapr.workflow.resume") .highCardinalityKeyValue("dapr.workflow.instance_id", workflowInstanceId) .start(); try { try (Observation.Scope ignored = obs.openScope()) { super.resumeWorkflow(workflowInstanceId, reason); } } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } @Override public void terminateWorkflow(String workflowInstanceId, @Nullable Object output) { Observation obs = observation("dapr.workflow.terminate") .highCardinalityKeyValue("dapr.workflow.instance_id", workflowInstanceId) .start(); try { try (Observation.Scope ignored = obs.openScope()) { super.terminateWorkflow(workflowInstanceId, output); } } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } // ------------------------------------------------------------------------- // State queries // ------------------------------------------------------------------------- @Override @Nullable public WorkflowState getWorkflowState(String instanceId, boolean getInputsAndOutputs) { Observation obs = observation("dapr.workflow.get_state") .highCardinalityKeyValue("dapr.workflow.instance_id", instanceId) .start(); try { try (Observation.Scope ignored = obs.openScope()) { return super.getWorkflowState(instanceId, getInputsAndOutputs); } } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } // ------------------------------------------------------------------------- // Waiting // ------------------------------------------------------------------------- @Override @Nullable public WorkflowState waitForWorkflowStart(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException { Observation obs = observation("dapr.workflow.wait_start") .highCardinalityKeyValue("dapr.workflow.instance_id", instanceId) .start(); try { try (Observation.Scope ignored = obs.openScope()) { return super.waitForWorkflowStart(instanceId, timeout, getInputsAndOutputs); } } catch (TimeoutException e) { obs.error(e); throw e; } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } @Override @Nullable public WorkflowState waitForWorkflowCompletion(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException { Observation obs = observation("dapr.workflow.wait_completion") .highCardinalityKeyValue("dapr.workflow.instance_id", instanceId) .start(); try { try (Observation.Scope ignored = obs.openScope()) { return super.waitForWorkflowCompletion(instanceId, timeout, getInputsAndOutputs); } } catch (TimeoutException e) { obs.error(e); throw e; } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } // ------------------------------------------------------------------------- // Events // ------------------------------------------------------------------------- @Override public void raiseEvent(String workflowInstanceId, String eventName, Object eventPayload) { Observation obs = observation("dapr.workflow.raise_event") .highCardinalityKeyValue("dapr.workflow.instance_id", workflowInstanceId) .highCardinalityKeyValue("dapr.workflow.event_name", eventName) .start(); try { try (Observation.Scope ignored = obs.openScope()) { super.raiseEvent(workflowInstanceId, eventName, eventPayload); } } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } // ------------------------------------------------------------------------- // Cleanup // ------------------------------------------------------------------------- @Override public boolean purgeWorkflow(String workflowInstanceId) { Observation obs = observation("dapr.workflow.purge") .highCardinalityKeyValue("dapr.workflow.instance_id", workflowInstanceId) .start(); try { try (Observation.Scope ignored = obs.openScope()) { return super.purgeWorkflow(workflowInstanceId); } } catch (RuntimeException e) { obs.error(e); throw e; } finally { obs.stop(); } } // Deprecated methods (getInstanceState, waitForInstanceStart, waitForInstanceCompletion, // purgeInstance) are intentionally not overridden — they fall through to the parent // implementation without any observation. // ------------------------------------------------------------------------- // gRPC interceptor: injects the current OTel span's traceparent into headers // ------------------------------------------------------------------------- /** * A gRPC {@link ClientInterceptor} that reads the current OTel span from the thread-local * context (set by {@link Observation#openScope()}) and injects its W3C {@code traceparent}, * {@code tracestate}, and {@code grpc-trace-bin} headers into every outbound RPC call. * *

The interceptor is stateless: it reads {@link Span#current()} lazily at call time, so the * same instance can be shared across all calls on the channel. */ private static final class OtelTracingClientInterceptor implements ClientInterceptor { @Override public ClientCall interceptCall( MethodDescriptor method, CallOptions options, Channel channel) { return new ForwardingClientCall.SimpleForwardingClientCall<>(channel.newCall(method, options)) { @Override public void start(Listener responseListener, Metadata headers) { SpanContext spanCtx = Span.current().getSpanContext(); if (spanCtx.isValid()) { // Build a Reactor Context with the OTel span's values and delegate to GrpcHelper, // which writes traceparent, tracestate AND grpc-trace-bin (the binary format that // older Dapr sidecar versions require for gRPC trace propagation). Context reactorCtx = Context.of("traceparent", TraceContextFormat.formatW3cTraceparent(spanCtx)); String traceState = TraceContextFormat.formatTraceState(spanCtx); if (!traceState.isEmpty()) { reactorCtx = reactorCtx.put("tracestate", traceState); } GrpcHelper.populateMetadata(reactorCtx, headers); } super.start(responseListener, headers); } }; } } } ================================================ FILE: dapr-spring/dapr-spring-boot-observation/src/main/java/io/dapr/spring/observation/client/TraceContextFormat.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.observation.client; import io.opentelemetry.api.trace.SpanContext; /** * Formats an OpenTelemetry {@link SpanContext} as the W3C Trace Context header values * ({@code traceparent} and {@code tracestate}). * *

Package-private: shared between {@link ObservationDaprClient} (Reactor context for async * gRPC calls on {@code DaprClient}) and {@link ObservationDaprWorkflowClient} (gRPC * {@code ClientInterceptor} for synchronous workflow calls). This keeps a single source of truth * for the on-wire trace format. */ final class TraceContextFormat { private TraceContextFormat() { } /** * Format a {@link SpanContext} as the value of the W3C {@code traceparent} header (version 00). */ static String formatW3cTraceparent(SpanContext spanCtx) { return "00-" + spanCtx.getTraceId() + "-" + spanCtx.getSpanId() + "-" + spanCtx.getTraceFlags().asHex(); } /** * Format a {@link SpanContext}'s trace state as the value of the W3C {@code tracestate} header. * Returns an empty string if the trace state is empty. */ static String formatTraceState(SpanContext spanCtx) { if (spanCtx.getTraceState().isEmpty()) { return ""; } StringBuilder sb = new StringBuilder(); spanCtx.getTraceState().forEach((k, v) -> { if (sb.length() > 0) { sb.append(','); } sb.append(k).append('=').append(v); }); return sb.toString(); } } ================================================ FILE: dapr-spring/dapr-spring-boot-observation/src/test/java/io/dapr/spring/observation/client/ObservationDaprClientTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.observation.client; import io.dapr.client.DaprClient; import io.dapr.client.domain.DeleteStateRequest; import io.dapr.client.domain.GetSecretRequest; import io.dapr.client.domain.GetStateRequest; import io.dapr.client.domain.InvokeBindingRequest; import io.dapr.client.domain.PublishEventRequest; import io.dapr.client.domain.ScheduleJobRequest; import io.dapr.client.domain.State; import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.observation.tck.TestObservationRegistryAssert; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import java.util.List; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; /** * Unit tests for {@link ObservationDaprClient}. * *

Verifies two key requirements: *

    *
  1. Each non-deprecated method creates a correctly named Micrometer Observation span.
  2. *
  3. The wrapper is fully transparent: it implements {@link DaprClient}, so consumers * keep injecting {@code DaprClient} without any code changes.
  4. *
*/ @ExtendWith(MockitoExtension.class) class ObservationDaprClientTest { @Mock private DaprClient delegate; private TestObservationRegistry registry; private ObservationDaprClient client; @BeforeEach void setUp() { registry = TestObservationRegistry.create(); client = new ObservationDaprClient(delegate, registry); } // ------------------------------------------------------------------------- // Transparency — the wrapper IS-A DaprClient // ------------------------------------------------------------------------- @Test @DisplayName("ObservationDaprClient is assignable to DaprClient (transparent to consumers)") void isAssignableToDaprClient() { assertThat(client).isInstanceOf(DaprClient.class); } // ------------------------------------------------------------------------- // Pub/Sub // ------------------------------------------------------------------------- @Test @DisplayName("publishEvent(pubsubName, topicName, data) creates span dapr.client.publish_event") void publishEventCreatesSpan() { when(delegate.publishEvent("my-pubsub", "my-topic", "payload")).thenReturn(Mono.empty()); client.publishEvent("my-pubsub", "my-topic", "payload").block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.publish_event") .that() .hasHighCardinalityKeyValue("dapr.pubsub.name", "my-pubsub") .hasHighCardinalityKeyValue("dapr.topic.name", "my-topic"); } @Test @DisplayName("publishEvent(PublishEventRequest) creates span dapr.client.publish_event") void publishEventRequestCreatesSpan() { PublishEventRequest request = new PublishEventRequest("my-pubsub", "my-topic", "payload"); when(delegate.publishEvent(request)).thenReturn(Mono.empty()); client.publishEvent(request).block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.publish_event"); } @Test @DisplayName("publishEvent span records error when delegate throws") void publishEventRecordsError() { RuntimeException boom = new RuntimeException("publish failed"); when(delegate.publishEvent("pubsub", "topic", "data")).thenReturn(Mono.error(boom)); assertThatThrownBy(() -> client.publishEvent("pubsub", "topic", "data").block()) .isInstanceOf(RuntimeException.class); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.publish_event") .that() .hasError(); } // ------------------------------------------------------------------------- // Bindings // ------------------------------------------------------------------------- @Test @DisplayName("invokeBinding(name, operation, data) creates span dapr.client.invoke_binding") void invokeBindingCreatesSpan() { when(delegate.invokeBinding("my-binding", "create", "data")).thenReturn(Mono.empty()); client.invokeBinding("my-binding", "create", "data").block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.invoke_binding") .that() .hasHighCardinalityKeyValue("dapr.binding.name", "my-binding") .hasHighCardinalityKeyValue("dapr.binding.operation", "create"); } @Test @DisplayName("invokeBinding(InvokeBindingRequest) creates span dapr.client.invoke_binding") void invokeBindingRequestCreatesSpan() { InvokeBindingRequest request = new InvokeBindingRequest("my-binding", "create"); when(delegate.invokeBinding(request)).thenReturn(Mono.empty()); client.invokeBinding(request).block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.invoke_binding"); } // ------------------------------------------------------------------------- // State // ------------------------------------------------------------------------- @Test @DisplayName("getState(storeName, key, Class) creates span dapr.client.get_state") void getStateCreatesSpan() { when(delegate.getState("my-store", "my-key", String.class)).thenReturn(Mono.empty()); client.getState("my-store", "my-key", String.class).block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.get_state") .that() .hasHighCardinalityKeyValue("dapr.store.name", "my-store") .hasHighCardinalityKeyValue("dapr.state.key", "my-key"); } @Test @DisplayName("saveState creates span dapr.client.save_state") void saveStateCreatesSpan() { when(delegate.saveState("my-store", "my-key", "value")).thenReturn(Mono.empty()); client.saveState("my-store", "my-key", "value").block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.save_state") .that() .hasHighCardinalityKeyValue("dapr.store.name", "my-store") .hasHighCardinalityKeyValue("dapr.state.key", "my-key"); } @Test @DisplayName("deleteState creates span dapr.client.delete_state") void deleteStateCreatesSpan() { when(delegate.deleteState("my-store", "my-key")).thenReturn(Mono.empty()); client.deleteState("my-store", "my-key").block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.delete_state") .that() .hasHighCardinalityKeyValue("dapr.store.name", "my-store") .hasHighCardinalityKeyValue("dapr.state.key", "my-key"); } @Test @DisplayName("getBulkState creates span dapr.client.get_bulk_state") void getBulkStateCreatesSpan() { when(delegate.getBulkState("my-store", List.of("k1", "k2"), String.class)) .thenReturn(Mono.empty()); client.getBulkState("my-store", List.of("k1", "k2"), String.class).block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.get_bulk_state"); } @Test @DisplayName("executeStateTransaction creates span dapr.client.execute_state_transaction") void executeStateTransactionCreatesSpan() { when(delegate.executeStateTransaction("my-store", List.of())).thenReturn(Mono.empty()); client.executeStateTransaction("my-store", List.of()).block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.execute_state_transaction"); } // ------------------------------------------------------------------------- // Secrets // ------------------------------------------------------------------------- @Test @DisplayName("getSecret(storeName, secretName) creates span dapr.client.get_secret") void getSecretCreatesSpan() { when(delegate.getSecret("my-vault", "db-password")).thenReturn(Mono.empty()); client.getSecret("my-vault", "db-password").block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.get_secret") .that() .hasHighCardinalityKeyValue("dapr.secret.store", "my-vault") .hasHighCardinalityKeyValue("dapr.secret.name", "db-password"); } @Test @DisplayName("getBulkSecret creates span dapr.client.get_bulk_secret") void getBulkSecretCreatesSpan() { when(delegate.getBulkSecret("my-vault")).thenReturn(Mono.empty()); client.getBulkSecret("my-vault").block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.get_bulk_secret"); } // ------------------------------------------------------------------------- // Configuration // ------------------------------------------------------------------------- @Test @DisplayName("getConfiguration creates span dapr.client.get_configuration") void getConfigurationCreatesSpan() { when(delegate.getConfiguration("my-config-store", "feature-flag")).thenReturn(Mono.empty()); client.getConfiguration("my-config-store", "feature-flag").block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.get_configuration") .that() .hasHighCardinalityKeyValue("dapr.configuration.store", "my-config-store"); } @Test @DisplayName("subscribeConfiguration creates span dapr.client.subscribe_configuration") void subscribeConfigurationCreatesSpan() { when(delegate.subscribeConfiguration("my-store", "k1")).thenReturn(Flux.empty()); client.subscribeConfiguration("my-store", "k1").blockLast(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.subscribe_configuration"); } @Test @DisplayName("unsubscribeConfiguration creates span dapr.client.unsubscribe_configuration") void unsubscribeConfigurationCreatesSpan() { when(delegate.unsubscribeConfiguration("sub-id", "my-store")).thenReturn(Mono.empty()); client.unsubscribeConfiguration("sub-id", "my-store").block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.unsubscribe_configuration"); } // ------------------------------------------------------------------------- // Metadata & Lifecycle // ------------------------------------------------------------------------- @Test @DisplayName("getMetadata creates span dapr.client.get_metadata") void getMetadataCreatesSpan() { when(delegate.getMetadata()).thenReturn(Mono.empty()); client.getMetadata().block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.get_metadata"); } @Test @DisplayName("waitForSidecar creates span dapr.client.wait_for_sidecar") void waitForSidecarCreatesSpan() { when(delegate.waitForSidecar(5000)).thenReturn(Mono.empty()); client.waitForSidecar(5000).block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.wait_for_sidecar"); } @Test @DisplayName("shutdown creates span dapr.client.shutdown") void shutdownCreatesSpan() { when(delegate.shutdown()).thenReturn(Mono.empty()); client.shutdown().block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.shutdown"); } // ------------------------------------------------------------------------- // Jobs // ------------------------------------------------------------------------- @Test @DisplayName("scheduleJob creates span dapr.client.schedule_job") void scheduleJobCreatesSpan() { ScheduleJobRequest request = new ScheduleJobRequest("nightly-cleanup", io.dapr.client.domain.JobSchedule.daily()); when(delegate.scheduleJob(request)).thenReturn(Mono.empty()); client.scheduleJob(request).block(); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.client.schedule_job") .that() .hasHighCardinalityKeyValue("dapr.job.name", "nightly-cleanup"); } // ------------------------------------------------------------------------- // Deferred start — observation must not leak if Mono is never subscribed // ------------------------------------------------------------------------- @Test @DisplayName("Observation does not start if the returned Mono is never subscribed") void observationDoesNotStartWithoutSubscription() { // Call the method but do NOT subscribe (no .block()) client.publishEvent("pubsub", "topic", "data"); // Registry must be empty — no observation was started TestObservationRegistryAssert.assertThat(registry).doesNotHaveAnyObservation(); } // ------------------------------------------------------------------------- // Deprecated methods — must NOT create spans // ------------------------------------------------------------------------- @Test @DisplayName("Deprecated invokeMethod delegates without creating a span") @SuppressWarnings("deprecation") void deprecatedInvokeMethodDoesNotCreateSpan() { when(delegate.invokeMethod(anyString(), anyString(), nullable(Object.class), any(io.dapr.client.domain.HttpExtension.class), any(Class.class))) .thenReturn(Mono.empty()); client.invokeMethod("app", "method", (Object) null, io.dapr.client.domain.HttpExtension.NONE, String.class).block(); // Registry must be empty — no spans for deprecated methods TestObservationRegistryAssert.assertThat(registry).doesNotHaveAnyObservation(); } } ================================================ FILE: dapr-spring/dapr-spring-boot-observation/src/test/java/io/dapr/spring/observation/client/ObservationDaprWorkflowClientTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.observation.client; import io.dapr.config.Properties; import io.dapr.workflows.client.DaprWorkflowClient; import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.observation.tck.TestObservationRegistryAssert; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; /** * Unit tests for {@link ObservationDaprWorkflowClient}. * *

The gRPC {@code ManagedChannel} created in the parent constructor connects lazily, so * instantiation succeeds without a running Dapr sidecar. Actual RPC calls will fail, but the * observation lifecycle (start → error → stop) is still validated. * *

Verifies two key requirements: *

    *
  1. Each non-deprecated method creates a correctly named Micrometer Observation span * (even when the underlying call fails due to no sidecar being available).
  2. *
  3. The wrapper extends {@link DaprWorkflowClient}, so consumers keep injecting * {@code DaprWorkflowClient} without any code changes.
  4. *
*/ class ObservationDaprWorkflowClientTest { private TestObservationRegistry registry; private ObservationDaprWorkflowClient client; @BeforeEach void setUp() { registry = TestObservationRegistry.create(); // Properties with no gRPC endpoint — channel created lazily, no sidecar needed client = new ObservationDaprWorkflowClient(new Properties(), registry); } // ------------------------------------------------------------------------- // Transparency — the wrapper IS-A DaprWorkflowClient // ------------------------------------------------------------------------- @Test @DisplayName("ObservationDaprWorkflowClient is assignable to DaprWorkflowClient (transparent)") void isAssignableToDaprWorkflowClient() { assertThat(client).isInstanceOf(DaprWorkflowClient.class); } // ------------------------------------------------------------------------- // scheduleNewWorkflow — span is created even when the call fails (no sidecar) // ------------------------------------------------------------------------- @Test @DisplayName("scheduleNewWorkflow(String) creates span dapr.workflow.schedule") void scheduleNewWorkflowByNameCreatesSpan() { // The gRPC call will fail — but the span must be recorded with an error assertThatThrownBy(() -> client.scheduleNewWorkflow("MyWorkflow")) .isInstanceOf(RuntimeException.class); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.workflow.schedule") .that() .hasHighCardinalityKeyValue("dapr.workflow.name", "MyWorkflow") .hasError(); } @Test @DisplayName("scheduleNewWorkflow(Class) delegates to String overload — span is still created") void scheduleNewWorkflowByClassDelegatesToStringOverload() { // The Class-based overload in the parent calls this.scheduleNewWorkflow(canonicalName), // which resolves to our overridden String-based method — the span is created naturally. assertThatThrownBy(() -> client.scheduleNewWorkflow(DummyWorkflow.class)) .isInstanceOf(RuntimeException.class); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.workflow.schedule") .that() .hasHighCardinalityKeyValue("dapr.workflow.name", DummyWorkflow.class.getCanonicalName()) .hasError(); } @Test @DisplayName("scheduleNewWorkflow(String, Object, String) includes instance_id in span") void scheduleNewWorkflowWithInstanceIdCreatesSpan() { assertThatThrownBy(() -> client.scheduleNewWorkflow("MyWorkflow", null, "my-instance-123")) .isInstanceOf(RuntimeException.class); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.workflow.schedule") .that() .hasHighCardinalityKeyValue("dapr.workflow.instance_id", "my-instance-123") .hasError(); } // ------------------------------------------------------------------------- // Lifecycle operations // ------------------------------------------------------------------------- @Test @DisplayName("suspendWorkflow creates span dapr.workflow.suspend") void suspendWorkflowCreatesSpan() { assertThatThrownBy(() -> client.suspendWorkflow("instance-1", "pausing")) .isInstanceOf(RuntimeException.class); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.workflow.suspend") .that() .hasHighCardinalityKeyValue("dapr.workflow.instance_id", "instance-1") .hasError(); } @Test @DisplayName("resumeWorkflow creates span dapr.workflow.resume") void resumeWorkflowCreatesSpan() { assertThatThrownBy(() -> client.resumeWorkflow("instance-1", "resuming")) .isInstanceOf(RuntimeException.class); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.workflow.resume") .that() .hasHighCardinalityKeyValue("dapr.workflow.instance_id", "instance-1") .hasError(); } @Test @DisplayName("terminateWorkflow creates span dapr.workflow.terminate") void terminateWorkflowCreatesSpan() { assertThatThrownBy(() -> client.terminateWorkflow("instance-1", null)) .isInstanceOf(RuntimeException.class); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.workflow.terminate") .that() .hasHighCardinalityKeyValue("dapr.workflow.instance_id", "instance-1") .hasError(); } // ------------------------------------------------------------------------- // State queries // ------------------------------------------------------------------------- @Test @DisplayName("getWorkflowState creates span dapr.workflow.get_state") void getWorkflowStateCreatesSpan() { assertThatThrownBy(() -> client.getWorkflowState("instance-1", false)) .isInstanceOf(RuntimeException.class); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.workflow.get_state") .that() .hasHighCardinalityKeyValue("dapr.workflow.instance_id", "instance-1") .hasError(); } // ------------------------------------------------------------------------- // Events // ------------------------------------------------------------------------- @Test @DisplayName("raiseEvent creates span dapr.workflow.raise_event") void raiseEventCreatesSpan() { assertThatThrownBy(() -> client.raiseEvent("instance-1", "OrderPlaced", "payload")) .isInstanceOf(RuntimeException.class); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.workflow.raise_event") .that() .hasHighCardinalityKeyValue("dapr.workflow.instance_id", "instance-1") .hasHighCardinalityKeyValue("dapr.workflow.event_name", "OrderPlaced") .hasError(); } // ------------------------------------------------------------------------- // Cleanup // ------------------------------------------------------------------------- @Test @DisplayName("purgeWorkflow creates span dapr.workflow.purge") void purgeWorkflowCreatesSpan() { assertThatThrownBy(() -> client.purgeWorkflow("instance-1")) .isInstanceOf(RuntimeException.class); TestObservationRegistryAssert.assertThat(registry) .hasObservationWithNameEqualTo("dapr.workflow.purge") .that() .hasHighCardinalityKeyValue("dapr.workflow.instance_id", "instance-1") .hasError(); } // ------------------------------------------------------------------------- // Deprecated methods — must NOT create spans // ------------------------------------------------------------------------- @Test @DisplayName("Deprecated getInstanceState falls through to parent without creating a span") @SuppressWarnings("deprecation") void deprecatedGetInstanceStateDoesNotCreateSpan() { // This will fail (no sidecar) but must not leave any observations in the registry assertThatThrownBy(() -> client.getInstanceState("instance-1", false)) .isInstanceOf(RuntimeException.class); // No spans should have been created for deprecated methods TestObservationRegistryAssert.assertThat(registry).doesNotHaveAnyObservation(); } // ------------------------------------------------------------------------- // Dummy workflow implementation for type-based tests // ------------------------------------------------------------------------- static class DummyWorkflow implements io.dapr.workflows.Workflow { @Override public io.dapr.workflows.WorkflowStub create() { return ctx -> { }; } } } ================================================ FILE: dapr-spring/dapr-spring-boot-properties/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../pom.xml dapr-spring-boot-properties dapr-spring-boot-properties Dapr Spring Boot Properties jar org.springframework.boot spring-boot-autoconfigure-processor true io.dapr.spring dapr-spring-workflows true org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-web test org.springframework.boot spring-boot-starter-test test org.testcontainers testcontainers test org.testcontainers junit-jupiter test com.vaadin.external.google android-json io.dapr testcontainers-dapr test ================================================ FILE: dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/client/ClientPropertiesDaprConnectionDetails.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.properties.client; public class ClientPropertiesDaprConnectionDetails implements DaprConnectionDetails { private final DaprClientProperties daprClientProperties; public ClientPropertiesDaprConnectionDetails(DaprClientProperties daprClientProperties) { this.daprClientProperties = daprClientProperties; } @Override public String getHttpEndpoint() { return this.daprClientProperties.getHttpEndpoint(); } @Override public String getGrpcEndpoint() { return this.daprClientProperties.getGrpcEndpoint(); } @Override public Integer getHttpPort() { return this.daprClientProperties.getHttpPort(); } @Override public Integer getGrpcPort() { return this.daprClientProperties.getGrpcPort(); } @Override public String getApiToken() { return this.daprClientProperties.getApiToken(); } } ================================================ FILE: dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/client/DaprClientProperties.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.properties.client; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix = "dapr.client") public class DaprClientProperties { private String httpEndpoint; private String grpcEndpoint; private Integer httpPort; private Integer grpcPort; private String apiToken; /** * Constructs a {@link DaprClientProperties}. */ public DaprClientProperties() { } /** * Constructs a {@link DaprClientProperties}. * @param httpEndpoint http endpoint to interact with the Dapr Sidecar * @param grpcEndpoint grpc endpoint to interact with the Dapr Sidecar * @param httpPort http port to interact with the Dapr Sidecar * @param grpcPort grpc port to interact with the Dapr Sidecar * @param apiToken dapr API token to interact with the Dapr Sidecar */ public DaprClientProperties(String httpEndpoint, String grpcEndpoint, Integer httpPort, Integer grpcPort, String apiToken) { this.httpEndpoint = httpEndpoint; this.grpcEndpoint = grpcEndpoint; this.httpPort = httpPort; this.grpcPort = grpcPort; this.apiToken = apiToken; } public String getHttpEndpoint() { return httpEndpoint; } public String getGrpcEndpoint() { return grpcEndpoint; } public Integer getHttpPort() { return httpPort; } public Integer getGrpcPort() { return grpcPort; } public void setHttpEndpoint(String httpEndpoint) { this.httpEndpoint = httpEndpoint; } public void setGrpcEndpoint(String grpcEndpoint) { this.grpcEndpoint = grpcEndpoint; } public void setHttpPort(Integer httpPort) { this.httpPort = httpPort; } public void setGrpcPort(Integer grpcPort) { this.grpcPort = grpcPort; } public String getApiToken() { return apiToken; } public void setApiToken(String apiToken) { this.apiToken = apiToken; } } ================================================ FILE: dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/client/DaprConnectionDetails.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.properties.client; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; public interface DaprConnectionDetails extends ConnectionDetails { String getHttpEndpoint(); String getGrpcEndpoint(); Integer getHttpPort(); Integer getGrpcPort(); String getApiToken(); } ================================================ FILE: dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/pubsub/DaprPubSubProperties.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.properties.pubsub; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix = DaprPubSubProperties.CONFIG_PREFIX) public class DaprPubSubProperties { public static final String CONFIG_PREFIX = "dapr.pubsub"; /** * Name of the PubSub Dapr component. */ private String name; private boolean observationEnabled; public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isObservationEnabled() { return observationEnabled; } public void setObservationEnabled(boolean observationEnabled) { this.observationEnabled = observationEnabled; } } ================================================ FILE: dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/statestore/DaprStateStoreProperties.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.properties.statestore; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix = DaprStateStoreProperties.CONFIG_PREFIX) public class DaprStateStoreProperties { public static final String CONFIG_PREFIX = "dapr.statestore"; /** * Name of the StateStore Dapr component. */ private String name; private String binding; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getBinding() { return binding; } public void setBinding(String binding) { this.binding = binding; } } ================================================ FILE: dapr-spring/dapr-spring-boot-properties/src/test/java/io/dapr/spring/boot/properties/client/DaprClientPropertiesTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.properties.client; import org.assertj.core.api.SoftAssertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.test.context.runner.ApplicationContextRunner; public class DaprClientPropertiesTest { private final ApplicationContextRunner runner = new ApplicationContextRunner() .withUserConfiguration(EnableDaprClientProperties.class); @Test @DisplayName("Should create DaprClientProperties correctly through constructor") public void shouldCreateDaprClientPropertiesCorrectly() { DaprClientProperties properties = new DaprClientProperties( "http://localhost", "localhost", 3500, 50001, "ABC" ); SoftAssertions.assertSoftly(softly -> { softly.assertThat(properties.getGrpcEndpoint()).isEqualTo("localhost"); softly.assertThat(properties.getHttpEndpoint()).isEqualTo("http://localhost"); softly.assertThat(properties.getHttpPort()).isEqualTo(3500); softly.assertThat(properties.getGrpcPort()).isEqualTo(50001); softly.assertThat(properties.getApiToken()).isEqualTo("ABC"); }); } @Test @DisplayName("Should create DaprClientProperties correctly through setters") public void shouldSetDaprClientPropertiesCorrectly() { DaprClientProperties properties = new DaprClientProperties(); properties.setGrpcEndpoint("localhost"); properties.setGrpcPort(50001); properties.setHttpEndpoint("http://localhost"); properties.setHttpPort(3500); properties.setApiToken("ABC"); SoftAssertions.assertSoftly(softAssertions -> { softAssertions.assertThat(properties.getGrpcEndpoint()).isEqualTo("localhost"); softAssertions.assertThat(properties.getHttpEndpoint()).isEqualTo("http://localhost"); softAssertions.assertThat(properties.getHttpPort()).isEqualTo(3500); softAssertions.assertThat(properties.getGrpcPort()).isEqualTo(50001); softAssertions.assertThat(properties.getApiToken()).isEqualTo("ABC"); }); } @Test @DisplayName("Should map DaprClient properties correctly") public void shouldMapDaprClientProperties() { runner.withSystemProperties( "dapr.client.http-endpoint=http://localhost", "dapr.client.http-port=3500", "dapr.client.grpc-endpoint=localhost", "dapr.client.grpc-port=50001" ).run(context -> { DaprClientProperties properties = context.getBean(DaprClientProperties.class); SoftAssertions.assertSoftly(softly -> { softly.assertThat(properties.getGrpcEndpoint()).isEqualTo("localhost"); softly.assertThat(properties.getHttpEndpoint()).isEqualTo("http://localhost"); softly.assertThat(properties.getHttpPort()).isEqualTo(3500); softly.assertThat(properties.getGrpcPort()).isEqualTo(50001); }); }); } @Test @DisplayName("Should map DaprClient properties correctly (camelCase)") public void shouldMapDaprClientPropertiesCamelCase() { runner.withSystemProperties( "dapr.client.httpEndpoint=http://localhost", "dapr.client.httpPort=3500", "dapr.client.grpcEndpoint=localhost", "dapr.client.grpcPort=50001" ).run(context -> { DaprClientProperties properties = context.getBean(DaprClientProperties.class); SoftAssertions.assertSoftly(softly -> { softly.assertThat(properties.getGrpcEndpoint()).isEqualTo("localhost"); softly.assertThat(properties.getHttpEndpoint()).isEqualTo("http://localhost"); softly.assertThat(properties.getHttpPort()).isEqualTo(3500); softly.assertThat(properties.getGrpcPort()).isEqualTo(50001); }); }); } @EnableConfigurationProperties(DaprClientProperties.class) static class EnableDaprClientProperties { } } ================================================ FILE: dapr-spring/dapr-spring-boot-properties/src/test/java/io/dapr/spring/boot/properties/pubsub/DaprPubSubPropertiesTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.properties.pubsub; import org.assertj.core.api.SoftAssertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.test.context.runner.ApplicationContextRunner; public class DaprPubSubPropertiesTest { final ApplicationContextRunner runner = new ApplicationContextRunner() .withUserConfiguration(EnableDaprPubSubProperties.class); @Test @DisplayName("Should configure properties with setters") void shouldSetProperties() { DaprPubSubProperties properties = new DaprPubSubProperties(); properties.setName("pubsub"); properties.setObservationEnabled(false); SoftAssertions.assertSoftly(softAssertions -> { softAssertions.assertThat(properties.getName()).isEqualTo("pubsub"); softAssertions.assertThat(properties.isObservationEnabled()).isEqualTo(false); }); } @Test @DisplayName("Should map DaprPubSubProperties correctly") void shouldMapDaprPubSubPropertiesCorrectly() { runner.withPropertyValues( "dapr.pubsub.name=pubsub", "dapr.pubsub.observation-enabled=true" ).run(context -> { DaprPubSubProperties properties = context.getBean(DaprPubSubProperties.class); SoftAssertions.assertSoftly(softAssertions -> { softAssertions.assertThat(properties.getName()).isEqualTo("pubsub"); softAssertions.assertThat(properties.isObservationEnabled()).isEqualTo(true); }); }); } @EnableConfigurationProperties(DaprPubSubProperties.class) static class EnableDaprPubSubProperties { } } ================================================ FILE: dapr-spring/dapr-spring-boot-properties/src/test/java/io/dapr/spring/boot/properties/statestore/DaprStateStorePropertiesTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.properties.statestore; import org.assertj.core.api.SoftAssertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.test.context.runner.ApplicationContextRunner; public class DaprStateStorePropertiesTest { final ApplicationContextRunner runner = new ApplicationContextRunner() .withUserConfiguration(EnableDaprStateStoreProperties.class); @Test @DisplayName("Should create DaprStateStoreProperties via constructor") void shouldSetDaprStateStorePropertiesCorrectly() { DaprStateStoreProperties properties = new DaprStateStoreProperties(); properties.setBinding("binding"); properties.setName("name"); SoftAssertions.assertSoftly(softAssertions -> { softAssertions.assertThat(properties.getName()).isEqualTo("name"); softAssertions.assertThat(properties.getBinding()).isEqualTo("binding"); }); } @Test @DisplayName("Should map Dapr state store properties correctly") void shouldMapDaprStateStoreProperties() { runner.withPropertyValues( "dapr.statestore.name=name", "dapr.statestore.binding=binding" ).run(context -> { DaprStateStoreProperties properties = context.getBean(DaprStateStoreProperties.class); SoftAssertions.assertSoftly(softly -> { softly.assertThat(properties.getBinding()).isEqualTo("binding"); softly.assertThat(properties.getName()).isEqualTo("name"); }); }); } @EnableConfigurationProperties(DaprStateStoreProperties.class) static class EnableDaprStateStoreProperties { } } ================================================ FILE: dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-4-starter/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../../pom.xml dapr-spring-boot-4-starter dapr-spring-boot-4-starter Dapr Spring Boot 4.x Starter jar 4.0.5 6.0.2 org.springframework.boot spring-boot-dependencies ${springboot4.version} pom import org.springframework.boot spring-boot-starter io.dapr dapr-sdk-springboot io.dapr.spring dapr-spring-boot-properties io.dapr.spring dapr-spring-boot-4-autoconfigure io.dapr.spring dapr-spring-6-data io.dapr.spring dapr-spring-messaging io.dapr.spring dapr-spring-workflows org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-4-starter-test/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../../pom.xml dapr-spring-boot-4-starter-test dapr-spring-boot-4-starter-test Dapr Spring Boot Starter 4.x Tests (with Testcontainers Support) jar 4.0.5 6.0.2 org.springframework.boot spring-boot-dependencies ${springboot4.version} pom import org.springframework.boot spring-boot-starter-test io.dapr.spring dapr-spring-boot-tests io.dapr testcontainers-dapr org.springframework.boot spring-boot-testcontainers org.testcontainers junit-jupiter true org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../../pom.xml dapr-spring-boot-starter dapr-spring-boot-starter Dapr Spring Boot Starter jar org.springframework.boot spring-boot-starter io.dapr dapr-sdk-springboot io.dapr.spring dapr-spring-boot-autoconfigure io.dapr.spring dapr-spring-data io.dapr.spring dapr-spring-messaging io.dapr.spring dapr-spring-workflows org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter-test/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../../pom.xml dapr-spring-boot-starter-test dapr-spring-boot-starter-test Dapr Spring Boot Starter Tests (with Testcontainers Support) jar org.springframework.boot spring-boot-starter-test io.dapr.spring dapr-spring-boot-tests io.dapr testcontainers-dapr org.springframework.boot spring-boot-testcontainers org.testcontainers junit-jupiter true org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-boot-tests/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../pom.xml dapr-spring-boot-tests dapr-spring-boot-tests Dapr Spring Boot Tests jar org.springframework.boot spring-boot-testcontainers io.dapr.spring dapr-spring-boot-properties org.testcontainers junit-jupiter test com.vaadin.external.google android-json io.dapr testcontainers-dapr org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-boot-tests/src/main/java/io/dapr/spring/boot/testcontainers/service/connection/DaprContainerConnectionDetailsFactory.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.boot.testcontainers.service.connection; import io.dapr.spring.boot.properties.client.DaprConnectionDetails; import io.dapr.testcontainers.DaprContainer; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource; public class DaprContainerConnectionDetailsFactory extends ContainerConnectionDetailsFactory { DaprContainerConnectionDetailsFactory() { } protected DaprConnectionDetails getContainerConnectionDetails(ContainerConnectionSource source) { return new DaprContainerConnectionDetails(source); } private static final class DaprContainerConnectionDetails extends ContainerConnectionDetailsFactory.ContainerConnectionDetails implements DaprConnectionDetails { private DaprContainerConnectionDetails(ContainerConnectionSource source) { super(source); } @Override public String getHttpEndpoint() { return getContainer().getHttpEndpoint(); } @Override public String getGrpcEndpoint() { return getContainer().getGrpcEndpoint(); } @Override public Integer getHttpPort() { return getContainer().getHttpPort(); } @Override public Integer getGrpcPort() { return getContainer().getGrpcPort(); } /* * No API Token for local container */ @Override public String getApiToken() { return ""; } } } ================================================ FILE: dapr-spring/dapr-spring-boot-tests/src/main/resources/META-INF/spring.factories ================================================ org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ io.dapr.spring.boot.testcontainers.service.connection.DaprContainerConnectionDetailsFactory ================================================ FILE: dapr-spring/dapr-spring-data/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../pom.xml dapr-spring-data dapr-spring-data Dapr Spring Data jar org.springframework.data spring-data-keyvalue org.springframework.data spring-data-commons io.dapr dapr-sdk org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/AbstractDaprKeyValueAdapter.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data; import io.dapr.client.DaprClient; import io.dapr.client.domain.GetStateRequest; import io.dapr.client.domain.SaveStateRequest; import io.dapr.client.domain.State; import io.dapr.utils.TypeRef; import org.springframework.data.keyvalue.core.KeyValueAdapter; import org.springframework.data.util.CloseableIterator; import org.springframework.util.Assert; import reactor.core.publisher.Mono; import java.util.Collections; import java.util.Map; public abstract class AbstractDaprKeyValueAdapter implements KeyValueAdapter { private static final Map CONTENT_TYPE_META = Map.of( "contentType", "application/json"); private final DaprClient daprClient; private final String stateStoreName; protected AbstractDaprKeyValueAdapter(DaprClient daprClient, String stateStoreName) { Assert.notNull(daprClient, "DaprClient must not be null"); Assert.hasText(stateStoreName, "State store name must not be empty"); this.daprClient = daprClient; this.stateStoreName = stateStoreName; } @Override public void destroy() throws Exception { daprClient.close(); } @Override public void clear() { // Ignore } @Override public Object put(Object id, Object item, String keyspace) { Assert.notNull(id, "Id must not be null"); Assert.notNull(item, "Item must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); String key = resolveKey(keyspace, id); State state = new State<>(key, item, null, CONTENT_TYPE_META, null); SaveStateRequest request = new SaveStateRequest(stateStoreName).setStates(state); daprClient.saveBulkState(request).block(); return item; } @Override public boolean contains(Object id, String keyspace) { return get(id, keyspace) != null; } @Override public Object get(Object id, String keyspace) { Assert.notNull(id, "Id must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); String key = resolveKey(keyspace, id); return resolveValue(daprClient.getState(stateStoreName, key, Object.class)); } @Override public T get(Object id, String keyspace, Class type) { Assert.notNull(id, "Id must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); Assert.notNull(type, "Type must not be null"); String key = resolveKey(keyspace, id); GetStateRequest stateRequest = new GetStateRequest(stateStoreName, key).setMetadata(CONTENT_TYPE_META); return resolveValue(daprClient.getState(stateRequest, TypeRef.get(type))); } @Override public Object delete(Object id, String keyspace) { Object result = get(id, keyspace); if (result == null) { return null; } String key = resolveKey(keyspace, id); daprClient.deleteState(stateStoreName, key).block(); return result; } @Override public T delete(Object id, String keyspace, Class type) { T result = get(id, keyspace, type); if (result == null) { return null; } String key = resolveKey(keyspace, id); daprClient.deleteState(stateStoreName, key).block(); return result; } @Override public Iterable getAllOf(String keyspace) { return getAllOf(keyspace, Object.class); } @Override public CloseableIterator> entries(String keyspace) { throw new UnsupportedOperationException("'entries' method is not supported"); } private String resolveKey(String keyspace, Object id) { return String.format("%s-%s", keyspace, id); } private T resolveValue(Mono> state) { if (state == null) { return null; } return state.blockOptional().map(State::getValue).orElse(null); } } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/DaprKeyValueAdapterResolver.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.client.domain.ComponentMetadata; import io.dapr.client.domain.DaprMetadata; import org.springframework.data.keyvalue.core.KeyValueAdapter; import java.util.List; import java.util.Set; public class DaprKeyValueAdapterResolver implements KeyValueAdapterResolver { private static final Set MYSQL_MARKERS = Set.of("state.mysql-v1", "bindings.mysql-v1"); private static final Set POSTGRESQL_MARKERS = Set.of("state.postgresql-v1", "bindings.postgresql-v1"); private final DaprClient daprClient; private final ObjectMapper mapper; private final String stateStoreName; private final String bindingName; /** * Constructs a {@link DaprKeyValueAdapterResolver}. * * @param daprClient The Dapr client. * @param mapper The object mapper. * @param stateStoreName The state store name. * @param bindingName The binding name. */ public DaprKeyValueAdapterResolver(DaprClient daprClient, ObjectMapper mapper, String stateStoreName, String bindingName) { this.daprClient = daprClient; this.mapper = mapper; this.stateStoreName = stateStoreName; this.bindingName = bindingName; } @Override public KeyValueAdapter resolve() { DaprMetadata metadata = daprClient.getMetadata().block(); if (metadata == null) { throw new IllegalStateException("No Dapr metadata found"); } List components = metadata.getComponents(); if (components == null || components.isEmpty()) { throw new IllegalStateException("No components found in Dapr metadata"); } if (shouldUseMySQL(components, stateStoreName, bindingName)) { return new MySQLDaprKeyValueAdapter(daprClient, mapper, stateStoreName, bindingName); } if (shouldUsePostgreSQL(components, stateStoreName, bindingName)) { return new PostgreSQLDaprKeyValueAdapter(daprClient, mapper, stateStoreName, bindingName); } throw new IllegalStateException("Could find any adapter matching the given state store and binding"); } @SuppressWarnings("AbbreviationAsWordInName") private boolean shouldUseMySQL(List components, String stateStoreName, String bindingName) { boolean stateStoreMatched = components.stream().anyMatch(x -> matchBy(stateStoreName, MYSQL_MARKERS, x)); boolean bindingMatched = components.stream().anyMatch(x -> matchBy(bindingName, MYSQL_MARKERS, x)); return stateStoreMatched && bindingMatched; } @SuppressWarnings("AbbreviationAsWordInName") private boolean shouldUsePostgreSQL(List components, String stateStoreName, String bindingName) { boolean stateStoreMatched = components.stream().anyMatch(x -> matchBy(stateStoreName, POSTGRESQL_MARKERS, x)); boolean bindingMatched = components.stream().anyMatch(x -> matchBy(bindingName, POSTGRESQL_MARKERS, x)); return stateStoreMatched && bindingMatched; } private boolean matchBy(String name, Set markers, ComponentMetadata componentMetadata) { return componentMetadata.getName().equals(name) && markers.contains(getTypeAndVersion(componentMetadata)); } private String getTypeAndVersion(ComponentMetadata component) { return component.getType() + "-" + component.getVersion(); } } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/DaprKeyValueTemplate.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; import org.springframework.dao.DataAccessException; import org.springframework.dao.DuplicateKeyException; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.dao.support.PersistenceExceptionTranslator; import org.springframework.data.domain.Sort; import org.springframework.data.keyvalue.core.IdentifierGenerator; import org.springframework.data.keyvalue.core.KeyValueAdapter; import org.springframework.data.keyvalue.core.KeyValueCallback; import org.springframework.data.keyvalue.core.KeyValueOperations; import org.springframework.data.keyvalue.core.KeyValuePersistenceExceptionTranslator; import org.springframework.data.keyvalue.core.event.KeyValueEvent; import org.springframework.data.keyvalue.core.mapping.KeyValuePersistentEntity; import org.springframework.data.keyvalue.core.mapping.KeyValuePersistentProperty; import org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext; import org.springframework.data.keyvalue.core.query.KeyValueQuery; import org.springframework.data.mapping.context.MappingContext; import org.springframework.lang.Nullable; import org.springframework.util.Assert; import org.springframework.util.ClassUtils; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.Set; public class DaprKeyValueTemplate implements KeyValueOperations, ApplicationEventPublisherAware { private static final PersistenceExceptionTranslator DEFAULT_PERSISTENCE_EXCEPTION_TRANSLATOR = new KeyValuePersistenceExceptionTranslator(); private final KeyValueAdapter adapter; private final MappingContext, ? extends KeyValuePersistentProperty> mappingContext; private final IdentifierGenerator identifierGenerator; private PersistenceExceptionTranslator exceptionTranslator = DEFAULT_PERSISTENCE_EXCEPTION_TRANSLATOR; private @Nullable ApplicationEventPublisher eventPublisher; private boolean publishEvents = false; private @SuppressWarnings("rawtypes") Set> eventTypesToPublish = Collections .emptySet(); /** * Create new {@link DaprKeyValueTemplate} using the given {@link KeyValueAdapterResolver} with a default * {@link KeyValueMappingContext}. * * @param resolver must not be {@literal null}. */ public DaprKeyValueTemplate(KeyValueAdapterResolver resolver) { this(resolver, new KeyValueMappingContext<>()); } /** * Create new {@link DaprKeyValueTemplate} using the given {@link KeyValueAdapterResolver} and {@link MappingContext}. * * @param resolver must not be {@literal null}. * @param mappingContext must not be {@literal null}. */ @SuppressWarnings("LineLength") public DaprKeyValueTemplate(KeyValueAdapterResolver resolver, MappingContext, ? extends KeyValuePersistentProperty> mappingContext) { this(resolver, mappingContext, DefaultIdentifierGenerator.INSTANCE); } /** * Create new {@link DaprKeyValueTemplate} using the given {@link KeyValueAdapterResolver} and {@link MappingContext}. * * @param resolver must not be {@literal null}. * @param mappingContext must not be {@literal null}. * @param identifierGenerator must not be {@literal null}. */ @SuppressWarnings("LineLength") public DaprKeyValueTemplate(KeyValueAdapterResolver resolver, MappingContext, ? extends KeyValuePersistentProperty> mappingContext, IdentifierGenerator identifierGenerator) { Assert.notNull(resolver, "Resolver must not be null"); Assert.notNull(mappingContext, "MappingContext must not be null"); Assert.notNull(identifierGenerator, "IdentifierGenerator must not be null"); this.adapter = resolver.resolve(); this.mappingContext = mappingContext; this.identifierGenerator = identifierGenerator; } private static boolean typeCheck(Class requiredType, @Nullable Object candidate) { return candidate == null || ClassUtils.isAssignable(requiredType, candidate.getClass()); } public void setExceptionTranslator(PersistenceExceptionTranslator exceptionTranslator) { Assert.notNull(exceptionTranslator, "ExceptionTranslator must not be null"); this.exceptionTranslator = exceptionTranslator; } /** * Set the {@link ApplicationEventPublisher} to be used to publish {@link KeyValueEvent}s. * * @param eventTypesToPublish must not be {@literal null}. */ @SuppressWarnings("rawtypes") public void setEventTypesToPublish(Set> eventTypesToPublish) { if (CollectionUtils.isEmpty(eventTypesToPublish)) { this.publishEvents = false; } else { this.publishEvents = true; this.eventTypesToPublish = Collections.unmodifiableSet(eventTypesToPublish); } } @Override public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) { this.eventPublisher = applicationEventPublisher; } @Override public T insert(T objectToInsert) { KeyValuePersistentEntity entity = getKeyValuePersistentEntity(objectToInsert); GeneratingIdAccessor generatingIdAccessor = new GeneratingIdAccessor( entity.getPropertyAccessor(objectToInsert), entity.getIdProperty(), identifierGenerator ); Object id = generatingIdAccessor.getOrGenerateIdentifier(); return insert(id, objectToInsert); } @Override public T insert(Object id, T objectToInsert) { Assert.notNull(id, "Id for object to be inserted must not be null"); Assert.notNull(objectToInsert, "Object to be inserted must not be null"); String keyspace = resolveKeySpace(objectToInsert.getClass()); potentiallyPublishEvent(KeyValueEvent.beforeInsert(id, keyspace, objectToInsert.getClass(), objectToInsert)); execute((KeyValueCallback) adapter -> { if (adapter.contains(id, keyspace)) { throw new DuplicateKeyException( String.format("Cannot insert existing object with id %s; Please use update", id)); } adapter.put(id, objectToInsert, keyspace); return null; }); potentiallyPublishEvent(KeyValueEvent.afterInsert(id, keyspace, objectToInsert.getClass(), objectToInsert)); return objectToInsert; } @Override public T update(T objectToUpdate) { KeyValuePersistentEntity entity = getKeyValuePersistentEntity(objectToUpdate); if (!entity.hasIdProperty()) { throw new InvalidDataAccessApiUsageException( String.format("Cannot determine id for type %s", ClassUtils.getUserClass(objectToUpdate))); } return update(entity.getIdentifierAccessor(objectToUpdate).getRequiredIdentifier(), objectToUpdate); } @Override public T update(Object id, T objectToUpdate) { Assert.notNull(id, "Id for object to be inserted must not be null"); Assert.notNull(objectToUpdate, "Object to be updated must not be null"); String keyspace = resolveKeySpace(objectToUpdate.getClass()); potentiallyPublishEvent(KeyValueEvent.beforeUpdate(id, keyspace, objectToUpdate.getClass(), objectToUpdate)); Object existing = execute(adapter -> adapter.put(id, objectToUpdate, keyspace)); potentiallyPublishEvent( KeyValueEvent.afterUpdate(id, keyspace, objectToUpdate.getClass(), objectToUpdate, existing)); return objectToUpdate; } @Override public Optional findById(Object id, Class type) { Assert.notNull(id, "Id for object to be found must not be null"); Assert.notNull(type, "Type to fetch must not be null"); String keyspace = resolveKeySpace(type); potentiallyPublishEvent(KeyValueEvent.beforeGet(id, keyspace, type)); T result = execute(adapter -> { Object value = adapter.get(id, keyspace, type); if (value == null || typeCheck(type, value)) { return type.cast(value); } return null; }); potentiallyPublishEvent(KeyValueEvent.afterGet(id, keyspace, type, result)); return Optional.ofNullable(result); } @Override public void delete(Class type) { Assert.notNull(type, "Type to delete must not be null"); String keyspace = resolveKeySpace(type); potentiallyPublishEvent(KeyValueEvent.beforeDropKeySpace(keyspace, type)); execute((KeyValueCallback) adapter -> { adapter.deleteAllOf(keyspace); return null; }); potentiallyPublishEvent(KeyValueEvent.afterDropKeySpace(keyspace, type)); } @SuppressWarnings("unchecked") @Override public T delete(T objectToDelete) { Class type = (Class) ClassUtils.getUserClass(objectToDelete); KeyValuePersistentEntity entity = getKeyValuePersistentEntity(objectToDelete); Object id = entity.getIdentifierAccessor(objectToDelete).getIdentifier(); if (id == null) { String error = String.format("Cannot determine id for type %s", ClassUtils.getUserClass(objectToDelete)); throw new InvalidDataAccessApiUsageException(error); } return delete(id, type); } @Override public T delete(Object id, Class type) { Assert.notNull(id, "Id for object to be deleted must not be null"); Assert.notNull(type, "Type to delete must not be null"); String keyspace = resolveKeySpace(type); potentiallyPublishEvent(KeyValueEvent.beforeDelete(id, keyspace, type)); T result = execute(adapter -> adapter.delete(id, keyspace, type)); potentiallyPublishEvent(KeyValueEvent.afterDelete(id, keyspace, type, result)); return result; } @Nullable @Override public T execute(KeyValueCallback action) { Assert.notNull(action, "KeyValueCallback must not be null"); try { return action.doInKeyValue(this.adapter); } catch (RuntimeException e) { throw resolveExceptionIfPossible(e); } } protected T executeRequired(KeyValueCallback action) { T result = execute(action); if (result != null) { return result; } throw new IllegalStateException(String.format("KeyValueCallback %s returned null value", action)); } @Override public Iterable find(KeyValueQuery query, Class type) { return executeRequired((KeyValueCallback>) adapter -> { Iterable result = adapter.find(query, resolveKeySpace(type), type); List filtered = new ArrayList<>(); for (Object candidate : result) { if (typeCheck(type, candidate)) { filtered.add(type.cast(candidate)); } } return filtered; }); } @Override public Iterable findAll(Class type) { Assert.notNull(type, "Type to fetch must not be null"); return executeRequired(adapter -> { Iterable values = adapter.getAllOf(resolveKeySpace(type), type); ArrayList filtered = new ArrayList<>(); for (Object candidate : values) { if (typeCheck(type, candidate)) { filtered.add(type.cast(candidate)); } } return filtered; }); } @SuppressWarnings("rawtypes") @Override public Iterable findAll(Sort sort, Class type) { return find(new KeyValueQuery(sort), type); } @SuppressWarnings("rawtypes") @Override public Iterable findInRange(long offset, int rows, Class type) { return find(new KeyValueQuery().skip(offset).limit(rows), type); } @SuppressWarnings("rawtypes") @Override public Iterable findInRange(long offset, int rows, Sort sort, Class type) { return find(new KeyValueQuery(sort).skip(offset).limit(rows), type); } @Override public long count(Class type) { Assert.notNull(type, "Type for count must not be null"); return adapter.count(resolveKeySpace(type)); } @Override public long count(KeyValueQuery query, Class type) { return executeRequired(adapter -> adapter.count(query, resolveKeySpace(type))); } @Override public boolean exists(KeyValueQuery query, Class type) { return executeRequired(adapter -> adapter.exists(query, resolveKeySpace(type))); } @Override public MappingContext getMappingContext() { return this.mappingContext; } @Override public KeyValueAdapter getKeyValueAdapter() { return adapter; } @Override public void destroy() throws Exception { this.adapter.destroy(); } private KeyValuePersistentEntity getKeyValuePersistentEntity(Object objectToInsert) { return this.mappingContext.getRequiredPersistentEntity(ClassUtils.getUserClass(objectToInsert)); } private String resolveKeySpace(Class type) { return this.mappingContext.getRequiredPersistentEntity(type).getKeySpace(); } private RuntimeException resolveExceptionIfPossible(RuntimeException e) { DataAccessException translatedException = exceptionTranslator.translateExceptionIfPossible(e); return translatedException != null ? translatedException : e; } @SuppressWarnings("rawtypes") private void potentiallyPublishEvent(KeyValueEvent event) { if (eventPublisher == null) { return; } if (publishEvents && (eventTypesToPublish.isEmpty() || eventTypesToPublish.contains(event.getClass()))) { eventPublisher.publishEvent(event); } } } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/DefaultIdentifierGenerator.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.keyvalue.core.IdentifierGenerator; import org.springframework.data.util.TypeInformation; import org.springframework.util.ClassUtils; import org.springframework.util.StringUtils; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.Arrays; import java.util.List; import java.util.UUID; import java.util.concurrent.atomic.AtomicReference; /** * Default implementation of {@link IdentifierGenerator} to generate identifiers of types {@link UUID}. */ enum DefaultIdentifierGenerator implements IdentifierGenerator { INSTANCE; private final AtomicReference secureRandom = new AtomicReference<>(null); @Override @SuppressWarnings("unchecked") public T generateIdentifierOfType(TypeInformation identifierType) { Class type = identifierType.getType(); if (ClassUtils.isAssignable(UUID.class, type)) { return (T) UUID.randomUUID(); } else if (ClassUtils.isAssignable(String.class, type)) { return (T) UUID.randomUUID().toString(); } else if (ClassUtils.isAssignable(Integer.class, type)) { return (T) Integer.valueOf(getSecureRandom().nextInt()); } else if (ClassUtils.isAssignable(Long.class, type)) { return (T) Long.valueOf(getSecureRandom().nextLong()); } throw new InvalidDataAccessApiUsageException( String.format("Identifier cannot be generated for %s; Supported types are: UUID, String, Integer, and Long", identifierType.getType().getName())); } private SecureRandom getSecureRandom() { SecureRandom secureRandom = this.secureRandom.get(); if (secureRandom != null) { return secureRandom; } for (String algorithm : OsTools.secureRandomAlgorithmNames()) { try { secureRandom = SecureRandom.getInstance(algorithm); } catch (NoSuchAlgorithmException e) { // ignore and try next. } } if (secureRandom == null) { throw new InvalidDataAccessApiUsageException( String.format("Could not create SecureRandom instance for one of the algorithms '%s'", StringUtils.collectionToCommaDelimitedString(OsTools.secureRandomAlgorithmNames()))); } this.secureRandom.compareAndSet(null, secureRandom); return secureRandom; } private static class OsTools { private static final String OPERATING_SYSTEM_NAME = System.getProperty("os.name").toLowerCase(); private static final List SECURE_RANDOM_ALGORITHMS_LINUX_OSX_SOLARIS = Arrays.asList("NativePRNGBlocking", "NativePRNGNonBlocking", "NativePRNG", "SHA1PRNG"); private static final List SECURE_RANDOM_ALGORITHMS_WINDOWS = Arrays.asList("SHA1PRNG", "Windows-PRNG"); static List secureRandomAlgorithmNames() { return OPERATING_SYSTEM_NAME.contains("win") ? SECURE_RANDOM_ALGORITHMS_WINDOWS : SECURE_RANDOM_ALGORITHMS_LINUX_OSX_SOLARIS; } } } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/GeneratingIdAccessor.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data; import org.springframework.data.keyvalue.core.IdentifierGenerator; import org.springframework.data.mapping.IdentifierAccessor; import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.PersistentPropertyAccessor; import org.springframework.util.Assert; /** * {@link IdentifierAccessor} adding a {@link #getOrGenerateIdentifier()} to automatically generate an identifier and * set it on the underling bean instance. * * @see #getOrGenerateIdentifier() */ class GeneratingIdAccessor implements IdentifierAccessor { private final PersistentPropertyAccessor accessor; private final PersistentProperty identifierProperty; private final IdentifierGenerator generator; /** * Creates a new {@link GeneratingIdAccessor} using the given {@link PersistentPropertyAccessor}, identifier property * and {@link IdentifierGenerator}. * * @param accessor must not be {@literal null}. * @param identifierProperty must not be {@literal null}. * @param generator must not be {@literal null}. */ GeneratingIdAccessor(PersistentPropertyAccessor accessor, PersistentProperty identifierProperty, IdentifierGenerator generator) { Assert.notNull(accessor, "PersistentPropertyAccessor must not be null"); Assert.notNull(identifierProperty, "Identifier property must not be null"); Assert.notNull(generator, "IdentifierGenerator must not be null"); this.accessor = accessor; this.identifierProperty = identifierProperty; this.generator = generator; } @Override public Object getIdentifier() { return accessor.getProperty(identifierProperty); } Object getOrGenerateIdentifier() { Object existingIdentifier = getIdentifier(); if (existingIdentifier != null) { return existingIdentifier; } Object generatedIdentifier = generator.generateIdentifierOfType(identifierProperty.getTypeInformation()); accessor.setProperty(identifierProperty, generatedIdentifier); return generatedIdentifier; } } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/KeyValueAdapterResolver.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data; import org.springframework.data.keyvalue.core.KeyValueAdapter; public interface KeyValueAdapterResolver { KeyValueAdapter resolve(); } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/MySQLDaprKeyValueAdapter.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data; import com.fasterxml.jackson.core.JsonPointer; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.utils.TypeRef; import org.springframework.data.keyvalue.core.query.KeyValueQuery; import org.springframework.expression.spel.SpelNode; import org.springframework.expression.spel.standard.SpelExpression; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.util.Assert; import java.util.Base64; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * A {@link org.springframework.data.keyvalue.core.KeyValueAdapter} implementation for MySQL. */ @SuppressWarnings("AbbreviationAsWordInName") public class MySQLDaprKeyValueAdapter extends AbstractDaprKeyValueAdapter { private static final String DELETE_BY_KEYSPACE_PATTERN = "delete from state where id LIKE '%s'"; private static final String SELECT_BY_KEYSPACE_PATTERN = "select value from state where id LIKE '%s'"; private static final String SELECT_BY_FILTER_PATTERN = "select value from state where id LIKE '%s' and JSON_EXTRACT(value, %s) = %s"; private static final String COUNT_BY_KEYSPACE_PATTERN = "select count(*) as value from state where id LIKE '%s'"; private static final String COUNT_BY_FILTER_PATTERN = "select count(*) as value from state where id LIKE '%s' and JSON_EXTRACT(value, %s) = %s"; private static final TypeRef> FILTER_TYPE_REF = new TypeRef<>() { }; private static final TypeRef> COUNT_TYPE_REF = new TypeRef<>() { }; private static final SpelExpressionParser PARSER = new SpelExpressionParser(); private static final JsonPointer VALUE_POINTER = JsonPointer.compile("/value"); private final DaprClient daprClient; private final ObjectMapper mapper; private final String stateStoreName; private final String bindingName; /** * Constructs a {@link MySQLDaprKeyValueAdapter}. * * @param daprClient The Dapr client. * @param mapper The object mapper. * @param stateStoreName The state store name. * @param bindingName The binding name. */ public MySQLDaprKeyValueAdapter(DaprClient daprClient, ObjectMapper mapper, String stateStoreName, String bindingName) { super(daprClient, stateStoreName); Assert.notNull(mapper, "ObjectMapper must not be null"); Assert.hasText(bindingName, "State store binding must not be empty"); this.daprClient = daprClient; this.mapper = mapper; this.stateStoreName = stateStoreName; this.bindingName = bindingName; } @Override public Iterable getAllOf(String keyspace, Class type) { Assert.hasText(keyspace, "Keyspace must not be empty"); Assert.notNull(type, "Type must not be null"); String sql = createSql(SELECT_BY_KEYSPACE_PATTERN, keyspace); List result = queryUsingBinding(sql, FILTER_TYPE_REF); return convertValues(result, type); } @Override public void deleteAllOf(String keyspace) { Assert.hasText(keyspace, "Keyspace must not be empty"); String sql = createSql(DELETE_BY_KEYSPACE_PATTERN, keyspace); execUsingBinding(sql); } @Override public Iterable find(KeyValueQuery query, String keyspace, Class type) { Assert.notNull(query, "Query must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); Assert.notNull(type, "Type must not be null"); Object criteria = query.getCriteria(); if (criteria == null) { return getAllOf(keyspace, type); } String sql = createSql(SELECT_BY_FILTER_PATTERN, keyspace, criteria); List result = queryUsingBinding(sql, FILTER_TYPE_REF); return convertValues(result, type); } @Override public long count(String keyspace) { Assert.hasText(keyspace, "Keyspace must not be empty"); String sql = createSql(COUNT_BY_KEYSPACE_PATTERN, keyspace); List result = queryUsingBinding(sql, COUNT_TYPE_REF); return extractCount(result); } @Override public long count(KeyValueQuery query, String keyspace) { Assert.notNull(query, "Query must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); Object criteria = query.getCriteria(); if (criteria == null) { return count(keyspace); } String sql = createSql(COUNT_BY_FILTER_PATTERN, keyspace, criteria); List result = queryUsingBinding(sql, COUNT_TYPE_REF); return extractCount(result); } private String getKeyspaceFilter(String keyspace) { return String.format("%s||%s-%%", stateStoreName, keyspace); } private String createSql(String sqlPattern, String keyspace) { String keyspaceFilter = getKeyspaceFilter(keyspace); return String.format(sqlPattern, keyspaceFilter); } private String createSql(String sqlPattern, String keyspace, Object criteria) { String keyspaceFilter = getKeyspaceFilter(keyspace); SpelExpression expression = PARSER.parseRaw(criteria.toString()); SpelNode leftNode = expression.getAST().getChild(0); SpelNode rightNode = expression.getAST().getChild(1); String left = String.format("'$.%s'", leftNode.toStringAST()); String right = rightNode.toStringAST(); return String.format(sqlPattern, keyspaceFilter, left, right); } private void execUsingBinding(String sql) { Map meta = Map.of("sql", sql); daprClient.invokeBinding(bindingName, "exec", null, meta).block(); } private T queryUsingBinding(String sql, TypeRef typeRef) { Map meta = Map.of("sql", sql); return daprClient.invokeBinding(bindingName, "query", null, meta, typeRef).block(); } private List convertValues(List values, Class type) { if (values == null || values.isEmpty()) { return Collections.emptyList(); } return values.stream() .map(value -> convertValue(value, type)) .collect(Collectors.toList()); } private T convertValue(JsonNode value, Class type) { JsonNode valueNode = value.at(VALUE_POINTER); if (valueNode.isMissingNode()) { throw new IllegalStateException("Value is missing"); } try { // The value is stored as a base64 encoded string and wrapped in quotes // hence we need to remove the quotes and then decode String rawValue = valueNode.toString().replace("\"", ""); byte[] decodedValue = Base64.getDecoder().decode(rawValue); return mapper.readValue(decodedValue, type); } catch (Exception e) { throw new RuntimeException(e); } } private long extractCount(List values) { if (values == null || values.isEmpty()) { return 0; } JsonNode valueNode = values.get(0).at(VALUE_POINTER); if (valueNode.isMissingNode()) { throw new IllegalStateException("Count value is missing"); } if (!valueNode.isNumber()) { throw new IllegalStateException("Count value is not a number"); } return valueNode.asLong(); } } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/PostgreSQLDaprKeyValueAdapter.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.spring.data.repository.query.DaprPredicate; import io.dapr.utils.TypeRef; import org.springframework.data.keyvalue.core.query.KeyValueQuery; import org.springframework.expression.spel.SpelNode; import org.springframework.expression.spel.standard.SpelExpression; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.util.Assert; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * A {@link org.springframework.data.keyvalue.core.KeyValueAdapter} implementation for PostgreSQL. */ @SuppressWarnings("AbbreviationAsWordInName") public class PostgreSQLDaprKeyValueAdapter extends AbstractDaprKeyValueAdapter { private static final String DELETE_BY_KEYSPACE_PATTERN = "delete from state where key LIKE '%s'"; private static final String SELECT_BY_KEYSPACE_PATTERN = "select value from state where key LIKE '%s'"; private static final String SELECT_BY_FILTER_PATTERN = "select value from state where key LIKE '%s' and JSONB_EXTRACT_PATH_TEXT(value, %s) = %s"; private static final String COUNT_BY_KEYSPACE_PATTERN = "select count(*) as value from state where key LIKE '%s'"; private static final String COUNT_BY_FILTER_PATTERN = "select count(*) as value from state where key LIKE '%s' and JSONB_EXTRACT_PATH_TEXT(value, %s) = %s"; private static final TypeRef>> FILTER_TYPE_REF = new TypeRef<>() { }; private static final TypeRef>> COUNT_TYPE_REF = new TypeRef<>() { }; private static final SpelExpressionParser PARSER = new SpelExpressionParser(); private final DaprClient daprClient; private final ObjectMapper mapper; private final String stateStoreName; private final String bindingName; /** * Constructs a {@link PostgreSQLDaprKeyValueAdapter}. * * @param daprClient The Dapr client. * @param mapper The object mapper. * @param stateStoreName The state store name. * @param bindingName The binding name. */ public PostgreSQLDaprKeyValueAdapter(DaprClient daprClient, ObjectMapper mapper, String stateStoreName, String bindingName) { super(daprClient, stateStoreName); Assert.notNull(mapper, "ObjectMapper must not be null"); Assert.hasText(bindingName, "State store binding must not be empty"); this.daprClient = daprClient; this.mapper = mapper; this.stateStoreName = stateStoreName; this.bindingName = bindingName; } @Override public Iterable getAllOf(String keyspace, Class type) { Assert.hasText(keyspace, "Keyspace must not be empty"); Assert.notNull(type, "Type must not be null"); String sql = createSql(SELECT_BY_KEYSPACE_PATTERN, keyspace); List> result = queryUsingBinding(sql, FILTER_TYPE_REF); return convertValues(result, type); } @Override public void deleteAllOf(String keyspace) { Assert.hasText(keyspace, "Keyspace must not be empty"); String sql = createSql(DELETE_BY_KEYSPACE_PATTERN, keyspace); execUsingBinding(sql); } @Override public Iterable find(KeyValueQuery query, String keyspace, Class type) { Assert.notNull(query, "Query must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); Assert.notNull(type, "Type must not be null"); Object criteria = query.getCriteria(); if (criteria == null) { return getAllOf(keyspace, type); } String sql = createSql(SELECT_BY_FILTER_PATTERN, keyspace, criteria); List> result = queryUsingBinding(sql, FILTER_TYPE_REF); return convertValues(result, type); } @Override public long count(String keyspace) { Assert.hasText(keyspace, "Keyspace must not be empty"); String sql = createSql(COUNT_BY_KEYSPACE_PATTERN, keyspace); List> result = queryUsingBinding(sql, COUNT_TYPE_REF); return extractCount(result); } @Override public long count(KeyValueQuery query, String keyspace) { Assert.notNull(query, "Query must not be null"); Assert.hasText(keyspace, "Keyspace must not be empty"); Object criteria = query.getCriteria(); if (criteria == null) { return count(keyspace); } String sql = createSql(COUNT_BY_FILTER_PATTERN, keyspace, criteria); List> result = queryUsingBinding(sql, COUNT_TYPE_REF); return extractCount(result); } private String getKeyspaceFilter(String keyspace) { return String.format("%s||%s-%%", stateStoreName, keyspace); } private String createSql(String sqlPattern, String keyspace) { String keyspaceFilter = getKeyspaceFilter(keyspace); return String.format(sqlPattern, keyspaceFilter); } private String createSql(String sqlPattern, String keyspace, Object criteria) { String keyspaceFilter = getKeyspaceFilter(keyspace); if (criteria instanceof DaprPredicate) { var daprPredicate = (DaprPredicate) criteria; String path = daprPredicate.getPath().toString(); String pathWithOutType = String.format("'%s'", path.substring(path.indexOf(".") + 1)); String value = String.format("'%s'", daprPredicate.getValue().toString()); return String.format(sqlPattern, keyspaceFilter, pathWithOutType, value); } else if (criteria instanceof String) { SpelExpression expression = PARSER.parseRaw(criteria.toString()); SpelNode leftNode = expression.getAST().getChild(0); SpelNode rightNode = expression.getAST().getChild(1); String left = String.format("'%s'", leftNode.toStringAST()); String right = rightNode.toStringAST(); return String.format(sqlPattern, keyspaceFilter, left, right); } return null; } private void execUsingBinding(String sql) { Map meta = Map.of("sql", sql); daprClient.invokeBinding(bindingName, "exec", null, meta).block(); } private T queryUsingBinding(String sql, TypeRef typeRef) { Map meta = Map.of("sql", sql); return daprClient.invokeBinding(bindingName, "query", null, meta, typeRef).block(); } private Iterable convertValues(List> values, Class type) { if (values == null || values.isEmpty()) { return Collections.emptyList(); } return values.stream() .flatMap(Collection::stream) .map(value -> convertValue(value, type)) .collect(Collectors.toList()); } private T convertValue(Object value, Class type) { try { return mapper.convertValue(value, type); } catch (Exception e) { throw new RuntimeException(e); } } private long extractCount(List> values) { if (values == null || values.isEmpty()) { return 0; } return values.stream() .flatMap(Collection::stream) .collect(Collectors.toList()) .get(0); } } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/config/DaprRepositoriesRegistrar.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data.repository.config; import org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport; import org.springframework.data.repository.config.RepositoryConfigurationExtension; import java.lang.annotation.Annotation; /** * Dapr specific {@link RepositoryBeanDefinitionRegistrarSupport} implementation. */ public class DaprRepositoriesRegistrar extends RepositoryBeanDefinitionRegistrarSupport { @Override protected Class getAnnotation() { return EnableDaprRepositories.class; } @Override protected RepositoryConfigurationExtension getExtension() { return new DaprRepositoryConfigurationExtension(); } } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/config/DaprRepositoryConfigurationExtension.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data.repository.config; import org.springframework.data.keyvalue.repository.config.KeyValueRepositoryConfigurationExtension; import org.springframework.data.repository.config.RepositoryConfigurationExtension; /** * {@link RepositoryConfigurationExtension} for Dapr-based repositories. */ @SuppressWarnings("unchecked") public class DaprRepositoryConfigurationExtension extends KeyValueRepositoryConfigurationExtension { @Override public String getModuleName() { return "Dapr"; } @Override protected String getModulePrefix() { return "dapr"; } @Override protected String getDefaultKeyValueTemplateRef() { return "daprKeyValueTemplate"; } } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/config/EnableDaprRepositories.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data.repository.config; import io.dapr.spring.data.repository.query.DaprPredicateQueryCreator; import org.springframework.beans.factory.FactoryBean; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Import; import org.springframework.data.keyvalue.core.KeyValueOperations; import org.springframework.data.keyvalue.repository.config.QueryCreatorType; import org.springframework.data.keyvalue.repository.support.KeyValueRepositoryFactoryBean; import org.springframework.data.repository.config.DefaultRepositoryBaseClass; import org.springframework.data.repository.query.QueryLookupStrategy; import org.springframework.data.repository.query.QueryLookupStrategy.Key; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Annotation to activate Dapr repositories. If no base package is configured through either {@link #value()}, * {@link #basePackages()} or {@link #basePackageClasses()} it will trigger scanning of the package of annotated class. */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @Import(DaprRepositoriesRegistrar.class) @QueryCreatorType(DaprPredicateQueryCreator.class) public @interface EnableDaprRepositories { /** * Alias for the {@link #basePackages()} attribute. Allows for more concise annotation declarations e.g.: * {@code @EnableJpaRepositories("org.my.pkg")} instead of {@code @EnableJpaRepositories(basePackages="org.my.pkg")}. * * @return alias of the base package */ String[] value() default {}; /** * Base packages to scan for annotated components. {@link #value()} is an alias for (and mutually exclusive with) this * attribute. Use {@link #basePackageClasses()} for a type-safe alternative to String-based package names. * * @return array of base packages */ String[] basePackages() default {}; /** * Type-safe alternative to {@link #basePackages()} for specifying the packages to scan for annotated components. The * package of each class specified will be scanned. Consider creating a special no-op marker class or interface in * each package that serves no purpose other than being referenced by this attribute. * * @return array of base classes */ Class[] basePackageClasses() default {}; /** * Specifies which types are not eligible for component scanning. * * @return array of exclusion filters */ Filter[] excludeFilters() default {}; /** * Specifies which types are eligible for component scanning. Further narrows the set of candidate components from * everything in {@link #basePackages()} to everything in the base packages that matches the given filter or filters. * * @return array of inclusion filters */ Filter[] includeFilters() default {}; /** * Returns the postfix to be used when looking up custom repository implementations. Defaults to {@literal Impl}. So * for a repository named {@code PersonRepository} the corresponding implementation class will be looked up scanning * for {@code PersonRepositoryImpl}. * * @return repository implementation post fix */ String repositoryImplementationPostfix() default "Impl"; /** * Configures the location of where to find the Spring Data named queries properties file. * * @return named queries location */ String namedQueriesLocation() default ""; /** * Returns the key of the {@link QueryLookupStrategy} to be used for lookup queries for query methods. Defaults to * {@link Key#CREATE_IF_NOT_FOUND}. * * @return key lookup strategy */ Key queryLookupStrategy() default Key.CREATE_IF_NOT_FOUND; /** * Returns the {@link FactoryBean} class to be used for each repository instance. Defaults to * {@link KeyValueRepositoryFactoryBean}. * * @return repository factory bean class */ Class repositoryFactoryBeanClass() default KeyValueRepositoryFactoryBean.class; /** * Configure the repository base class to be used to create repository proxies for this particular configuration. * * @return repository base class */ Class repositoryBaseClass() default DefaultRepositoryBaseClass.class; /** * Configures the name of the {@link KeyValueOperations} bean to be used with the repositories detected. * * @return the Key value template bean name */ String keyValueTemplateRef() default "daprKeyValueTemplate"; /** * Configures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the * repositories infrastructure. * * @return whether to consider nested repository interfaces */ boolean considerNestedRepositories() default false; } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicate.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data.repository.query; import org.springframework.beans.BeanWrapper; import org.springframework.data.mapping.PropertyPath; import org.springframework.data.util.DirectFieldAccessFallbackBeanWrapper; import org.springframework.util.ObjectUtils; import java.util.function.Function; import java.util.function.Predicate; public class DaprPredicate implements Predicate { private final PropertyPath path; private final Function check; private final Object value; public DaprPredicate(PropertyPath path, Object expected) { this(path, expected, (valueToCompare) -> ObjectUtils.nullSafeEquals(valueToCompare, expected)); } /** * Creates a new {@link DaprPredicate}. * * @param path The path to the property to compare. * @param value The value to compare. * @param check The function to check the value. */ public DaprPredicate(PropertyPath path, Object value, Function check) { this.path = path; this.check = check; this.value = value; } public PropertyPath getPath() { return path; } public Object getValue() { return value; } @Override public boolean test(Object o) { Object value = getValueByPath(o, path); return check.apply(value); } private Object getValueByPath(Object root, PropertyPath path) { Object currentValue = root; for (PropertyPath currentPath : path) { currentValue = wrap(currentValue).getPropertyValue(currentPath.getSegment()); if (currentValue == null) { break; } } return currentValue; } private BeanWrapper wrap(Object o) { return new DirectFieldAccessFallbackBeanWrapper(o); } } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicateBuilder.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data.repository.query; import org.springframework.data.repository.query.parser.Part; import org.springframework.util.ObjectUtils; import org.springframework.util.comparator.Comparators; import java.util.Collection; import java.util.Map; import java.util.Objects; import java.util.function.Predicate; import java.util.regex.Pattern; class DaprPredicateBuilder { private final Part part; private DaprPredicateBuilder(Part part) { this.part = part; } static DaprPredicateBuilder propertyValueOf(Part part) { return new DaprPredicateBuilder(part); } Predicate isTrue() { return new DaprPredicate(part.getProperty(), true); } public Predicate isFalse() { return new DaprPredicate(part.getProperty(), false); } public Predicate isEqualTo(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (!ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) { if ((o instanceof String) && (value instanceof String)) { var s1 = (String)o; var s2 = (String)value; return s1.equalsIgnoreCase(s2); } } return ObjectUtils.nullSafeEquals(o, value); }); } public Predicate isNull() { return new DaprPredicate(part.getProperty(), null, Objects::isNull); } public Predicate isNotNull() { return isNull().negate(); } public Predicate isLessThan(Object value) { return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) < 0); } public Predicate isLessThanEqual(Object value) { return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) <= 0); } public Predicate isGreaterThan(Object value) { return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) > 0); } public Predicate isGreaterThanEqual(Object value) { return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) >= 0); } public Predicate matches(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (o == null || value == null) { return ObjectUtils.nullSafeEquals(o, value); } if (value instanceof Pattern) { var pattern = (Pattern)value; return pattern.matcher(o.toString()).find(); } return o.toString().matches(value.toString()); }); } public Predicate in(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (value instanceof Collection) { var collection = (Collection)value; if (o instanceof Collection) { var subSet = (Collection)o; return collection.containsAll(subSet); } return collection.contains(o); } if (ObjectUtils.isArray(value)) { return ObjectUtils.containsElement(ObjectUtils.toObjectArray(value), value); } return false; }); } public Predicate contains(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (o == null) { return false; } if (o instanceof Collection) { var collection = (Collection)o; return collection.contains(value); } if (ObjectUtils.isArray(o)) { return ObjectUtils.containsElement(ObjectUtils.toObjectArray(o), value); } if (o instanceof Map) { var map = (Map)o; return map.containsValue(value); } if (value == null) { return false; } String s = o.toString(); if (ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) { return s.contains(value.toString()); } return s.toLowerCase().contains(value.toString().toLowerCase()); }); } public Predicate startsWith(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (!(o instanceof String)) { return false; } var s = (String)o; if (ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) { return s.startsWith(value.toString()); } return s.toLowerCase().startsWith(value.toString().toLowerCase()); }); } public Predicate endsWith(Object value) { return new DaprPredicate(part.getProperty(), value, o -> { if (!(o instanceof String)) { return false; } var s = (String)o; if (ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) { return s.endsWith(value.toString()); } return s.toLowerCase().endsWith(value.toString().toLowerCase()); }); } } ================================================ FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicateQueryCreator.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.data.repository.query; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.domain.Sort; import org.springframework.data.keyvalue.core.query.KeyValueQuery; import org.springframework.data.repository.query.ParameterAccessor; import org.springframework.data.repository.query.parser.AbstractQueryCreator; import org.springframework.data.repository.query.parser.Part; import org.springframework.data.repository.query.parser.PartTree; import org.springframework.lang.Nullable; import java.util.Iterator; import java.util.function.Predicate; /** * This class is copied from https://github.com/spring-projects/spring-data-keyvalue/blob/ff441439124585042dd0cbff952f977a343444d2/src/main/java/org/springframework/data/keyvalue/repository/query/PredicateQueryCreator.java#L46 * because it has private accessors to internal classes, making it impossible to extend or use the original * This requires to be created from scratch to not use predicates, but this is only worth it if we can prove these * abstractions are worth the time. */ public class DaprPredicateQueryCreator extends AbstractQueryCreator>, Predicate> { public DaprPredicateQueryCreator(PartTree tree, ParameterAccessor parameters) { super(tree, parameters); } @Override protected Predicate create(Part part, Iterator iterator) { DaprPredicateBuilder daprPredicateBuilder = DaprPredicateBuilder.propertyValueOf(part); switch (part.getType()) { case TRUE: return daprPredicateBuilder.isTrue(); case FALSE: return daprPredicateBuilder.isFalse(); case SIMPLE_PROPERTY: return daprPredicateBuilder.isEqualTo(iterator.next()); case IS_NULL: return daprPredicateBuilder.isNull(); case IS_NOT_NULL: return daprPredicateBuilder.isNotNull(); case LIKE: return daprPredicateBuilder.contains(iterator.next()); case STARTING_WITH: return daprPredicateBuilder.startsWith(iterator.next()); case AFTER: case GREATER_THAN: return daprPredicateBuilder.isGreaterThan(iterator.next()); case GREATER_THAN_EQUAL: return daprPredicateBuilder.isGreaterThanEqual(iterator.next()); case BEFORE: case LESS_THAN: return daprPredicateBuilder.isLessThan(iterator.next()); case LESS_THAN_EQUAL: return daprPredicateBuilder.isLessThanEqual(iterator.next()); case ENDING_WITH: return daprPredicateBuilder.endsWith(iterator.next()); case BETWEEN: return daprPredicateBuilder.isGreaterThan(iterator.next()) .and(daprPredicateBuilder.isLessThan(iterator.next())); case REGEX: return daprPredicateBuilder.matches(iterator.next()); case IN: return daprPredicateBuilder.in(iterator.next()); default: throw new InvalidDataAccessApiUsageException(String.format("Found invalid part '%s' in query", part.getType())); } } @Override protected Predicate and(Part part, Predicate base, Iterator iterator) { return base.and((Predicate) create(part, iterator)); } @Override protected Predicate or(Predicate base, Predicate criteria) { return base.or((Predicate) criteria); } @Override protected KeyValueQuery> complete(@Nullable Predicate criteria, Sort sort) { if (criteria == null) { return new KeyValueQuery<>(it -> true, sort); } return new KeyValueQuery<>(criteria, sort); } } ================================================ FILE: dapr-spring/dapr-spring-messaging/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../pom.xml dapr-spring-messaging dapr-spring-messaging Dapr Spring Messaging jar org.springframework spring-context io.dapr dapr-sdk org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/DaprMessagingOperations.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.messaging; import reactor.core.publisher.Mono; public interface DaprMessagingOperations { /** * Sends a message to the specified topic in a blocking manner. * * @param topic the topic to send the message to or {@code null} to send to the * default topic * @param message the message to send */ void send(String topic, T message); /** * Create a {@link SendMessageBuilder builder} for configuring and sending a message. * * @param message the payload of the message * @return the builder to configure and send the message */ SendMessageBuilder newMessage(T message); /** * Builder that can be used to configure and send a message. Provides more options * than the basic send/sendAsync methods provided by {@link DaprMessagingOperations}. * * @param the message payload type */ interface SendMessageBuilder { /** * Specify the topic to send the message to. * * @param topic the destination topic * @return the current builder with the destination topic specified */ SendMessageBuilder withTopic(String topic); /** * Send the message in a blocking manner using the configured specification. */ void send(); /** * Uses the configured specification to send the message in a non-blocking manner. * * @return a Mono that completes when the message has been sent */ Mono sendAsync(); } } ================================================ FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/DaprMessagingTemplate.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.messaging; import io.dapr.client.DaprClient; import io.dapr.client.domain.Metadata; import io.dapr.spring.messaging.observation.DaprMessagingObservationConvention; import io.dapr.spring.messaging.observation.DaprMessagingObservationDocumentation; import io.dapr.spring.messaging.observation.DaprMessagingSenderContext; import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationRegistry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.BeanNameAware; import org.springframework.beans.factory.SmartInitializingSingleton; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import reactor.core.publisher.Mono; import reactor.util.context.Context; import javax.annotation.Nullable; import java.util.Map; /** * Create a new DaprMessagingTemplate. * @param templated message type */ public class DaprMessagingTemplate implements DaprMessagingOperations, ApplicationContextAware, BeanNameAware, SmartInitializingSingleton { private static final Logger LOGGER = LoggerFactory.getLogger(DaprMessagingTemplate.class); private static final String MESSAGE_TTL_IN_SECONDS = "10"; private static final DaprMessagingObservationConvention DEFAULT_OBSERVATION_CONVENTION = DaprMessagingObservationConvention.getDefault(); private final DaprClient daprClient; private final String pubsubName; private final Map metadata; private final boolean observationEnabled; @Nullable private ApplicationContext applicationContext; @Nullable private String beanName; @Nullable private ObservationRegistry observationRegistry; @Nullable private DaprMessagingObservationConvention observationConvention; /** * Constructs a new DaprMessagingTemplate. * @param daprClient Dapr client * @param pubsubName pubsub name * @param observationEnabled whether to enable observations */ public DaprMessagingTemplate(DaprClient daprClient, String pubsubName, boolean observationEnabled) { this.daprClient = daprClient; this.pubsubName = pubsubName; this.metadata = Map.of(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS); this.observationEnabled = observationEnabled; } @Override public void setApplicationContext(ApplicationContext applicationContext) { this.applicationContext = applicationContext; } @Override public void setBeanName(String beanName) { this.beanName = beanName; } /** * If observations are enabled, attempt to obtain the Observation registry and * convention. */ @Override public void afterSingletonsInstantiated() { if (!observationEnabled) { LOGGER.debug("Observations are not enabled - not recording"); return; } if (applicationContext == null) { LOGGER.warn("Observations enabled but application context null - not recording"); return; } observationRegistry = applicationContext.getBeanProvider(ObservationRegistry.class) .getIfUnique(() -> observationRegistry); observationConvention = applicationContext.getBeanProvider(DaprMessagingObservationConvention.class) .getIfUnique(() -> observationConvention); } @Override public void send(String topic, T message) { doSend(topic, message); } @Override public SendMessageBuilder newMessage(T message) { return new DefaultSendMessageBuilder<>(this, message); } private void doSend(String topic, T message) { doSendAsync(topic, message).block(); } private Mono doSendAsync(String topic, T message) { LOGGER.trace("Sending message to '{}' topic", topic); if (canUseObservation()) { return publishEventWithObservation(pubsubName, topic, message); } return publishEvent(pubsubName, topic, message); } private boolean canUseObservation() { return observationEnabled && observationRegistry != null && beanName != null; } private Mono publishEvent(String pubsubName, String topic, T message) { return daprClient.publishEvent(pubsubName, topic, message, metadata); } private Mono publishEventWithObservation(String pubsubName, String topic, T message) { DaprMessagingSenderContext senderContext = DaprMessagingSenderContext.newContext(topic, this.beanName); Observation observation = createObservation(senderContext); observation.start(); return publishEvent(pubsubName, topic, message) .contextWrite(getReactorContext(senderContext)) .doOnError(err -> { LOGGER.error("Failed to send msg to '{}' topic", topic, err); observation.error(err); observation.stop(); }) .doOnSuccess(ignore -> { LOGGER.trace("Sent msg to '{}' topic", topic); observation.stop(); }); } private Context getReactorContext(DaprMessagingSenderContext senderContext) { return Context.of(senderContext.properties()); } private Observation createObservation(DaprMessagingSenderContext senderContext) { return DaprMessagingObservationDocumentation.TEMPLATE_OBSERVATION.observation( observationConvention, DEFAULT_OBSERVATION_CONVENTION, () -> senderContext, observationRegistry ); } private static class DefaultSendMessageBuilder implements SendMessageBuilder { private final DaprMessagingTemplate template; private final T message; private String topic; DefaultSendMessageBuilder(DaprMessagingTemplate template, T message) { this.template = template; this.message = message; } @Override public SendMessageBuilder withTopic(String topic) { this.topic = topic; return this; } @Override public void send() { template.doSend(topic, message); } @Override public Mono sendAsync() { return template.doSendAsync(topic, message); } } } ================================================ FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DaprMessagingObservationConvention.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.messaging.observation; import io.micrometer.observation.Observation.Context; import io.micrometer.observation.ObservationConvention; /** * {@link ObservationConvention} for Dapr Messaging. * */ public interface DaprMessagingObservationConvention extends ObservationConvention { @Override default boolean supportsContext(Context context) { return context instanceof DaprMessagingSenderContext; } @Override default String getName() { return "spring.dapr.messaging.template"; } static DaprMessagingObservationConvention getDefault() { return DefaultDaprMessagingObservationConvention.INSTANCE; } } ================================================ FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DaprMessagingObservationDocumentation.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.messaging.observation; import io.micrometer.common.docs.KeyName; import io.micrometer.observation.Observation; import io.micrometer.observation.Observation.Context; import io.micrometer.observation.ObservationConvention; import io.micrometer.observation.docs.ObservationDocumentation; /** * An {@link Observation} for {@link io.dapr.spring.messaging.DaprMessagingTemplate}. * */ public enum DaprMessagingObservationDocumentation implements ObservationDocumentation { /** * Observation created when a Dapr template sends a message. */ TEMPLATE_OBSERVATION { @Override public Class> getDefaultConvention() { return DefaultDaprMessagingObservationConvention.class; } @Override public String getPrefix() { return "spring.dapr.messaging.template"; } @Override public KeyName[] getLowCardinalityKeyNames() { return TemplateLowCardinalityTags.values(); } }; /** * Low cardinality tags. */ public enum TemplateLowCardinalityTags implements KeyName { /** * Bean name of the template that sent the message. */ BEAN_NAME { @Override public String asString() { return "spring.dapr.messaging.template.name"; } } } } ================================================ FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DaprMessagingSenderContext.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.messaging.observation; import io.micrometer.observation.transport.SenderContext; import java.util.HashMap; import java.util.Map; /** * {@link SenderContext} for Dapr Messaging. * */ public final class DaprMessagingSenderContext extends SenderContext { private final String beanName; private final String destination; private DaprMessagingSenderContext(Carrier dataHolder, String topic, String beanName) { super((carrier, key, value) -> dataHolder.property(key, value)); setCarrier(dataHolder); this.beanName = beanName; this.destination = topic; } /** * Create a new context. * @param topic topic to be used * @param beanName name of the bean used usually (typically a {@code DaprMessagingTemplate}) * @return DaprMessageSenderContext */ public static DaprMessagingSenderContext newContext(String topic, String beanName) { Carrier carrier = new Carrier(); return new DaprMessagingSenderContext(carrier, topic, beanName); } /** * The properties of the message. * @return the properties of the message */ public Map properties() { Carrier carrier = getCarrier(); if (carrier == null) { return Map.of(); } return carrier.properties(); } /** * The name of the bean sending the message (typically a {@code DaprMessagingTemplate}). * @return the name of the bean sending the message */ public String getBeanName() { return this.beanName; } /** * The destination topic for the message. * @return the topic the message is being sent to */ public String getDestination() { return this.destination; } /** * Acts as a carrier for a Dapr message and records the propagated properties for * later access by the Dapr. */ public static final class Carrier { private final Map properties = new HashMap<>(); private Carrier() { } public void property(String key, String value) { this.properties.put(key, value); } public Map properties() { return Map.copyOf(this.properties); } } } ================================================ FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DefaultDaprMessagingObservationConvention.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.messaging.observation; import io.micrometer.common.KeyValues; /** * Default {@link DefaultDaprMessagingObservationConvention} for Dapr template key values. * */ class DefaultDaprMessagingObservationConvention implements DaprMessagingObservationConvention { /** * A singleton instance of the convention. */ public static final DefaultDaprMessagingObservationConvention INSTANCE = new DefaultDaprMessagingObservationConvention(); @Override public KeyValues getLowCardinalityKeyValues(DaprMessagingSenderContext context) { return KeyValues.of(DaprMessagingObservationDocumentation.TemplateLowCardinalityTags.BEAN_NAME.asString(), context.getBeanName()); } // Remove once addressed: // https://github.com/micrometer-metrics/micrometer-docs-generator/issues/30 @Override public String getName() { return "spring.dapr.messaging.template"; } @Override public String getContextualName(DaprMessagingSenderContext context) { return context.getDestination() + " send"; } } ================================================ FILE: dapr-spring/dapr-spring-workflows/pom.xml ================================================ 4.0.0 io.dapr.spring dapr-spring-parent 1.18.0-SNAPSHOT ../pom.xml dapr-spring-workflows dapr-spring-workflows Dapr Spring Workflows jar org.springframework spring-beans org.springframework spring-context io.dapr dapr-sdk-workflows org.sonatype.plugins nexus-staging-maven-plugin ================================================ FILE: dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/DaprWorkflowsConfiguration.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.workflows.config; import io.dapr.spring.workflows.config.annotations.ActivityMetadata; import io.dapr.spring.workflows.config.annotations.WorkflowMetadata; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.annotation.Configuration; import java.util.Map; @Configuration public class DaprWorkflowsConfiguration implements ApplicationContextAware { private static final Logger LOGGER = LoggerFactory.getLogger(DaprWorkflowsConfiguration.class); private final WorkflowRuntimeBuilder workflowRuntimeBuilder; public DaprWorkflowsConfiguration(WorkflowRuntimeBuilder workflowRuntimeBuilder) { this.workflowRuntimeBuilder = workflowRuntimeBuilder; } /** * Register workflows and activities to the workflowRuntimeBuilder. * @param applicationContext Spring Application Context */ private void registerWorkflowsAndActivities(ApplicationContext applicationContext) { LOGGER.info("Registering Dapr Workflows and Activities"); Map workflowBeans = applicationContext.getBeansOfType(Workflow.class); for (Workflow workflow : workflowBeans.values()) { // Get the workflowDefinition annotation from the workflow class and validate it // If the annotation is not present, register the instance // If preset register with the workflowDefinition annotation values WorkflowMetadata workflowDefinition = workflow.getClass().getAnnotation(WorkflowMetadata.class); if (workflowDefinition == null) { // No annotation present, register the instance with default behavior LOGGER.info("Dapr Workflow: '{}' registered", workflow.getClass().getName()); workflowRuntimeBuilder.registerWorkflow(workflow); continue; } // Register with annotation values String workflowName = workflowDefinition.name(); String workflowVersion = workflowDefinition.version(); boolean isLatest = workflowDefinition.isLatest(); workflowRuntimeBuilder.registerWorkflow(workflowName, workflow, workflowVersion, isLatest); } Map workflowActivitiesBeans = applicationContext.getBeansOfType(WorkflowActivity.class); for (WorkflowActivity activity : workflowActivitiesBeans.values()) { LOGGER.info("Dapr Workflow Activity: '{}' registered", activity.getClass().getName()); ActivityMetadata activityDefinition = activity.getClass().getAnnotation(ActivityMetadata.class); if (activityDefinition == null) { workflowRuntimeBuilder.registerActivity(activity); continue; } workflowRuntimeBuilder.registerActivity(activityDefinition.name(), activity); } WorkflowRuntime runtime = workflowRuntimeBuilder.build(); LOGGER.info("Starting workflow runtime ... "); runtime.start(false); } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { registerWorkflowsAndActivities(applicationContext); } } ================================================ FILE: dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/EnableDaprWorkflows.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.workflows.config; import org.springframework.context.annotation.Import; import java.lang.annotation.Retention; import java.lang.annotation.Target; import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; @Retention(RUNTIME) @Target(TYPE) @Import(DaprWorkflowsConfiguration.class) public @interface EnableDaprWorkflows { } ================================================ FILE: dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/annotations/ActivityMetadata.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.workflows.config.annotations; import org.springframework.stereotype.Component; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Component public @interface ActivityMetadata { /** * Name of the activity. * * @return the name of the activity. */ String name() default ""; } ================================================ FILE: dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/annotations/WorkflowMetadata.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.spring.workflows.config.annotations; import org.springframework.stereotype.Component; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Component public @interface WorkflowMetadata { /** * Name of the workflow. * Required when version is specified. * * @return the name of the workflow. */ String name() default ""; /** * Version of the workflow. * When specified, name must also be provided. * * @return the version of the workflow. */ String version() default ""; /** * Specifies if the version is the latest or not. * When true, the version and name must be provided. * * @return true if the version is the latest */ boolean isLatest() default false; } ================================================ FILE: dapr-spring/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml io.dapr.spring dapr-spring-parent pom dapr-spring-parent SDK extension for Spring and Spring Boot dapr-spring-bom dapr-spring-data dapr-spring-6-data dapr-spring-messaging dapr-spring-workflows dapr-spring-boot-properties dapr-spring-boot-observation dapr-spring-boot-autoconfigure dapr-spring-boot-4-autoconfigure dapr-spring-boot-tests dapr-spring-boot-starters/dapr-spring-boot-starter dapr-spring-boot-starters/dapr-spring-boot-4-starter dapr-spring-boot-starters/dapr-spring-boot-starter-test dapr-spring-boot-starters/dapr-spring-boot-4-starter-test 17 17 17 io.dapr.spring dapr-spring-data ${project.version} io.dapr.spring dapr-spring-6-data ${project.version} io.dapr.spring dapr-spring-messaging ${project.version} io.dapr.spring dapr-spring-workflows ${project.version} io.dapr.spring dapr-spring-boot-autoconfigure ${project.version} io.dapr.spring dapr-spring-boot-4-autoconfigure ${project.version} io.dapr.spring dapr-spring-boot-properties ${project.version} io.dapr.spring dapr-spring-boot-observation ${project.version} io.dapr.spring dapr-spring-boot-tests ${project.version} org.sonatype.plugins nexus-staging-maven-plugin org.apache.maven.plugins maven-source-plugin org.apache.maven.plugins maven-javadoc-plugin org.jacoco jacoco-maven-plugin check check BUNDLE io.dapr.springboot.DaprBeanPostProcessor LINE COVEREDRATIO 80% ================================================ FILE: dapr-spring/spotbugs-exclude.xml ================================================ ================================================ FILE: docs/allclasses-index.html ================================================ All Classes and Interfaces (dapr-sdk-parent 1.17.2 API)

All Classes and Interfaces

Class
Description
Represents the base class for actors.
 
 
Base wait strategy for Dapr containers that polls the metadata endpoint.
 
 
Represents an actor entry from the Dapr metadata API response.
Holds a client for Dapr sidecar communication.
Creates an actor of a given type.
The ActorId represents the identity of an actor within an actor service.
ActorMetadata describes a registered Dapr Actor.
 
Contains information about the method that is invoked by actor runtime.
Serializes and deserializes internal objects.
Proxy to communicate to a given Actor instance in Dapr.
Builder to generate an ActorProxy instance.
Contains methods to register actor types.
Represents the configuration for the Actor Runtime.
Provides the context for the Actor's runtime.
Represents a state change for an actor.
Represents an actor's state change.
Manages state changes of a given Actor instance.
Class to emit trace log messages.
Annotation to define Actor class.
Represents the configuration for the Actor Type.
 
Wait strategy that waits for actors to be registered with Dapr.
 
 
AppCallbackAlpha V1 is an optional extension to AppCallback V1 to opt for Alpha RPCs.
A stub to allow clients to do limited synchronous rpc calls to service AppCallbackAlpha.
A stub to allow clients to do synchronous rpc calls to service AppCallbackAlpha.
A stub to allow clients to do ListenableFuture-style rpc calls to service AppCallbackAlpha.
Base class for the server implementation of the service AppCallbackAlpha.
A stub to allow clients to do asynchronous rpc calls to service AppCallbackAlpha.
AppCallbackAlpha V1 is an optional extension to AppCallback V1 to opt for Alpha RPCs.
AppCallback V1 allows user application to interact with Dapr runtime.
A stub to allow clients to do limited synchronous rpc calls to service AppCallback.
A stub to allow clients to do synchronous rpc calls to service AppCallback.
A stub to allow clients to do ListenableFuture-style rpc calls to service AppCallback.
Base class for the server implementation of the service AppCallback.
A stub to allow clients to do asynchronous rpc calls to service AppCallback.
AppCallback V1 allows user application to interact with Dapr runtime.
AppCallbackHealthCheck V1 is an optional extension to AppCallback V1 to implement the HealthCheck method.
A stub to allow clients to do limited synchronous rpc calls to service AppCallbackHealthCheck.
A stub to allow clients to do synchronous rpc calls to service AppCallbackHealthCheck.
A stub to allow clients to do ListenableFuture-style rpc calls to service AppCallbackHealthCheck.
Base class for the server implementation of the service AppCallbackHealthCheck.
A stub to allow clients to do asynchronous rpc calls to service AppCallbackHealthCheck.
AppCallbackHealthCheck V1 is an optional extension to AppCallback V1 to implement the HealthCheck method.
AppConnectionPropertiesHealthMetadata describes the application health properties.
AppConnectionPropertiesMetadata describes the application connection properties.
 
Assistant message containing responses from the AI model.
Boolean configuration property.
Class representing an entry in the BulkPublishRequest or BulkPublishResponse.
A request to bulk publish multiples events in a single call to Dapr.
Class representing the response returned on bulk publishing events.
Class representing the entry that failed to be published using BulkPublishRequest.
Response from the application containing status for each entry from the bulk publish message.
Status of the message handled in bulk subscribe handler.
Represents a bulk of messages received from the message bus.
Represents a single event from a BulkSubscribeMessage.
 
A cloud event in Dapr.
 
ConfigurationItem represents all the configuration with its name(key).
ConfigurationItem represents all the configuration with its name(key).
 
Etag represents a state item version
Etag represents a state item version
 
HTTPExtension includes HTTP verb and querystring when Dapr runtime delivers HTTP content.
HTTPExtension includes HTTP verb and querystring when Dapr runtime delivers HTTP content.
Type of HTTP 1.1 Methods RFC 7231: https://tools.ietf.org/html/rfc7231#page-24 RFC 5789: https://datatracker.ietf.org/doc/html/rfc5789
 
InvokeRequest is the message to invoke a method with the data.
InvokeRequest is the message to invoke a method with the data.
 
InvokeResponse is the response message including data and its content type from app callback.
InvokeResponse is the response message including data and its content type from app callback.
 
JobFailurePolicy defines the policy to apply when a job fails to trigger.
JobFailurePolicy defines the policy to apply when a job fails to trigger.
 
JobFailurePolicyConstant is a policy which retries the job at a consistent interval when the job fails to trigger.
JobFailurePolicyConstant is a policy which retries the job at a consistent interval when the job fails to trigger.
 
JobFailurePolicyDrop is a policy which drops the job tick when the job fails to trigger.
JobFailurePolicyDrop is a policy which drops the job tick when the job fails to trigger.
 
 
StateItem represents state key, value, and additional options to save state.
StateItem represents state key, value, and additional options to save state.
 
StateOptions configures concurrency and consistency for state operations
StateOptions configures concurrency and consistency for state operations
Enum describing the supported concurrency for state.
Enum describing the supported consistency for state.
 
Chunk of data sent in a streaming request or response.
Chunk of data sent in a streaming request or response.
 
Represents a Dapr component.
Represents a component entry from the Dapr metadata API response.
ComponentMetadata describes a Dapr Component.
 
Exception that gets thrown when multiple Tasks for an activity or sub-orchestration fails with an unhandled exception.
Represents a Dapr component.
A configuration item from Dapr's configuration store.
 
 
A failure policy that applies a constant retry interval for job retries.
Control flow Throwable class for orchestrator when invoke TaskOrchestrationContext.continueAsNew(java.lang.Object).
Represents an input message for a conversation with an LLM.
Represents an Alpha2 input for conversation with enhanced message support.
Interface representing a conversation message with role-specific content.
Represents the content of a conversation message.
Enum representing the different roles a conversation message can have.
Returns the conversation output.
Represents a conversation configuration with details about component name, conversation inputs, context identifier, PII scrubbing, and temperature control.
Represents the Alpha2 conversation configuration with enhanced features including tools, improved message handling, and better compatibility with OpenAI ChatCompletion API.
Response from the Dapr Conversation API.
Alpha2 response from the Dapr Conversation API with enhanced features.
Alpha2 result for conversation output with enhanced choice-based structure.
Represents a conversation result choice with finish reason, index, and message.
 
 
Represents a conversation result message with content and optional tool calls.
 
Represents a tool call request sent from the LLM to the client to execute.
Represents a function call within a tool call.
Represents tool definitions that can be used during conversation.
Represents a function definition for conversation tools.
 
 
Protobuf type dapr.proto.runtime.v1.ActorReminder
Protobuf type dapr.proto.runtime.v1.ActorReminder
 
ExecuteActorStateTransactionRequest is the message to execute multiple operations on a specified actor.
ExecuteActorStateTransactionRequest is the message to execute multiple operations on a specified actor.
 
GetActorReminderRequest is the message to get an already-registered actor reminder
GetActorReminderRequest is the message to get an already-registered actor reminder
 
GetActorReminderResponse is the response conveying an actor's reminder.
GetActorReminderResponse is the response conveying an actor's reminder.
 
GetActorStateRequest is the message to get key-value states from specific actor.
GetActorStateRequest is the message to get key-value states from specific actor.
 
GetActorStateResponse is the response conveying the actor's state value.
GetActorStateResponse is the response conveying the actor's state value.
 
InvokeActorRequest is the message to call an actor.
InvokeActorRequest is the message to call an actor.
 
InvokeActorResponse is the method that returns an actor invocation response.
InvokeActorResponse is the method that returns an actor invocation response.
 
Protobuf type dapr.proto.runtime.v1.ListActorRemindersRequest
Protobuf type dapr.proto.runtime.v1.ListActorRemindersRequest
 
Protobuf type dapr.proto.runtime.v1.ListActorRemindersResponse
Protobuf type dapr.proto.runtime.v1.ListActorRemindersResponse
 
Protobuf type dapr.proto.runtime.v1.NamedActorReminder
Protobuf type dapr.proto.runtime.v1.NamedActorReminder
 
RegisterActorReminderRequest is the message to register a reminder for an actor of a given type and id.
RegisterActorReminderRequest is the message to register a reminder for an actor of a given type and id.
 
RegisterActorTimerRequest is the message to register a timer for an actor of a given type and id.
RegisterActorTimerRequest is the message to register a timer for an actor of a given type and id.
 
TransactionalActorStateOperation is the message to execute a specified operation with a key-value pair.
TransactionalActorStateOperation is the message to execute a specified operation with a key-value pair.
 
UnregisterActorReminderRequest is the message to unregister an actor reminder.
UnregisterActorReminderRequest is the message to unregister an actor reminder.
 
UnregisterActorRemindersByTypeRequest is the message to unregister an actor reminders by the given type.
UnregisterActorRemindersByTypeRequest is the message to unregister an actor reminders by the given type.
 
Protobuf type dapr.proto.runtime.v1.UnregisterActorRemindersByTypeResponse
Protobuf type dapr.proto.runtime.v1.UnregisterActorRemindersByTypeResponse
 
UnregisterActorTimerRequest is the message to unregister an actor timer
UnregisterActorTimerRequest is the message to unregister an actor timer
 
 
Deprecated.
maintained for backwards compatibility
TODO: when going stable just make these flat in the ConversationRequestAlpha2, or reevaluate the grouping of fields...
TODO: when going stable just make these flat in the ConversationRequestAlpha2, or reevaluate the grouping of fields...
 
Deprecated.
inspired by openai.ChatCompletionMessageParamUnion https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1449 The role field is inherent to the type of ConversationMessage, and is propagated in the backend according to the underlying LLM provider type.
inspired by openai.ChatCompletionMessageParamUnion https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1449 The role field is inherent to the type of ConversationMessage, and is propagated in the backend according to the underlying LLM provider type.
 
inspired by openai.ChatCompletionContentPartTextParam & openai.ChatCompletionDeveloperMessageParamContentUnion https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1084 https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1154C6-L1154C53 Note: openai has this message be either a message of string or message of array type, so instead of this, we support that in one message type instead.
inspired by openai.ChatCompletionContentPartTextParam & openai.ChatCompletionDeveloperMessageParamContentUnion https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1084 https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1154C6-L1154C53 Note: openai has this message be either a message of string or message of array type, so instead of this, we support that in one message type instead.
 
inspired by openai.ChatCompletionAssistantMessageParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L310 https://github.com/openai/openai-go/blob/main/chatcompletion.go#L2060C6-L2060C36 ConversationMessageOfAssistant is intended to be the contents of a conversation message, as the role of an assistant.
inspired by openai.ChatCompletionAssistantMessageParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L310 https://github.com/openai/openai-go/blob/main/chatcompletion.go#L2060C6-L2060C36 ConversationMessageOfAssistant is intended to be the contents of a conversation message, as the role of an assistant.
 
inspired by openai.ChatCompletionDeveloperMessageParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1130 ConversationMessageOfDeveloper is intended to be the contents of a conversation message, as the role of a developer.
inspired by openai.ChatCompletionDeveloperMessageParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1130 ConversationMessageOfDeveloper is intended to be the contents of a conversation message, as the role of a developer.
 
inspired by openai.ChatCompletionSystemMessageParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1842 ConversationMessageOfSystem is intended to be the contents of a conversation message, as the role of a system.
inspired by openai.ChatCompletionSystemMessageParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1842 ConversationMessageOfSystem is intended to be the contents of a conversation message, as the role of a system.
 
inspired by openai.ChatCompletionToolMessageParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L2011 ConversationMessageOfTool is intended to be the contents of a conversation message, as the role of a tool.
inspired by openai.ChatCompletionToolMessageParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L2011 ConversationMessageOfTool is intended to be the contents of a conversation message, as the role of a tool.
 
inspired by openai.ChatCompletionUserMessageParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L2060C6-L2060C36 ConversationMessageOfUser is intended to be the contents of a conversation message, as the role of an end user.
inspired by openai.ChatCompletionUserMessageParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L2060C6-L2060C36 ConversationMessageOfUser is intended to be the contents of a conversation message, as the role of an end user.
 
 
Deprecated.
ConversationRequest is the request object for Conversation.
ConversationRequestAlpha2 is the new request object for Conversation.
ConversationRequestAlpha2 is the new request object for Conversation.
 
Deprecated.
Deprecated.
ConversationResponse is the response for Conversation.
ConversationResponseAlpha2 is the Alpha2 response for Conversation.
ConversationResponseAlpha2 is the Alpha2 response for Conversation.
 
Deprecated.
Deprecated.
ConversationResult is the result for one input.
inspired by openai.ChatCompletion ConversationResultAlpha2 is the result for one input.
inspired by openai.ChatCompletion ConversationResultAlpha2 is the result for one input.
ref: https://github.com/openai/openai-go/blob/main/completion.go#L162 inspired by openai.ChatCompletion.Usage of type CompletionUsage
ref: https://github.com/openai/openai-go/blob/main/completion.go#L162 inspired by openai.ChatCompletion.Usage of type CompletionUsage
inspired by openai.CompletionUsageCompletionTokensDetails ref: https://github.com/openai/openai-go/blob/main/completion.go#L192
inspired by openai.CompletionUsageCompletionTokensDetails ref: https://github.com/openai/openai-go/blob/main/completion.go#L192
 
 
inspired by openai.CompletionUsagePromptTokensDetails ref: https://github.com/openai/openai-go/blob/main/completion.go#L223C6-L223C40
inspired by openai.CompletionUsagePromptTokensDetails ref: https://github.com/openai/openai-go/blob/main/completion.go#L223C6-L223C40
 
 
inspired by openai.ChatCompletionChoice based on https://github.com/openai/openai-go/blob/main/chatcompletion.go#L226
inspired by openai.ChatCompletionChoice based on https://github.com/openai/openai-go/blob/main/chatcompletion.go#L226
 
inspired by openai.ChatCompletionMessage based on https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1218C6-L1218C27
inspired by openai.ChatCompletionMessage based on https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1218C6-L1218C27
 
Deprecated.
inspired by openai.ChatCompletionMessageToolCallParam and openai.ChatCompletionMessageToolCall https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1669 https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1611 ConversationToolCalls is the tool call request sent from the llm to the client to then call to execute.
inspired by openai.ChatCompletionMessageToolCallParam and openai.ChatCompletionMessageToolCall https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1669 https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1611 ConversationToolCalls is the tool call request sent from the llm to the client to then call to execute.
 
inspired by openai.ChatCompletionMessageToolCallFunctionParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1859
inspired by openai.ChatCompletionMessageToolCallFunctionParam https://github.com/openai/openai-go/blob/main/chatcompletion.go#L1859
 
 
ConversationTools are the typed tools available to be called.
ConversationTools are the typed tools available to be called.
 
ConversationToolsFunction is the main tool type to be used in a conversation.
ConversationToolsFunction is the main tool type to be used in a conversation.
 
 
Class to be used as part of your service's client stub interceptor to include the Dapr API token.
 
BindingEventRequest represents input bindings event.
BindingEventRequest represents input bindings event.
 
BindingEventResponse includes operations to save state or send data to output bindings optionally.
BindingEventConcurrency is the kind of concurrency
BindingEventResponse includes operations to save state or send data to output bindings optionally.
 
BulkSubscribeConfig is the message to pass settings for bulk subscribe
BulkSubscribeConfig is the message to pass settings for bulk subscribe
 
HealthCheckResponse is the message with the response to the health check.
HealthCheckResponse is the message with the response to the health check.
 
Protobuf type dapr.proto.runtime.v1.JobEventRequest
Protobuf type dapr.proto.runtime.v1.JobEventRequest
 
JobEventResponse is the response from the app when a job is triggered.
JobEventResponse is the response from the app when a job is triggered.
 
ListInputBindingsResponse is the message including the list of input bindings.
ListInputBindingsResponse is the message including the list of input bindings.
 
ListTopicSubscriptionsResponse is the message including the list of the subscribing topics.
ListTopicSubscriptionsResponse is the message including the list of the subscribing topics.
 
TopicEventBulkRequest represents request for bulk message
TopicEventBulkRequest represents request for bulk message
TopicEventBulkRequestEntry represents a single message inside a bulk request
TopicEventBulkRequestEntry represents a single message inside a bulk request
 
 
 
AppBulkResponse is response from app on published message
AppBulkResponse is response from app on published message
TopicEventBulkResponseEntry Represents single response, as part of TopicEventBulkResponse, to be sent by subscibed App for the corresponding single message during bulk subscribe
TopicEventBulkResponseEntry Represents single response, as part of TopicEventBulkResponse, to be sent by subscibed App for the corresponding single message during bulk subscribe
 
 
TopicEventCERequest message is compatible with CloudEvent spec v1.0
TopicEventCERequest message is compatible with CloudEvent spec v1.0
 
TopicEventRequest message is compatible with CloudEvent spec v1.0 https://github.com/cloudevents/spec/blob/v1.0/spec.md
TopicEventRequest message is compatible with CloudEvent spec v1.0 https://github.com/cloudevents/spec/blob/v1.0/spec.md
 
TopicEventResponse is response from app on published message
TopicEventResponse is response from app on published message
TopicEventResponseStatus allows apps to have finer control over handling of the message.
 
Protobuf type dapr.proto.runtime.v1.TopicRoutes
Protobuf type dapr.proto.runtime.v1.TopicRoutes
 
Protobuf type dapr.proto.runtime.v1.TopicRule
Protobuf type dapr.proto.runtime.v1.TopicRule
 
TopicSubscription represents topic and metadata.
TopicSubscription represents topic and metadata.
 
Class to be used as part of your service's client stub interceptor to include Dapr App Id metadata.
 
InvokeBindingRequest is the message to send data to output bindings
InvokeBindingRequest is the message to send data to output bindings
 
InvokeBindingResponse is the message returned from an output binding invocation
InvokeBindingResponse is the message returned from an output binding invocation
 
Generic Client Adapter to be used regardless of the GRPC or the HTTP Client implementation required.
 
A builder for the DaprClient, Currently only gRPC and HTTP Client will be supported.
Class to be used as part of your service's client stub interceptor.
Implementation of the Dapr client combining gRPC and HTTP (when applicable).
 
 
 
GetConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
GetConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
 
GetConfigurationResponse is the response conveying the list of configuration values.
GetConfigurationResponse is the response conveying the list of configuration values.
 
SubscribeConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
SubscribeConfigurationRequest is the message to get a list of key-value configuration from specified configuration store.
 
Protobuf type dapr.proto.runtime.v1.SubscribeConfigurationResponse
Protobuf type dapr.proto.runtime.v1.SubscribeConfigurationResponse
 
UnSubscribeConfigurationRequest is the message to stop watching the key-value configuration.
UnSubscribeConfigurationRequest is the message to stop watching the key-value configuration.
 
Protobuf type dapr.proto.runtime.v1.UnsubscribeConfigurationResponse
Protobuf type dapr.proto.runtime.v1.UnsubscribeConfigurationResponse
 
 
 
 
 
 
DecryptRequest is the request for DecryptAlpha1.
DecryptRequest is the request for DecryptAlpha1.
DecryptRequestOptions contains options for the first message in the DecryptAlpha1 request.
DecryptRequestOptions contains options for the first message in the DecryptAlpha1 request.
 
 
DecryptResponse is the response for DecryptAlpha1.
DecryptResponse is the response for DecryptAlpha1.
 
EncryptRequest is the request for EncryptAlpha1.
EncryptRequest is the request for EncryptAlpha1.
EncryptRequestOptions contains options for the first message in the EncryptAlpha1 request.
EncryptRequestOptions contains options for the first message in the EncryptAlpha1 request.
 
 
EncryptResponse is the response for EncryptAlpha1.
EncryptResponse is the response for EncryptAlpha1.
 
SubtleDecryptRequest is the request for SubtleDecryptAlpha1.
SubtleDecryptRequest is the request for SubtleDecryptAlpha1.
 
SubtleDecryptResponse is the response for SubtleDecryptAlpha1.
SubtleDecryptResponse is the response for SubtleDecryptAlpha1.
 
SubtleEncryptRequest is the request for SubtleEncryptAlpha1.
SubtleEncryptRequest is the request for SubtleEncryptAlpha1.
 
SubtleEncryptResponse is the response for SubtleEncryptAlpha1.
SubtleEncryptResponse is the response for SubtleEncryptAlpha1.
 
SubtleGetKeyRequest is the request object for SubtleGetKeyAlpha1.
SubtleGetKeyRequest is the request object for SubtleGetKeyAlpha1.
Protobuf enum dapr.proto.runtime.v1.SubtleGetKeyRequest.KeyFormat
 
SubtleGetKeyResponse is the response for SubtleGetKeyAlpha1.
SubtleGetKeyResponse is the response for SubtleGetKeyAlpha1.
 
SubtleSignRequest is the request for SubtleSignAlpha1.
SubtleSignRequest is the request for SubtleSignAlpha1.
 
SubtleSignResponse is the response for SubtleSignAlpha1.
SubtleSignResponse is the response for SubtleSignAlpha1.
 
SubtleUnwrapKeyRequest is the request for SubtleUnwrapKeyAlpha1.
SubtleUnwrapKeyRequest is the request for SubtleUnwrapKeyAlpha1.
 
SubtleUnwrapKeyResponse is the response for SubtleUnwrapKeyAlpha1.
SubtleUnwrapKeyResponse is the response for SubtleUnwrapKeyAlpha1.
 
SubtleVerifyRequest is the request for SubtleVerifyAlpha1.
SubtleVerifyRequest is the request for SubtleVerifyAlpha1.
 
SubtleVerifyResponse is the response for SubtleVerifyAlpha1.
SubtleVerifyResponse is the response for SubtleVerifyAlpha1.
 
SubtleWrapKeyRequest is the request for SubtleWrapKeyAlpha1.
SubtleWrapKeyRequest is the request for SubtleWrapKeyAlpha1.
 
SubtleWrapKeyResponse is the response for SubtleWrapKeyAlpha1.
SubtleWrapKeyResponse is the response for SubtleWrapKeyAlpha1.
 
Represents an error message from Dapr.
 
 
A Dapr's specific exception.
Dapr service provides APIs to user application to access Dapr building blocks.
Dapr service provides APIs to user application to access Dapr building blocks.
A stub to allow clients to do limited synchronous rpc calls to service Dapr.
A stub to allow clients to do synchronous rpc calls to service Dapr.
A stub to allow clients to do ListenableFuture-style rpc calls to service Dapr.
Base class for the server implementation of the service Dapr.
A stub to allow clients to do asynchronous rpc calls to service Dapr.
 
HTTP Methods supported.
 
A builder for the DaprHttp.
Internal exception for propagating HTTP status code.
 
InvokeServiceRequest represents the request message for Service invocation.
InvokeServiceRequest represents the request message for Service invocation.
 
Auto-configuration that bridges Jackson 3's JsonMapper into a DaprObjectSerializer.
 
DeleteJobRequest is the message to delete the job by name.
DeleteJobRequest is the message to delete the job by name.
 
DeleteJobResponse is the message response to delete the job by name.
DeleteJobResponse is the message response to delete the job by name.
 
DeleteJobsByPrefixRequest is the message to delete jobs by name prefix.
DeleteJobsByPrefixRequest is the message to delete jobs by name prefix.
 
Empty
Empty
 
GetJobRequest is the message to retrieve a job.
GetJobRequest is the message to retrieve a job.
 
GetJobResponse is the message's response for a job retrieved.
GetJobResponse is the message's response for a job retrieved.
 
Job is the definition of a job.
Job is the definition of a job.
 
Empty
Empty
 
ListJobsResponse is the message response containing the list of jobs.
ListJobsResponse is the message response containing the list of jobs.
 
ScheduleJobRequest is the message to create/schedule the job.
ScheduleJobRequest is the message to create/schedule the job.
 
ScheduleJobResponse is the message response to create/schedule the job.
ScheduleJobResponse is the message response to create/schedule the job.
 
 
 
 
 
 
Protobuf type dapr.proto.runtime.v1.TryLockRequest
Protobuf type dapr.proto.runtime.v1.TryLockRequest
 
Protobuf type dapr.proto.runtime.v1.TryLockResponse
Protobuf type dapr.proto.runtime.v1.TryLockResponse
 
Protobuf type dapr.proto.runtime.v1.UnlockRequest
Protobuf type dapr.proto.runtime.v1.UnlockRequest
 
Protobuf type dapr.proto.runtime.v1.UnlockResponse
Protobuf type dapr.proto.runtime.v1.UnlockResponse
Protobuf enum dapr.proto.runtime.v1.UnlockResponse.Status
 
 
ObservationConvention for Dapr Messaging.
An Observation for DaprMessagingTemplate.
Low cardinality tags.
 
Builder that can be used to configure and send a message.
SenderContext for Dapr Messaging.
Acts as a carrier for a Dapr message and records the propagated properties for later access by the Dapr.
Create a new DaprMessagingTemplate.
DaprMetadata describes the Dapr Metadata.
 
Protobuf type dapr.proto.runtime.v1.ActiveActorsCount
Protobuf type dapr.proto.runtime.v1.ActiveActorsCount
 
Protobuf type dapr.proto.runtime.v1.ActorRuntime
Protobuf enum dapr.proto.runtime.v1.ActorRuntime.ActorRuntimeStatus
Protobuf type dapr.proto.runtime.v1.ActorRuntime
 
Protobuf type dapr.proto.runtime.v1.AppConnectionHealthProperties
Protobuf type dapr.proto.runtime.v1.AppConnectionHealthProperties
 
Protobuf type dapr.proto.runtime.v1.AppConnectionProperties
Protobuf type dapr.proto.runtime.v1.AppConnectionProperties
 
GetMetadataRequest is the message for the GetMetadata request.
GetMetadataRequest is the message for the GetMetadata request.
 
GetMetadataResponse is a message that is returned on GetMetadata rpc call.
GetMetadataResponse is a message that is returned on GetMetadata rpc call.
 
Protobuf type dapr.proto.runtime.v1.MetadataHTTPEndpoint
Protobuf type dapr.proto.runtime.v1.MetadataHTTPEndpoint
 
MetadataScheduler is a message that contains the list of addresses of the scheduler connections.
MetadataScheduler is a message that contains the list of addresses of the scheduler connections.
 
Protobuf type dapr.proto.runtime.v1.MetadataWorkflows
Protobuf type dapr.proto.runtime.v1.MetadataWorkflows
 
Protobuf type dapr.proto.runtime.v1.PubsubSubscription
Protobuf type dapr.proto.runtime.v1.PubsubSubscription
 
Protobuf type dapr.proto.runtime.v1.PubsubSubscriptionRule
Protobuf type dapr.proto.runtime.v1.PubsubSubscriptionRule
 
Protobuf type dapr.proto.runtime.v1.PubsubSubscriptionRules
Protobuf type dapr.proto.runtime.v1.PubsubSubscriptionRules
 
PubsubSubscriptionType indicates the type of subscription
Protobuf type dapr.proto.runtime.v1.RegisteredComponents
Protobuf type dapr.proto.runtime.v1.RegisteredComponents
 
Protobuf type dapr.proto.runtime.v1.SetMetadataRequest
Protobuf type dapr.proto.runtime.v1.SetMetadataRequest
 
Consumes gRPC metadata.
Serializes and deserializes application's objects.
Test container for Dapr placement service.
 
 
This class is copied from https://github.com/spring-projects/spring-data-keyvalue/blob/ff441439124585042dd0cbff952f977a343444d2/src/main/java/org/springframework/data/keyvalue/repository/query/PredicateQueryCreator.java#L46 because it has private accessors to internal classes, making it impossible to extend or use the original This requires to be created from scratch to not use predicates, but this is only worth it if we can prove these abstractions are worth the time.
This class is copied from https://github.com/spring-projects/spring-data-keyvalue/blob/ff441439124585042dd0cbff952f977a343444d2/src/main/java/org/springframework/data/keyvalue/repository/query/PredicateQueryCreator.java#L46 because it has private accessors to internal classes, making it impossible to extend or use the original This requires to be created from scratch to not use predicates, but this is only worth it if we can prove these abstractions are worth the time.
Generic client interface for preview or alpha APIs in Dapr, regardless of GRPC or HTTP.
 
 
ShutdownRequest is the request for Shutdown.
ShutdownRequest is the request for Shutdown.
 
 
 
BulkPublishRequest is the message to bulk publish events to pubsub topic
BulkPublishRequest is the message to bulk publish events to pubsub topic
BulkPublishRequestEntry is the message containing the event to be bulk published
BulkPublishRequestEntry is the message containing the event to be bulk published
 
 
BulkPublishResponse is the message returned from a BulkPublishEvent call
BulkPublishResponse is the message returned from a BulkPublishEvent call
BulkPublishResponseFailedEntry is the message containing the entryID and error of a failed event in BulkPublishEvent call
BulkPublishResponseFailedEntry is the message containing the entryID and error of a failed event in BulkPublishEvent call
 
 
PublishEventRequest is the message to publish event data to pubsub topic
PublishEventRequest is the message to publish event data to pubsub topic
 
SubscribeTopicEventsRequestAlpha1 is a message containing the details for subscribing to a topic via streaming.
SubscribeTopicEventsRequestAlpha1 is a message containing the details for subscribing to a topic via streaming.
 
 
SubscribeTopicEventsRequestInitialAlpha1 is the initial message containing the details for subscribing to a topic via streaming.
SubscribeTopicEventsRequestInitialAlpha1 is the initial message containing the details for subscribing to a topic via streaming.
 
SubscribeTopicEventsRequestProcessedAlpha1 is the message containing the subscription to a topic.
SubscribeTopicEventsRequestProcessedAlpha1 is the message containing the subscription to a topic.
 
SubscribeTopicEventsResponseAlpha1 is a message returned from daprd when subscribing to a topic via streaming.
SubscribeTopicEventsResponseAlpha1 is a message returned from daprd when subscribing to a topic via streaming.
 
 
SubscribeTopicEventsResponseInitialAlpha1 is the initial response from daprd when subscribing to a topic.
SubscribeTopicEventsResponseInitialAlpha1 is the initial response from daprd when subscribing to a topic.
 
Dapr specific RepositoryBeanDefinitionRegistrarSupport implementation.
Dapr specific RepositoryBeanDefinitionRegistrarSupport implementation.
RepositoryConfigurationExtension for Dapr-based repositories.
RepositoryConfigurationExtension for Dapr-based repositories.
Test container for Dapr scheduler service.
 
GetBulkSecretRequest is the message to get the secrets from secret store.
GetBulkSecretRequest is the message to get the secrets from secret store.
 
GetBulkSecretResponse is the response message to convey the requested secrets.
GetBulkSecretResponse is the response message to convey the requested secrets.
 
GetSecretRequest is the message to get secret from secret store.
GetSecretRequest is the message to get secret from secret store.
 
GetSecretResponse is the response message to convey the requested secret.
GetSecretResponse is the response message to convey the requested secret.
 
SecretResponse is a map of decrypted string/string values
SecretResponse is a map of decrypted string/string values
 
 
BulkStateItem is the response item for a bulk get operation.
BulkStateItem is the response item for a bulk get operation.
 
DeleteBulkStateRequest is the message to delete a list of key-value states from specific state store.
DeleteBulkStateRequest is the message to delete a list of key-value states from specific state store.
 
DeleteStateRequest is the message to delete key-value states in the specific state store.
DeleteStateRequest is the message to delete key-value states in the specific state store.
 
ExecuteStateTransactionRequest is the message to execute multiple operations on a specified store.
ExecuteStateTransactionRequest is the message to execute multiple operations on a specified store.
 
GetBulkStateRequest is the message to get a list of key-value states from specific state store.
GetBulkStateRequest is the message to get a list of key-value states from specific state store.
 
GetBulkStateResponse is the response conveying the list of state values.
GetBulkStateResponse is the response conveying the list of state values.
 
GetStateRequest is the message to get key-value states from specific state store.
GetStateRequest is the message to get key-value states from specific state store.
 
GetStateResponse is the response conveying the state value and etag.
GetStateResponse is the response conveying the state value and etag.
 
Protobuf type dapr.proto.runtime.v1.QueryStateItem
Protobuf type dapr.proto.runtime.v1.QueryStateItem
 
QueryStateRequest is the message to query state store.
QueryStateRequest is the message to query state store.
 
QueryStateResponse is the response conveying the query results.
QueryStateResponse is the response conveying the query results.
 
SaveStateRequest is the message to save multiple states into state store.
SaveStateRequest is the message to save multiple states into state store.
 
TransactionalStateOperation is the message to execute a specified operation with a key-value pair.
TransactionalStateOperation is the message to execute a specified operation with a key-value pair.
 
 
Class to be used as part of your service's client stub interceptor to include timeout.
Injects tracing headers to gRPC metadata.
Factory class for creating Dapr-specific wait strategies.
Defines client operations for managing Dapr Workflow instances.
 
GetWorkflowRequest is the request for GetWorkflowBeta1.
GetWorkflowRequest is the request for GetWorkflowBeta1.
 
GetWorkflowResponse is the response for GetWorkflowBeta1.
GetWorkflowResponse is the response for GetWorkflowBeta1.
 
PauseWorkflowRequest is the request for PauseWorkflowBeta1.
PauseWorkflowRequest is the request for PauseWorkflowBeta1.
 
PurgeWorkflowRequest is the request for PurgeWorkflowBeta1.
PurgeWorkflowRequest is the request for PurgeWorkflowBeta1.
 
RaiseEventWorkflowRequest is the request for RaiseEventWorkflowBeta1.
RaiseEventWorkflowRequest is the request for RaiseEventWorkflowBeta1.
 
ResumeWorkflowRequest is the request for ResumeWorkflowBeta1.
ResumeWorkflowRequest is the request for ResumeWorkflowBeta1.
 
StartWorkflowRequest is the request for StartWorkflowBeta1.
StartWorkflowRequest is the request for StartWorkflowBeta1.
 
StartWorkflowResponse is the response for StartWorkflowBeta1.
StartWorkflowResponse is the response for StartWorkflowBeta1.
 
TerminateWorkflowRequest is the request for TerminateWorkflowBeta1.
TerminateWorkflowRequest is the request for TerminateWorkflowBeta1.
 
 
Interface for serializing and deserializing data that gets passed to and from orchestrators and activities.
 
Request to decrypt data using the Dapr Cryptography building block.
A utility class for converting event to bytes based on content type or given serializer.
Default serializer/deserializer for request/response objects and for state objects too.
Wrapper for Durable Task Framework TaskActivityContext.
 
Represents a workflow failure details.
Deprecated, for removal: This API element is subject to removal in a future version.
Represents a snapshot of a workflow instance's current state, including metadata.
Represents a request to schedule a job in Dapr.
A request to delete a state by key.
Developer message for development and debugging purposes.
A failure policy that drops the job upon failure without retrying.
 
Base class that defines client operations for managing orchestration instances.
Durable Task client implementation that uses gRPC to connect to a remote "sidecar" process.
Builder class for constructing new DurableTaskClient objects that communicate with a sidecar process over gRPC.
Task hub worker that connects to a sidecar process over gRPC to execute orchestrator and activity events.
Builder object for constructing customized DurableTaskGrpcWorker instances.
 
Annotation to activate Dapr repositories.
Annotation to activate Dapr repositories.
 
Request to encrypt data using the Dapr Cryptography building block.
 
StreamObserver implementation for subscribing to Dapr pub/sub events.
A request for executing state transaction operations.
Class that represents the details of a task failure.
Set a failure policy for the job or reminder.
 
 
 
Configuration property for any type.
A request to get a secret by key.
A request to get bulk state by keys.
Request to get one or more configuration items from Dapr's configuration store.
Represents a request to schedule a job in Dapr.
Represents a request to schedule a job in Dapr.
A request to get a secret by key.
A request to get a state by key.
Helper to extract tracing information for gRPC calls.
Common headers for GRPC and HTTP communication.
 
HttpEndpointMetadata describes a registered Dapr HTTP endpoint.
 
HTTP Extension class.
 
Integer configuration property.
A request to invoke binding.
A request to invoke a service.
DaprObjectSerializer implementation backed by Jackson 3's JsonMapper.
An implementation of DataConverter that uses Jackson APIs for data serialization.
Represents a job schedule using cron expressions or fixed intervals.
 
 
 
A request to lock.
Enumerates commonly used metadata attributes.
Represents the response from the Dapr metadata API (/v1.0/metadata).
 
Integer configuration property.
A KeyValueAdapter implementation for MySQL.
A KeyValueAdapter implementation for MySQL.
Utility methods for network, internal to Dapr SDK.
Options for starting a new instance of an orchestration.
Options for starting a new instance of a workflow.
Serializes and deserializes an internal object.
Represents a snapshot of an orchestration instance's current state, including metadata.
Helper class for invoking orchestrations directly, without constructing a DurableTaskGrpcWorker object.
Enum describing the runtime status of the orchestration.
Class used for constructing orchestration metadata queries.
Class representing the results of a filtered orchestration metadata query.
Control flow Throwable class for orchestrator functions.
Functional interface for inline orchestrator functions.
 
 
Protobuf type AbandonActivityTaskRequest
Protobuf type AbandonActivityTaskRequest
 
Empty.
Empty.
 
Protobuf type AbandonEntityTaskRequest
Protobuf type AbandonEntityTaskRequest
 
Empty.
Empty.
 
Protobuf type AbandonOrchestrationTaskRequest
Protobuf type AbandonOrchestrationTaskRequest
 
Empty.
Empty.
 
Protobuf type ActivityRequest
Protobuf type ActivityRequest
 
Protobuf type ActivityResponse
Protobuf type ActivityResponse
 
Protobuf type CleanEntityStorageRequest
Protobuf type CleanEntityStorageRequest
 
Protobuf type CleanEntityStorageResponse
Protobuf type CleanEntityStorageResponse
 
Protobuf type CompleteOrchestrationAction
Protobuf type CompleteOrchestrationAction
 
No payload
No payload
 
Protobuf type ContinueAsNewEvent
Protobuf type ContinueAsNewEvent
 
Protobuf type CreateInstanceRequest
Protobuf type CreateInstanceRequest
 
Protobuf type CreateInstanceResponse
Protobuf type CreateInstanceResponse
 
Protobuf enum CreateOrchestrationAction
Protobuf type CreateSubOrchestrationAction
Protobuf type CreateSubOrchestrationAction
 
Protobuf type CreateTaskHubRequest
Protobuf type CreateTaskHubRequest
 
no playload
no playload
 
Protobuf type CreateTimerAction
Protobuf type CreateTimerAction
 
no playload
no playload
 
no playload
no playload
 
Protobuf type EntityBatchRequest
Protobuf type EntityBatchRequest
 
Protobuf type EntityBatchResult
Protobuf type EntityBatchResult
 
Protobuf type EntityLockGrantedEvent
Protobuf type EntityLockGrantedEvent
 
Protobuf type EntityLockRequestedEvent
Protobuf type EntityLockRequestedEvent
 
Protobuf type EntityMetadata
Protobuf type EntityMetadata
 
Protobuf type EntityOperationCalledEvent
Protobuf type EntityOperationCalledEvent
 
Protobuf type EntityOperationCompletedEvent
Protobuf type EntityOperationCompletedEvent
 
Protobuf type EntityOperationFailedEvent
Protobuf type EntityOperationFailedEvent
 
Protobuf type EntityOperationSignaledEvent
Protobuf type EntityOperationSignaledEvent
 
Protobuf type EntityQuery
Protobuf type EntityQuery
 
Protobuf type EntityRequest
Protobuf type EntityRequest
 
Protobuf type EntityUnlockSentEvent
Protobuf type EntityUnlockSentEvent
 
Protobuf type EventRaisedEvent
Protobuf type EventRaisedEvent
 
Protobuf type EventSentEvent
Protobuf type EventSentEvent
 
Protobuf type ExecutionCompletedEvent
Protobuf type ExecutionCompletedEvent
 
Protobuf type ExecutionResumedEvent
Protobuf type ExecutionResumedEvent
 
Protobuf type ExecutionStalledEvent
Protobuf type ExecutionStalledEvent
 
Protobuf type ExecutionStartedEvent
Protobuf type ExecutionStartedEvent
 
Protobuf type ExecutionSuspendedEvent
Protobuf type ExecutionSuspendedEvent
 
Protobuf type ExecutionTerminatedEvent
Protobuf type ExecutionTerminatedEvent
 
Protobuf type GenericEvent
Protobuf type GenericEvent
 
Protobuf type GetEntityRequest
Protobuf type GetEntityRequest
 
Protobuf type GetEntityResponse
Protobuf type GetEntityResponse
 
GetInstanceHistoryRequest is used to get the full history of an orchestration instance.
GetInstanceHistoryRequest is used to get the full history of an orchestration instance.
 
GetInstanceHistoryResponse is the response to executing GetInstanceHistory.
GetInstanceHistoryResponse is the response to executing GetInstanceHistory.
 
Protobuf type GetInstanceRequest
Protobuf type GetInstanceRequest
 
Protobuf type GetInstanceResponse
Protobuf type GetInstanceResponse
 
Protobuf type GetWorkItemsRequest
Protobuf type GetWorkItemsRequest
 
No payload
No payload
 
Protobuf type HistoryChunk
Protobuf type HistoryChunk
 
Protobuf type HistoryEvent
Protobuf type HistoryEvent
 
 
Protobuf type HistoryStateEvent
Protobuf type HistoryStateEvent
 
Protobuf type InstanceQuery
Protobuf type InstanceQuery
 
ListInstanceIDsRequest is used to list all orchestration instances.
ListInstanceIDsRequest is used to list all orchestration instances.
 
ListInstanceIDsResponse is the response to executing ListInstanceIDs.
ListInstanceIDsResponse is the response to executing ListInstanceIDs.
 
Protobuf type OperationAction
Protobuf type OperationAction
 
 
Protobuf type OperationInfo
Protobuf type OperationInfo
 
Protobuf type OperationRequest
Protobuf type OperationRequest
 
Protobuf type OperationResult
Protobuf type OperationResult
 
Protobuf type OperationResultFailure
Protobuf type OperationResultFailure
 
 
Protobuf type OperationResultSuccess
Protobuf type OperationResultSuccess
 
Protobuf type OrchestrationIdReusePolicy
Protobuf type OrchestrationIdReusePolicy
 
Protobuf type OrchestrationInstance
Protobuf type OrchestrationInstance
 
Protobuf type OrchestrationState
Protobuf type OrchestrationState
 
Protobuf enum OrchestrationStatus
Protobuf type OrchestrationVersion
Protobuf type OrchestrationVersion
 
Protobuf type OrchestratorAction
Protobuf type OrchestratorAction
 
 
No payload data
No payload data
 
Protobuf type OrchestratorEntityParameters
Protobuf type OrchestratorEntityParameters
 
Protobuf type OrchestratorRequest
Protobuf type OrchestratorRequest
 
Protobuf type OrchestratorResponse
Protobuf type OrchestratorResponse
 
Protobuf type OrchestratorStartedEvent
Protobuf type OrchestratorStartedEvent
 
Protobuf type OrchestratorVersionNotAvailableAction
Protobuf type OrchestratorVersionNotAvailableAction
 
Protobuf type ParentInstanceInfo
Protobuf type ParentInstanceInfo
 
Protobuf type PurgeInstanceFilter
Protobuf type PurgeInstanceFilter
 
Protobuf type PurgeInstancesRequest
Protobuf type PurgeInstancesRequest
 
 
Protobuf type PurgeInstancesResponse
Protobuf type PurgeInstancesResponse
 
Protobuf type QueryEntitiesRequest
Protobuf type QueryEntitiesRequest
 
Protobuf type QueryEntitiesResponse
Protobuf type QueryEntitiesResponse
 
Protobuf type QueryInstancesRequest
Protobuf type QueryInstancesRequest
 
Protobuf type QueryInstancesResponse
Protobuf type QueryInstancesResponse
 
Protobuf type RaiseEventRequest
Protobuf type RaiseEventRequest
 
No payload
No payload
 
RerunParentInstanceInfo is used to indicate that this orchestration was started as part of a rerun operation.
RerunParentInstanceInfo is used to indicate that this orchestration was started as part of a rerun operation.
 
RerunWorkflowFromEventRequest is used to rerun a workflow instance from a specific event ID.
RerunWorkflowFromEventRequest is used to rerun a workflow instance from a specific event ID.
 
RerunWorkflowFromEventResponse is the response to executing RerunWorkflowFromEvent.
RerunWorkflowFromEventResponse is the response to executing RerunWorkflowFromEvent.
 
Protobuf type ResumeRequest
Protobuf type ResumeRequest
 
No payload
No payload
 
Protobuf type RewindInstanceRequest
Protobuf type RewindInstanceRequest
 
Empty for now.
Empty for now.
 
Protobuf type ScheduleTaskAction
Protobuf type ScheduleTaskAction
 
Protobuf type SendEntityMessageAction
Protobuf type SendEntityMessageAction
 
 
Protobuf type SendEventAction
Protobuf type SendEventAction
 
Protobuf type SendSignalAction
Protobuf type SendSignalAction
 
Protobuf type SignalEntityRequest
Protobuf type SignalEntityRequest
 
no payload
no payload
 
Protobuf enum StalledReason
Protobuf type StartNewOrchestrationAction
Protobuf type StartNewOrchestrationAction
 
Protobuf type StreamInstanceHistoryRequest
Protobuf type StreamInstanceHistoryRequest
 
Protobuf type SubOrchestrationInstanceCompletedEvent
Protobuf type SubOrchestrationInstanceCompletedEvent
 
Protobuf type SubOrchestrationInstanceCreatedEvent
Protobuf type SubOrchestrationInstanceCreatedEvent
 
Protobuf type SubOrchestrationInstanceFailedEvent
Protobuf type SubOrchestrationInstanceFailedEvent
 
Protobuf type SuspendRequest
Protobuf type SuspendRequest
 
No payload
No payload
 
Protobuf type TaskCompletedEvent
Protobuf type TaskCompletedEvent
 
Protobuf type TaskFailedEvent
Protobuf type TaskFailedEvent
 
Protobuf type TaskFailureDetails
Protobuf type TaskFailureDetails
 
Protobuf type TaskRouter
Protobuf type TaskRouter
 
Protobuf type TaskScheduledEvent
Protobuf type TaskScheduledEvent
 
Protobuf type TerminateOrchestrationAction
Protobuf type TerminateOrchestrationAction
 
Protobuf type TerminateRequest
Protobuf type TerminateRequest
 
No payload
No payload
 
Protobuf type TimerCreatedEvent
Protobuf type TimerCreatedEvent
 
Protobuf type TimerFiredEvent
Protobuf type TimerFiredEvent
 
Protobuf type TraceContext
Protobuf type TraceContext
 
Protobuf enum WorkerCapability
Protobuf type WorkItem
Protobuf type WorkItem
 
 
 
Configuration settings for Otel tracing.
 
A KeyValueAdapter implementation for PostgreSQL.
A KeyValueAdapter implementation for PostgreSQL.
Global properties for Dapr's SDK, using Supplier so they are dynamically resolved.
A configuration property in the Dapr's SDK.
 
Helper class to convert Java objects to Google Protobuf Value types.
A request to publish an event.
Class used for constructing orchestration instance purge selection criteria.
Class representing the results of an orchestration state purge operation.
 
 
 
 
Interface that actors must implement to consume reminders registered using RegisterReminderAsync.
Resiliency policy for SDK communication to Dapr API.
Context data that's provided to RetryHandler implementations.
Functional interface for implementing custom task retry handlers.
A declarative retry policy that can be configured for activity or sub-orchestration calls.
Retry policy for SDK communication to Dapr API.
 
RuleMetadata describes the Subscription Rule's Metadata.
A request to save states to state store.
Represents a request to schedule a job in Dapr.
Integer configuration property.
 
 
This class represents what a State is.
A class representing the state options for Dapr state API.
Options for Concurrency.
Options for Consistency.
 
 
String configuration property.
Request to subscribe to one or more configuration items.
Domain object for response from subscribeConfiguration API.
Deprecated.
 
Represents a subscription entry from the Dapr metadata API response.
Represents a routing rule for a subscription.
Deprecated.
Callback status response for acknowledging a message.
SubscriptionMetadata describes the Subscription Metadata.
Wait strategy that waits for a specific subscription to be registered with Dapr.
 
System message that sets the behavior or context for the conversation.
Represents an asynchronous operation in a durable orchestration.
Common interface for task activity implementations.
Interface that provides TaskActivity implementations with activity context, such as an activity's name and its input.
 
Factory interface for producing TaskActivity implementations.
Represents a task cancellation, either because of a timeout or because of an explicit cancellation operation.
Exception that gets thrown when awaiting a Task for an activity or sub-orchestration that fails with an unhandled exception.
 
 
A stub to allow clients to do limited synchronous rpc calls to service TaskHubSidecarService.
A stub to allow clients to do synchronous rpc calls to service TaskHubSidecarService.
A stub to allow clients to do ListenableFuture-style rpc calls to service TaskHubSidecarService.
Base class for the server implementation of the service TaskHubSidecarService.
A stub to allow clients to do asynchronous rpc calls to service TaskHubSidecarService.
Options that can be used to control the behavior of orchestrator and activity task execution.
Builder for creating TaskOptions instances.
Common interface for task orchestrator implementations.
Used by orchestrators to perform actions such as scheduling tasks, durable timers, waiting for external events, and for getting basic information about the current orchestration.
 
 
Factory interface for producing TaskOrchestration implementations.
 
Timeout policy for SDK communication to Dapr API.
Tool message containing results from function/tool calls.
 
Represents a Dapr tracing configuration parameters .
Class to represent transactional state operations.
Options for type of operation.
A class to represent request for transactional state.
Used to reference a type.
A request to unlock.
 
Request to unsubscribe to one or more configuration items using subscription id.
Domain object for unsubscribe response.
User message containing input from the human user.
Utility class for generating UUIDs.
 
 
Common interface for workflow implementations.
Common interface for task activity implementations.
Wrapper for Durable Task Framework task activity factory.
 
Wrapper for Durable Task Framework task activity factory.
Context object used by workflow implementations to perform actions such as scheduling activities, durable timers, waiting for external events, and for getting basic information about the current workflow instance.
Test container for Dapr Workflow Dashboard.
Represents a workflow failure details.
Deprecated, for removal: This API element is subject to removal in a future version.
Use WorkflowState instead.
 
Contains methods to register workflows and activities.
 
Enum describing the runtime status of a workflow.
 
Represents a snapshot of a workflow instance's current state, including metadata.
 
 
 
 
 
 
 
 
Factory for creating a YAML mapper.
Configuration settings for Zipkin tracing.

================================================ FILE: docs/allpackages-index.html ================================================ All Packages (dapr-sdk-parent 1.17.2 API)

All Packages

Package Summary
Package
Description
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

================================================ FILE: docs/constant-values.html ================================================ Constant Field Values (dapr-sdk-parent 1.17.2 API)

Constant Field Values

Contents

io.dapr.*


================================================ FILE: docs/css/maven-base.css ================================================ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ body { margin: 0px; padding: 0px; } table { padding:0px; width: 100%; margin-left: -2px; margin-right: -2px; } acronym { cursor: help; border-bottom: 1px dotted #feb; } table.bodyTable th, table.bodyTable td { padding: 2px 4px 2px 4px; vertical-align: top; } div.clear { clear:both; visibility: hidden; } div.clear hr { display: none; } #bannerLeft, #bannerRight { font-size: xx-large; font-weight: bold; } #bannerLeft img, #bannerRight img { margin: 0px; } .xleft, #bannerLeft img { float:left; } .xright, #bannerRight { float:right; } #banner { padding: 0px; } #breadcrumbs { padding: 3px 10px 3px 10px; } #leftColumn { width: 170px; float:left; overflow: auto; } #bodyColumn { margin-right: 1.5em; margin-left: 197px; } #legend { padding: 8px 0 8px 0; } #navcolumn { padding: 8px 4px 0 8px; } #navcolumn h5 { margin: 0; padding: 0; font-size: small; } #navcolumn ul { margin: 0; padding: 0; font-size: small; } #navcolumn li { list-style-type: none; background-image: none; background-repeat: no-repeat; background-position: 0 0.4em; padding-left: 16px; list-style-position: outside; line-height: 1.2em; font-size: smaller; } #navcolumn li.expanded { background-image: url(../images/expanded.gif); } #navcolumn li.collapsed { background-image: url(../images/collapsed.gif); } #navcolumn li.none { text-indent: -1em; margin-left: 1em; } #poweredBy { text-align: center; } #navcolumn img { margin-top: 10px; margin-bottom: 3px; } #poweredBy img { display:block; margin: 20px 0 20px 17px; } #search img { margin: 0px; display: block; } #search #q, #search #btnG { border: 1px solid #999; margin-bottom:10px; } #search form { margin: 0px; } #lastPublished { font-size: x-small; } .navSection { margin-bottom: 2px; padding: 8px; } .navSectionHead { font-weight: bold; font-size: x-small; } .section { padding: 4px; } #footer { padding: 3px 10px 3px 10px; font-size: x-small; } #breadcrumbs { font-size: x-small; margin: 0pt; } .source { padding: 12px; margin: 1em 7px 1em 7px; } .source pre { margin: 0px; padding: 0px; } #navcolumn img.imageLink, .imageLink { padding-left: 0px; padding-bottom: 0px; padding-top: 0px; padding-right: 2px; border: 0px; margin: 0px; } ================================================ FILE: docs/css/maven-theme.css ================================================ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ body { padding: 0px 0px 10px 0px; } body, td, select, input, li{ font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; } code{ font-family: Courier, monospace; font-size: 13px; } a { text-decoration: none; } a:link { color:#36a; } a:visited { color:#47a; } a:active, a:hover { color:#69c; } #legend li.externalLink { background: url(../images/external.png) left top no-repeat; padding-left: 18px; } a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover { background: url(../images/external.png) right center no-repeat; padding-right: 18px; } #legend li.newWindow { background: url(../images/newwindow.png) left top no-repeat; padding-left: 18px; } a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover { background: url(../images/newwindow.png) right center no-repeat; padding-right: 18px; } h2 { padding: 4px 4px 4px 6px; border: 1px solid #999; color: #900; background-color: #ddd; font-weight:900; font-size: x-large; } h3 { padding: 4px 4px 4px 6px; border: 1px solid #aaa; color: #900; background-color: #eee; font-weight: normal; font-size: large; } h4 { padding: 4px 4px 4px 6px; border: 1px solid #bbb; color: #900; background-color: #fff; font-weight: normal; font-size: large; } h5 { padding: 4px 4px 4px 6px; color: #900; font-size: medium; } p { line-height: 1.3em; font-size: small; } #breadcrumbs { border-top: 1px solid #aaa; border-bottom: 1px solid #aaa; background-color: #ccc; } #leftColumn { margin: 10px 0 0 5px; border: 1px solid #999; background-color: #eee; padding-bottom: 3px; /* IE-9 scrollbar-fix */ } #navcolumn h5 { font-size: smaller; border-bottom: 1px solid #aaaaaa; padding-top: 2px; color: #000; } table.bodyTable th { color: white; background-color: #bbb; text-align: left; font-weight: bold; } table.bodyTable th, table.bodyTable td { font-size: 1em; } table.bodyTable tr.a { background-color: #ddd; } table.bodyTable tr.b { background-color: #eee; } .source { border: 1px solid #999; } dl { padding: 4px 4px 4px 6px; border: 1px solid #aaa; background-color: #ffc; } dt { color: #900; } #organizationLogo img, #projectLogo img, #projectLogo span{ margin: 8px; } #banner { border-bottom: 1px solid #fff; } .errormark, .warningmark, .donemark, .infomark { background: url(../images/icon_error_sml.gif) no-repeat; } .warningmark { background-image: url(../images/icon_warning_sml.gif); } .donemark { background-image: url(../images/icon_success_sml.gif); } .infomark { background-image: url(../images/icon_info_sml.gif); } ================================================ FILE: docs/css/print.css ================================================ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ #banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn { display: none !important; } #bodyColumn, body.docs div.docs { margin: 0 !important; border: none !important } ================================================ FILE: docs/css/site.css ================================================ /* You can override this file with your own styles */ ================================================ FILE: docs/dapr-sdk-springboot/css/maven-base.css ================================================ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ body { margin: 0px; padding: 0px; } table { padding:0px; width: 100%; margin-left: -2px; margin-right: -2px; } acronym { cursor: help; border-bottom: 1px dotted #feb; } table.bodyTable th, table.bodyTable td { padding: 2px 4px 2px 4px; vertical-align: top; } div.clear { clear:both; visibility: hidden; } div.clear hr { display: none; } #bannerLeft, #bannerRight { font-size: xx-large; font-weight: bold; } #bannerLeft img, #bannerRight img { margin: 0px; } .xleft, #bannerLeft img { float:left; } .xright, #bannerRight { float:right; } #banner { padding: 0px; } #breadcrumbs { padding: 3px 10px 3px 10px; } #leftColumn { width: 170px; float:left; overflow: auto; } #bodyColumn { margin-right: 1.5em; margin-left: 197px; } #legend { padding: 8px 0 8px 0; } #navcolumn { padding: 8px 4px 0 8px; } #navcolumn h5 { margin: 0; padding: 0; font-size: small; } #navcolumn ul { margin: 0; padding: 0; font-size: small; } #navcolumn li { list-style-type: none; background-image: none; background-repeat: no-repeat; background-position: 0 0.4em; padding-left: 16px; list-style-position: outside; line-height: 1.2em; font-size: smaller; } #navcolumn li.expanded { background-image: url(../images/expanded.gif); } #navcolumn li.collapsed { background-image: url(../images/collapsed.gif); } #navcolumn li.none { text-indent: -1em; margin-left: 1em; } #poweredBy { text-align: center; } #navcolumn img { margin-top: 10px; margin-bottom: 3px; } #poweredBy img { display:block; margin: 20px 0 20px 17px; } #search img { margin: 0px; display: block; } #search #q, #search #btnG { border: 1px solid #999; margin-bottom:10px; } #search form { margin: 0px; } #lastPublished { font-size: x-small; } .navSection { margin-bottom: 2px; padding: 8px; } .navSectionHead { font-weight: bold; font-size: x-small; } .section { padding: 4px; } #footer { padding: 3px 10px 3px 10px; font-size: x-small; } #breadcrumbs { font-size: x-small; margin: 0pt; } .source { padding: 12px; margin: 1em 7px 1em 7px; } .source pre { margin: 0px; padding: 0px; } #navcolumn img.imageLink, .imageLink { padding-left: 0px; padding-bottom: 0px; padding-top: 0px; padding-right: 2px; border: 0px; margin: 0px; } ================================================ FILE: docs/dapr-sdk-springboot/css/maven-theme.css ================================================ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ body { padding: 0px 0px 10px 0px; } body, td, select, input, li{ font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; } code{ font-family: Courier, monospace; font-size: 13px; } a { text-decoration: none; } a:link { color:#36a; } a:visited { color:#47a; } a:active, a:hover { color:#69c; } #legend li.externalLink { background: url(../images/external.png) left top no-repeat; padding-left: 18px; } a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover { background: url(../images/external.png) right center no-repeat; padding-right: 18px; } #legend li.newWindow { background: url(../images/newwindow.png) left top no-repeat; padding-left: 18px; } a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover { background: url(../images/newwindow.png) right center no-repeat; padding-right: 18px; } h2 { padding: 4px 4px 4px 6px; border: 1px solid #999; color: #900; background-color: #ddd; font-weight:900; font-size: x-large; } h3 { padding: 4px 4px 4px 6px; border: 1px solid #aaa; color: #900; background-color: #eee; font-weight: normal; font-size: large; } h4 { padding: 4px 4px 4px 6px; border: 1px solid #bbb; color: #900; background-color: #fff; font-weight: normal; font-size: large; } h5 { padding: 4px 4px 4px 6px; color: #900; font-size: medium; } p { line-height: 1.3em; font-size: small; } #breadcrumbs { border-top: 1px solid #aaa; border-bottom: 1px solid #aaa; background-color: #ccc; } #leftColumn { margin: 10px 0 0 5px; border: 1px solid #999; background-color: #eee; padding-bottom: 3px; /* IE-9 scrollbar-fix */ } #navcolumn h5 { font-size: smaller; border-bottom: 1px solid #aaaaaa; padding-top: 2px; color: #000; } table.bodyTable th { color: white; background-color: #bbb; text-align: left; font-weight: bold; } table.bodyTable th, table.bodyTable td { font-size: 1em; } table.bodyTable tr.a { background-color: #ddd; } table.bodyTable tr.b { background-color: #eee; } .source { border: 1px solid #999; } dl { padding: 4px 4px 4px 6px; border: 1px solid #aaa; background-color: #ffc; } dt { color: #900; } #organizationLogo img, #projectLogo img, #projectLogo span{ margin: 8px; } #banner { border-bottom: 1px solid #fff; } .errormark, .warningmark, .donemark, .infomark { background: url(../images/icon_error_sml.gif) no-repeat; } .warningmark { background-image: url(../images/icon_warning_sml.gif); } .donemark { background-image: url(../images/icon_success_sml.gif); } .infomark { background-image: url(../images/icon_info_sml.gif); } ================================================ FILE: docs/dapr-sdk-springboot/css/print.css ================================================ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ #banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn { display: none !important; } #bodyColumn, body.docs div.docs { margin: 0 !important; border: none !important } ================================================ FILE: docs/dapr-sdk-springboot/css/site.css ================================================ /* You can override this file with your own styles */ ================================================ FILE: docs/dapr-sdk-workflows/allclasses-index.html ================================================ All Classes and Interfaces (dapr-sdk-workflows 1.17.2 API)

All Classes and Interfaces

Class
Description
 
Defines client operations for managing Dapr Workflow instances.
Wrapper for Durable Task Framework TaskActivityContext.
 
Represents a workflow failure details.
Deprecated, for removal: This API element is subject to removal in a future version.
Represents a snapshot of a workflow instance's current state, including metadata.
Options for starting a new instance of a workflow.
Common interface for workflow implementations.
Common interface for task activity implementations.
Wrapper for Durable Task Framework task activity factory.
 
Wrapper for Durable Task Framework task activity factory.
Context object used by workflow implementations to perform actions such as scheduling activities, durable timers, waiting for external events, and for getting basic information about the current workflow instance.
Represents a workflow failure details.
Deprecated, for removal: This API element is subject to removal in a future version.
Use WorkflowState instead.
Contains methods to register workflows and activities.
 
Enum describing the runtime status of a workflow.
 
Represents a snapshot of a workflow instance's current state, including metadata.
 
 
 
 
 
 
 

================================================ FILE: docs/dapr-sdk-workflows/allpackages-index.html ================================================ All Packages (dapr-sdk-workflows 1.17.2 API)

All Packages

Package Summary

================================================ FILE: docs/dapr-sdk-workflows/css/maven-base.css ================================================ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ body { margin: 0px; padding: 0px; } table { padding:0px; width: 100%; margin-left: -2px; margin-right: -2px; } acronym { cursor: help; border-bottom: 1px dotted #feb; } table.bodyTable th, table.bodyTable td { padding: 2px 4px 2px 4px; vertical-align: top; } div.clear { clear:both; visibility: hidden; } div.clear hr { display: none; } #bannerLeft, #bannerRight { font-size: xx-large; font-weight: bold; } #bannerLeft img, #bannerRight img { margin: 0px; } .xleft, #bannerLeft img { float:left; } .xright, #bannerRight { float:right; } #banner { padding: 0px; } #breadcrumbs { padding: 3px 10px 3px 10px; } #leftColumn { width: 170px; float:left; overflow: auto; } #bodyColumn { margin-right: 1.5em; margin-left: 197px; } #legend { padding: 8px 0 8px 0; } #navcolumn { padding: 8px 4px 0 8px; } #navcolumn h5 { margin: 0; padding: 0; font-size: small; } #navcolumn ul { margin: 0; padding: 0; font-size: small; } #navcolumn li { list-style-type: none; background-image: none; background-repeat: no-repeat; background-position: 0 0.4em; padding-left: 16px; list-style-position: outside; line-height: 1.2em; font-size: smaller; } #navcolumn li.expanded { background-image: url(../images/expanded.gif); } #navcolumn li.collapsed { background-image: url(../images/collapsed.gif); } #navcolumn li.none { text-indent: -1em; margin-left: 1em; } #poweredBy { text-align: center; } #navcolumn img { margin-top: 10px; margin-bottom: 3px; } #poweredBy img { display:block; margin: 20px 0 20px 17px; } #search img { margin: 0px; display: block; } #search #q, #search #btnG { border: 1px solid #999; margin-bottom:10px; } #search form { margin: 0px; } #lastPublished { font-size: x-small; } .navSection { margin-bottom: 2px; padding: 8px; } .navSectionHead { font-weight: bold; font-size: x-small; } .section { padding: 4px; } #footer { padding: 3px 10px 3px 10px; font-size: x-small; } #breadcrumbs { font-size: x-small; margin: 0pt; } .source { padding: 12px; margin: 1em 7px 1em 7px; } .source pre { margin: 0px; padding: 0px; } #navcolumn img.imageLink, .imageLink { padding-left: 0px; padding-bottom: 0px; padding-top: 0px; padding-right: 2px; border: 0px; margin: 0px; } ================================================ FILE: docs/dapr-sdk-workflows/css/maven-theme.css ================================================ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ body { padding: 0px 0px 10px 0px; } body, td, select, input, li{ font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; } code{ font-family: Courier, monospace; font-size: 13px; } a { text-decoration: none; } a:link { color:#36a; } a:visited { color:#47a; } a:active, a:hover { color:#69c; } #legend li.externalLink { background: url(../images/external.png) left top no-repeat; padding-left: 18px; } a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover { background: url(../images/external.png) right center no-repeat; padding-right: 18px; } #legend li.newWindow { background: url(../images/newwindow.png) left top no-repeat; padding-left: 18px; } a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover { background: url(../images/newwindow.png) right center no-repeat; padding-right: 18px; } h2 { padding: 4px 4px 4px 6px; border: 1px solid #999; color: #900; background-color: #ddd; font-weight:900; font-size: x-large; } h3 { padding: 4px 4px 4px 6px; border: 1px solid #aaa; color: #900; background-color: #eee; font-weight: normal; font-size: large; } h4 { padding: 4px 4px 4px 6px; border: 1px solid #bbb; color: #900; background-color: #fff; font-weight: normal; font-size: large; } h5 { padding: 4px 4px 4px 6px; color: #900; font-size: medium; } p { line-height: 1.3em; font-size: small; } #breadcrumbs { border-top: 1px solid #aaa; border-bottom: 1px solid #aaa; background-color: #ccc; } #leftColumn { margin: 10px 0 0 5px; border: 1px solid #999; background-color: #eee; padding-bottom: 3px; /* IE-9 scrollbar-fix */ } #navcolumn h5 { font-size: smaller; border-bottom: 1px solid #aaaaaa; padding-top: 2px; color: #000; } table.bodyTable th { color: white; background-color: #bbb; text-align: left; font-weight: bold; } table.bodyTable th, table.bodyTable td { font-size: 1em; } table.bodyTable tr.a { background-color: #ddd; } table.bodyTable tr.b { background-color: #eee; } .source { border: 1px solid #999; } dl { padding: 4px 4px 4px 6px; border: 1px solid #aaa; background-color: #ffc; } dt { color: #900; } #organizationLogo img, #projectLogo img, #projectLogo span{ margin: 8px; } #banner { border-bottom: 1px solid #fff; } .errormark, .warningmark, .donemark, .infomark { background: url(../images/icon_error_sml.gif) no-repeat; } .warningmark { background-image: url(../images/icon_warning_sml.gif); } .donemark { background-image: url(../images/icon_success_sml.gif); } .infomark { background-image: url(../images/icon_info_sml.gif); } ================================================ FILE: docs/dapr-sdk-workflows/css/print.css ================================================ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ #banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn { display: none !important; } #bodyColumn, body.docs div.docs { margin: 0 !important; border: none !important } ================================================ FILE: docs/dapr-sdk-workflows/css/site.css ================================================ /* You can override this file with your own styles */ ================================================ FILE: docs/dapr-sdk-workflows/element-list ================================================ io.dapr.workflows io.dapr.workflows.client io.dapr.workflows.internal io.dapr.workflows.runtime ================================================ FILE: docs/dapr-sdk-workflows/help-doc.html ================================================ API Help (dapr-sdk-workflows 1.17.2 API)

JavaDoc Help


Navigation

Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces

Kinds of Pages

The following sections describe the different kinds of pages in this collection.

Overview

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

Package

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

  • Interfaces
  • Classes
  • Enums
  • Exceptions
  • Errors
  • Annotation Types

Class or Interface

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

  • Class Inheritance Diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class or Interface Declaration
  • Class or Interface Description

  • Nested Class Summary
  • Enum Constant Summary
  • Field Summary
  • Property Summary
  • Constructor Summary
  • Method Summary
  • Required Element Summary
  • Optional Element Summary

  • Enum Constant Details
  • Field Details
  • Property Details
  • Constructor Details
  • Method Details
  • Element Details

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

Other Files

Packages and modules may contain pages with additional information related to the declarations nearby.

Use

Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the USE link in the navigation bar.

Tree (Class Hierarchy)

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.

Deprecated API

The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to shortcomings, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

All Packages

The All Packages page contains an alphabetic index of all packages contained in the documentation.

All Classes and Interfaces

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

Index

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.


This help file applies to API documentation generated by the standard doclet.

================================================ FILE: docs/dapr-sdk-workflows/index-all.html ================================================ Index (dapr-sdk-workflows 1.17.2 API)

Index

A B C D F G H I N P R S T V W 
All Classes and Interfaces|All Packages

A

allOf(List<Task<V>>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Returns a new Task that is completed when all the given Tasks complete.
allOf(List<Task<V>>) - Method in interface io.dapr.workflows.WorkflowContext
Returns a new Task that is completed when all the given Tasks complete.
anyOf(Task<?>...) - Method in interface io.dapr.workflows.WorkflowContext
Returns a new Task that is completed when any of the given Tasks complete.
anyOf(List<Task<?>>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Returns a new Task that is completed when any of the tasks in tasks completes.
anyOf(List<Task<?>>) - Method in interface io.dapr.workflows.WorkflowContext
Returns a new Task that is completed when any of the tasks in tasks completes.
ApiTokenClientInterceptor - Class in io.dapr.workflows.internal
 
ApiTokenClientInterceptor(Properties) - Constructor for class io.dapr.workflows.internal.ApiTokenClientInterceptor
 

B

build() - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Returns a WorkflowRuntime object.
build() - Method in class io.dapr.workflows.WorkflowTaskRetryPolicy.Builder
Build the WorkflowTaskRetryPolicy.

C

callActivity(String) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes an activity by name and returns a new Task that completes when the activity completes.
callActivity(String, Class<V>) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes an activity by name and returns a new Task that completes when the activity completes.
callActivity(String, Object) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.
callActivity(String, Object, WorkflowTaskOptions) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.
callActivity(String, Object, WorkflowTaskOptions, Class<V>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.
callActivity(String, Object, WorkflowTaskOptions, Class<V>) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.
callActivity(String, Object, Class<V>) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.If the activity completes successfully, the returned Task's value will be the activity's output.
callChildWorkflow(String) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
callChildWorkflow(String, Object) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
callChildWorkflow(String, Object, Class<V>) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
callChildWorkflow(String, Object, String, WorkflowTaskOptions) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class<V>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class<V>) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
callChildWorkflow(String, Object, String, Class<V>) - Method in interface io.dapr.workflows.WorkflowContext
Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
CANCELED - Enum constant in enum io.dapr.workflows.client.WorkflowRuntimeStatus
The workflow was abruptly cancelled via a management API call.
close() - Method in class io.dapr.workflows.client.DaprWorkflowClient
Closes the inner DurableTask client and shutdown the GRPC channel.
close() - Method in class io.dapr.workflows.runtime.WorkflowRuntime
complete(Object) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Completes the current workflow.
complete(Object) - Method in interface io.dapr.workflows.WorkflowContext
Completes the current workflow.
COMPLETED - Enum constant in enum io.dapr.workflows.client.WorkflowRuntimeStatus
The workflow completed normally.
continueAsNew(Object) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Restarts the orchestration with a new input and clears its history.
continueAsNew(Object) - Method in interface io.dapr.workflows.WorkflowContext
Restarts the orchestration with a new input and clears its history.
continueAsNew(Object, boolean) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Restarts the orchestration with a new input and clears its history.
continueAsNew(Object, boolean) - Method in interface io.dapr.workflows.WorkflowContext
Restarts the orchestration with a new input and clears its history.
CONTINUED_AS_NEW - Enum constant in enum io.dapr.workflows.client.WorkflowRuntimeStatus
The workflow is continued as new.
create() - Method in class io.dapr.workflows.runtime.WorkflowActivityClassWrapper
 
create() - Method in class io.dapr.workflows.runtime.WorkflowActivityInstanceWrapper
 
create() - Method in interface io.dapr.workflows.Workflow
Executes the workflow logic.
createTimer(Duration) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Creates a durable timer that expires after the specified delay.
createTimer(Duration) - Method in interface io.dapr.workflows.WorkflowContext
Creates a durable timer that expires after the specified delay.
createTimer(ZonedDateTime) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
 
createTimer(ZonedDateTime) - Method in interface io.dapr.workflows.WorkflowContext
Creates a durable timer that expires after the specified timestamp with specific zone.

D

DaprWorkflowClient - Class in io.dapr.workflows.client
Defines client operations for managing Dapr Workflow instances.
DaprWorkflowClient() - Constructor for class io.dapr.workflows.client.DaprWorkflowClient
Public constructor for DaprWorkflowClient.
DaprWorkflowClient(Properties) - Constructor for class io.dapr.workflows.client.DaprWorkflowClient
Public constructor for DaprWorkflowClient.
DefaultWorkflowActivityContext - Class in io.dapr.workflows.runtime
Wrapper for Durable Task Framework TaskActivityContext.
DefaultWorkflowActivityContext(TaskActivityContext) - Constructor for class io.dapr.workflows.runtime.DefaultWorkflowActivityContext
Constructor for WorkflowActivityContext.
DefaultWorkflowActivityContext(TaskActivityContext, Class<?>) - Constructor for class io.dapr.workflows.runtime.DefaultWorkflowActivityContext
Constructor for WorkflowActivityContext.
DefaultWorkflowActivityContext(TaskActivityContext, Logger) - Constructor for class io.dapr.workflows.runtime.DefaultWorkflowActivityContext
Constructor for WorkflowActivityContext.
DefaultWorkflowContext - Class in io.dapr.workflows.runtime
 
DefaultWorkflowContext(TaskOrchestrationContext) - Constructor for class io.dapr.workflows.runtime.DefaultWorkflowContext
Constructor for DefaultWorkflowContext.
DefaultWorkflowContext(TaskOrchestrationContext, Class<?>) - Constructor for class io.dapr.workflows.runtime.DefaultWorkflowContext
Constructor for DefaultWorkflowContext.
DefaultWorkflowContext(TaskOrchestrationContext, Logger) - Constructor for class io.dapr.workflows.runtime.DefaultWorkflowContext
Constructor for DefaultWorkflowContext.
DefaultWorkflowFailureDetails - Class in io.dapr.workflows.runtime
Represents a workflow failure details.
DefaultWorkflowFailureDetails(FailureDetails) - Constructor for class io.dapr.workflows.runtime.DefaultWorkflowFailureDetails
Class constructor.
DefaultWorkflowInstanceStatus - Class in io.dapr.workflows.runtime
Deprecated, for removal: This API element is subject to removal in a future version.
DefaultWorkflowInstanceStatus(OrchestrationMetadata) - Constructor for class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Class constructor.
DefaultWorkflowState - Class in io.dapr.workflows.runtime
Represents a snapshot of a workflow instance's current state, including metadata.
DefaultWorkflowState(OrchestrationMetadata) - Constructor for class io.dapr.workflows.runtime.DefaultWorkflowState
Class constructor.

F

FAILED - Enum constant in enum io.dapr.workflows.client.WorkflowRuntimeStatus
The workflow completed with an unhandled exception.
fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus) - Static method in class io.dapr.workflows.runtime.WorkflowRuntimeStatusConverter
Converts an OrchestrationRuntimeStatus to a WorkflowRuntimeStatus.

G

getAppId() - Method in class io.dapr.workflows.WorkflowTaskOptions
 
getBackoffCoefficient() - Method in class io.dapr.workflows.WorkflowTaskRetryPolicy
 
getCreatedAt() - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Gets the workflow instance's creation time in UTC.
getCreatedAt() - Method in interface io.dapr.workflows.client.WorkflowState
Gets the workflow instance's creation time in UTC.
getCreatedAt() - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Gets the workflow instance's creation time in UTC.
getCreatedAt() - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Gets the workflow instance's creation time in UTC.
getCurrentInstant() - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Gets the current orchestration time in UTC.
getCurrentInstant() - Method in interface io.dapr.workflows.WorkflowContext
Gets the current orchestration time in UTC.
getErrorMessage() - Method in interface io.dapr.workflows.client.WorkflowFailureDetails
Gets the error message.
getErrorMessage() - Method in class io.dapr.workflows.runtime.DefaultWorkflowFailureDetails
Gets the error message.
getErrorType() - Method in interface io.dapr.workflows.client.WorkflowFailureDetails
Gets the error type, which is the namespace-qualified exception type name.
getErrorType() - Method in class io.dapr.workflows.runtime.DefaultWorkflowFailureDetails
Gets the error type, which is the namespace-qualified exception type name.
getFailureDetails() - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Gets the failure details, if any, for the failed workflow instance.
getFailureDetails() - Method in interface io.dapr.workflows.client.WorkflowState
Gets the failure details, if any, for the failed workflow instance.
getFailureDetails() - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Gets the failure details, if any, for the failed workflow instance.
getFailureDetails() - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Gets the failure details, if any, for the failed workflow instance.
getFirstRetryInterval() - Method in class io.dapr.workflows.WorkflowTaskRetryPolicy
 
getInput() - Method in class io.dapr.workflows.client.NewWorkflowOptions
Gets the input of the new workflow.
getInput(Class<T>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowActivityContext
Gets the input of the current activity.
getInput(Class<T>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Gets the deserialized input of the current task orchestration.
getInput(Class<T>) - Method in interface io.dapr.workflows.WorkflowActivityContext
 
getInput(Class<V>) - Method in interface io.dapr.workflows.WorkflowContext
Gets the deserialized input of the current task orchestration.
getInstanceId() - Method in class io.dapr.workflows.client.NewWorkflowOptions
Gets the instance ID of the new workflow.
getInstanceId() - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Gets the unique ID of the workflow instance.
getInstanceId() - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Gets the instance ID of the current workflow.
getInstanceId() - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Gets the unique ID of the workflow instance.
getInstanceId() - Method in interface io.dapr.workflows.WorkflowContext
Gets the instance ID of the current workflow.
getInstanceState(String, boolean) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Deprecated, for removal: This API element is subject to removal in a future version.
getLastAttemptNumber() - Method in class io.dapr.workflows.WorkflowTaskRetryContext
Gets the previous retry attempt number.
getLastFailure() - Method in class io.dapr.workflows.WorkflowTaskRetryContext
Gets the details of the previous task failure, including the exception type, message, and callstack.
getLastUpdatedAt() - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Gets the workflow instance's last updated time in UTC.
getLastUpdatedAt() - Method in interface io.dapr.workflows.client.WorkflowState
Gets the workflow instance's last updated time in UTC.
getLastUpdatedAt() - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Gets the workflow instance's last updated time in UTC.
getLastUpdatedAt() - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Gets the workflow instance's last updated time in UTC.
getLogger() - Method in class io.dapr.workflows.runtime.DefaultWorkflowActivityContext
Gets the logger for the current activity.
getLogger() - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Get a logger only when isReplaying is false.
getLogger() - Method in interface io.dapr.workflows.WorkflowActivityContext
 
getLogger() - Method in interface io.dapr.workflows.WorkflowContext
Get a logger only when isReplaying is false.
getMaxNumberOfAttempts() - Method in class io.dapr.workflows.WorkflowTaskRetryPolicy
 
getMaxRetryInterval() - Method in class io.dapr.workflows.WorkflowTaskRetryPolicy
 
getName() - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Gets the name of the workflow.
getName() - Method in interface io.dapr.workflows.client.WorkflowState
Gets the name of the workflow.
getName() - Method in class io.dapr.workflows.runtime.DefaultWorkflowActivityContext
Gets the name of the current activity.
getName() - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Gets the name of the current workflow.
getName() - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Gets the name of the workflow.
getName() - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Gets the name of the workflow.
getName() - Method in class io.dapr.workflows.runtime.WorkflowActivityClassWrapper
 
getName() - Method in class io.dapr.workflows.runtime.WorkflowActivityInstanceWrapper
 
getName() - Method in interface io.dapr.workflows.WorkflowActivityContext
 
getName() - Method in interface io.dapr.workflows.WorkflowContext
Gets the name of the current workflow.
getRetryHandler() - Method in class io.dapr.workflows.WorkflowTaskOptions
 
getRetryPolicy() - Method in class io.dapr.workflows.WorkflowTaskOptions
 
getRetryTimeout() - Method in class io.dapr.workflows.WorkflowTaskRetryPolicy
 
getRuntimeStatus() - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Gets the current runtime status of the workflow instance at the time this object was fetched.
getRuntimeStatus() - Method in interface io.dapr.workflows.client.WorkflowState
Gets the current runtime status of the workflow instance at the time this object was fetched.
getRuntimeStatus() - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Gets the current runtime status of the workflow instance at the time this object was fetched.
getRuntimeStatus() - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Gets the current runtime status of the workflow instance at the time this object was fetched.
getSerializedInput() - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Gets the workflow instance's serialized input, if any, as a string value.
getSerializedInput() - Method in interface io.dapr.workflows.client.WorkflowState
Gets the workflow instance's serialized input, if any, as a string value.
getSerializedInput() - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Gets the workflow instance's serialized input, if any, as a string value.
getSerializedInput() - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Gets the workflow instance's serialized input, if any, as a string value.
getSerializedOutput() - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Gets the workflow instance's serialized output, if any, as a string value.
getSerializedOutput() - Method in interface io.dapr.workflows.client.WorkflowState
Gets the workflow instance's serialized output, if any, as a string value.
getSerializedOutput() - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Gets the workflow instance's serialized output, if any, as a string value.
getSerializedOutput() - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Gets the workflow instance's serialized output, if any, as a string value.
getStackTrace() - Method in interface io.dapr.workflows.client.WorkflowFailureDetails
Gets the stack trace.
getStackTrace() - Method in class io.dapr.workflows.runtime.DefaultWorkflowFailureDetails
Gets the stack trace.
getStartTime() - Method in class io.dapr.workflows.client.NewWorkflowOptions
Gets the configured start time of the new workflow instance.
getTaskExecutionId() - Method in class io.dapr.workflows.runtime.DefaultWorkflowActivityContext
 
getTaskExecutionId() - Method in interface io.dapr.workflows.WorkflowActivityContext
 
getTotalRetryTime() - Method in class io.dapr.workflows.WorkflowTaskRetryContext
Gets the total amount of time spent in a retry loop for the current task.
getTraceParent() - Method in class io.dapr.workflows.runtime.DefaultWorkflowActivityContext
 
getTraceParent() - Method in interface io.dapr.workflows.WorkflowActivityContext
 
getVersion() - Method in class io.dapr.workflows.client.NewWorkflowOptions
Gets the user-specified version of the new workflow.
getVersionName() - Method in class io.dapr.workflows.runtime.WorkflowVersionWrapper
 
getWorkflowContext() - Method in class io.dapr.workflows.WorkflowTaskRetryContext
Gets the context of the current workflow.
getWorkflowId() - Method in interface io.dapr.workflows.client.WorkflowState
Gets the unique ID of the workflow instance.
getWorkflowId() - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Gets the unique ID of the workflow instance.
getWorkflowState(String, boolean) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Fetches workflow instance metadata from the configured durable store.

H

handle(WorkflowTaskRetryContext) - Method in interface io.dapr.workflows.WorkflowTaskRetryHandler
Invokes retry handler logic.

I

interceptCall(MethodDescriptor<ReqT, RespT>, CallOptions, Channel) - Method in class io.dapr.workflows.internal.ApiTokenClientInterceptor
 
io.dapr.workflows - package io.dapr.workflows
 
io.dapr.workflows.client - package io.dapr.workflows.client
 
io.dapr.workflows.internal - package io.dapr.workflows.internal
 
io.dapr.workflows.runtime - package io.dapr.workflows.runtime
 
isCausedBy(Class<? extends Exception>) - Method in interface io.dapr.workflows.client.WorkflowFailureDetails
Checks whether the failure was caused by the provided exception class.
isCausedBy(Class<? extends Exception>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowFailureDetails
Checks whether the failure was caused by the provided exception class.
isCompleted() - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Gets a value indicating whether the workflow instance was completed at the time this object was fetched.
isCompleted() - Method in interface io.dapr.workflows.client.WorkflowState
Gets a value indicating whether the workflow instance was completed at the time this object was fetched.
isCompleted() - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Gets a value indicating whether the workflow instance was completed at the time this object was fetched.
isCompleted() - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Gets a value indicating whether the workflow instance was completed at the time this object was fetched.
isLatestVersion() - Method in class io.dapr.workflows.runtime.WorkflowVersionWrapper
 
isPatched(String) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
 
isPatched(String) - Method in interface io.dapr.workflows.WorkflowContext
Checks if the patch has been applied.
isReplaying() - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
 
isReplaying() - Method in interface io.dapr.workflows.WorkflowContext
Gets a value indicating whether the workflow is currently replaying a previous execution.
isRunning() - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Gets a value indicating whether the workflow instance was running at the time this object was fetched.
isRunning() - Method in interface io.dapr.workflows.client.WorkflowState
Gets a value indicating whether the workflow instance was running at the time this object was fetched.
isRunning() - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Gets a value indicating whether the workflow instance was running at the time this object was fetched.
isRunning() - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Gets a value indicating whether the workflow instance was running at the time this object was fetched.

N

newBuilder() - Static method in class io.dapr.workflows.WorkflowTaskRetryPolicy
 
newUuid() - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Create a new UUID that is safe for replay within a workflow.
newUuid() - Method in interface io.dapr.workflows.WorkflowContext
Create a new UUID that is safe for replay within a workflow.
NewWorkflowOptions - Class in io.dapr.workflows.client
Options for starting a new instance of a workflow.
NewWorkflowOptions() - Constructor for class io.dapr.workflows.client.NewWorkflowOptions
 

P

PENDING - Enum constant in enum io.dapr.workflows.client.WorkflowRuntimeStatus
The workflow was scheduled but hasn't started running.
purgeInstance(String) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Deprecated, for removal: This API element is subject to removal in a future version.
purgeWorkflow(String) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Purges workflow instance state from the workflow state store.

R

raiseEvent(String, String, Object) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Sends an event notification message to awaiting workflow instance.
readInputAs(Class<T>) - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Deserializes the workflow's input into an object of the specified type.
readInputAs(Class<T>) - Method in interface io.dapr.workflows.client.WorkflowState
Deserializes the workflow's input into an object of the specified type.
readInputAs(Class<T>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Deserializes the workflow's input into an object of the specified type.
readInputAs(Class<T>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Deserializes the workflow's input into an object of the specified type.
readOutputAs(Class<T>) - Method in interface io.dapr.workflows.client.WorkflowInstanceStatus
Deprecated.
Deserializes the workflow's output into an object of the specified type.
readOutputAs(Class<T>) - Method in interface io.dapr.workflows.client.WorkflowState
Deserializes the workflow's output into an object of the specified type.
readOutputAs(Class<T>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Deserializes the workflow's output into an object of the specified type.
readOutputAs(Class<T>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Deserializes the workflow's output into an object of the specified type.
registerActivity(Class<T>) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Registers an Activity object.
registerActivity(String, Class<T>) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Registers an Activity object.
registerActivity(String, T) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Registers an Activity object.
registerActivity(T) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Registers an Activity object.
registerTaskActivityFactory(String, TaskActivityFactory) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Registers a Task Activity using a TaskActivityFactory.
registerTaskOrchestrationFactory(String, TaskOrchestrationFactory) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Registers a Task Orchestration using a TaskOrchestrationFactory.
registerWorkflow(Class<T>) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Registers a Workflow object.
registerWorkflow(String, Class<T>) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Registers a Workflow object.
registerWorkflow(String, Class<T>, String, Boolean) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Registers a Workflow object.
registerWorkflow(String, T, String, Boolean) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Registers a Workflow object.
registerWorkflow(T) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Registers a Workflow object.
resumeWorkflow(String, String) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Resume the workflow associated with the provided instance id.
run(WorkflowActivityContext) - Method in interface io.dapr.workflows.WorkflowActivity
Executes the activity logic and returns a value which will be serialized and returned to the calling orchestrator.
run(WorkflowContext) - Method in interface io.dapr.workflows.Workflow
Executes the workflow logic.
run(WorkflowContext) - Method in interface io.dapr.workflows.WorkflowStub
 
RUNNING - Enum constant in enum io.dapr.workflows.client.WorkflowRuntimeStatus
The workflow started running.

S

scheduleNewWorkflow(Class<T>) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Schedules a new workflow using DurableTask client.
scheduleNewWorkflow(Class<T>, NewWorkflowOptions) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Schedules a new workflow with a specified set of options for execution.
scheduleNewWorkflow(Class<T>, Object) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Schedules a new workflow using DurableTask client.
scheduleNewWorkflow(Class<T>, Object, String) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Schedules a new workflow using DurableTask client.
scheduleNewWorkflow(String) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Schedules a new workflow using DurableTask client.
scheduleNewWorkflow(String, NewWorkflowOptions) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Schedules a new workflow with a specified set of options for execution.
scheduleNewWorkflow(String, Object) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Schedules a new workflow using DurableTask client.
scheduleNewWorkflow(String, Object, String) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Schedules a new workflow using DurableTask client.
setBackoffCoefficient(double) - Method in class io.dapr.workflows.WorkflowTaskRetryPolicy.Builder
Set the backoff coefficient.
setCustomStatus(Object) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Set custom status to a workflow execution.
setCustomStatus(Object) - Method in interface io.dapr.workflows.WorkflowContext
Set a custom status to a workflow execution.
setFirstRetryInterval(Duration) - Method in class io.dapr.workflows.WorkflowTaskRetryPolicy.Builder
Set the interval to wait before the first retry.
setInput(Object) - Method in class io.dapr.workflows.client.NewWorkflowOptions
Sets the input of the workflow to start.
setInstanceId(String) - Method in class io.dapr.workflows.client.NewWorkflowOptions
Sets the instance ID of the workflow to start.
setMaxNumberOfAttempts(int) - Method in class io.dapr.workflows.WorkflowTaskRetryPolicy.Builder
Set the maximum number of attempts to retry the workflow.
setMaxRetryInterval(Duration) - Method in class io.dapr.workflows.WorkflowTaskRetryPolicy.Builder
Set the maximum interval to wait between retries.
setRetryTimeout(Duration) - Method in class io.dapr.workflows.WorkflowTaskRetryPolicy.Builder
Set the maximum retry timeout.
setStartTime(Instant) - Method in class io.dapr.workflows.client.NewWorkflowOptions
Sets the start time of the new workflow.
setVersion(String) - Method in class io.dapr.workflows.client.NewWorkflowOptions
Sets the version of the workflow to start.
start() - Method in class io.dapr.workflows.runtime.WorkflowRuntime
Start the Workflow runtime processing items and block.
start(boolean) - Method in class io.dapr.workflows.runtime.WorkflowRuntime
Start the Workflow runtime processing items.
SUSPENDED - Enum constant in enum io.dapr.workflows.client.WorkflowRuntimeStatus
The workflow was suspended.
suspendWorkflow(String, String) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Suspend the workflow associated with the provided instance id.

T

TERMINATED - Enum constant in enum io.dapr.workflows.client.WorkflowRuntimeStatus
The workflow was abruptly terminated via a management API call.
terminateWorkflow(String, Object) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Terminates the workflow associated with the provided instance id.
toString() - Method in class io.dapr.workflows.runtime.DefaultWorkflowFailureDetails
 
toString() - Method in class io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus
Deprecated.
Generates a user-friendly string representation of the current metadata object.
toString() - Method in class io.dapr.workflows.runtime.DefaultWorkflowState
Generates a user-friendly string representation of the current metadata object.

V

valueOf(String) - Static method in enum io.dapr.workflows.client.WorkflowRuntimeStatus
Returns the enum constant of this type with the specified name.
values() - Static method in enum io.dapr.workflows.client.WorkflowRuntimeStatus
Returns an array containing the constants of this enum type, in the order they are declared.

W

waitForExternalEvent(String) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Waits for an event to be raised named name and returns a Task that completes when the event is received.
waitForExternalEvent(String) - Method in interface io.dapr.workflows.WorkflowContext
Waits for an event to be raised named name and returns a Task that completes when the event is received.
waitForExternalEvent(String, Class<V>) - Method in interface io.dapr.workflows.WorkflowContext
Waits for an event to be raised named name and returns a Task that completes when the event is received.
waitForExternalEvent(String, Duration) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.
waitForExternalEvent(String, Duration) - Method in interface io.dapr.workflows.WorkflowContext
Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.
waitForExternalEvent(String, Duration, Class<V>) - Method in class io.dapr.workflows.runtime.DefaultWorkflowContext
Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.
waitForExternalEvent(String, Duration, Class<V>) - Method in interface io.dapr.workflows.WorkflowContext
Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.
waitForInstanceCompletion(String, Duration, boolean) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Deprecated, for removal: This API element is subject to removal in a future version.
waitForInstanceStart(String, Duration, boolean) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Deprecated, for removal: This API element is subject to removal in a future version.
waitForWorkflowCompletion(String, Duration, boolean) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Waits for an workflow to complete and returns an WorkflowState object that contains metadata about the completed instance.
waitForWorkflowStart(String, Duration, boolean) - Method in class io.dapr.workflows.client.DaprWorkflowClient
Waits for a workflow to start running and returns an WorkflowState object that contains metadata about the started instance and optionally its input, output, and custom status payloads.
withExecutorService(ExecutorService) - Method in class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Register Executor Service to use with workflow.
Workflow - Interface in io.dapr.workflows
Common interface for workflow implementations.
WorkflowActivity - Interface in io.dapr.workflows
Common interface for task activity implementations.
WorkflowActivityClassWrapper<T extends WorkflowActivity> - Class in io.dapr.workflows.runtime
Wrapper for Durable Task Framework task activity factory.
WorkflowActivityClassWrapper(Class<T>) - Constructor for class io.dapr.workflows.runtime.WorkflowActivityClassWrapper
Constructor for WorkflowActivityWrapper.
WorkflowActivityClassWrapper(String, Class<T>) - Constructor for class io.dapr.workflows.runtime.WorkflowActivityClassWrapper
Constructor for WorkflowActivityWrapper.
WorkflowActivityContext - Interface in io.dapr.workflows
 
WorkflowActivityInstanceWrapper<T extends WorkflowActivity> - Class in io.dapr.workflows.runtime
Wrapper for Durable Task Framework task activity factory.
WorkflowActivityInstanceWrapper(String, T) - Constructor for class io.dapr.workflows.runtime.WorkflowActivityInstanceWrapper
Constructor for WorkflowActivityWrapper.
WorkflowActivityInstanceWrapper(T) - Constructor for class io.dapr.workflows.runtime.WorkflowActivityInstanceWrapper
Constructor for WorkflowActivityWrapper.
WorkflowContext - Interface in io.dapr.workflows
Context object used by workflow implementations to perform actions such as scheduling activities, durable timers, waiting for external events, and for getting basic information about the current workflow instance.
WorkflowFailureDetails - Interface in io.dapr.workflows.client
Represents a workflow failure details.
WorkflowInstanceStatus - Interface in io.dapr.workflows.client
Deprecated, for removal: This API element is subject to removal in a future version.
Use WorkflowState instead.
WorkflowRuntime - Class in io.dapr.workflows.runtime
Contains methods to register workflows and activities.
WorkflowRuntime(DurableTaskGrpcWorker, ManagedChannel, ExecutorService) - Constructor for class io.dapr.workflows.runtime.WorkflowRuntime
Constructor.
WorkflowRuntimeBuilder - Class in io.dapr.workflows.runtime
 
WorkflowRuntimeBuilder() - Constructor for class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Constructs the WorkflowRuntimeBuilder.
WorkflowRuntimeBuilder(Properties) - Constructor for class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
Constructs the WorkflowRuntimeBuilder.
WorkflowRuntimeBuilder(Logger) - Constructor for class io.dapr.workflows.runtime.WorkflowRuntimeBuilder
 
WorkflowRuntimeStatus - Enum in io.dapr.workflows.client
Enum describing the runtime status of a workflow.
WorkflowRuntimeStatusConverter - Class in io.dapr.workflows.runtime
 
WorkflowState - Interface in io.dapr.workflows.client
Represents a snapshot of a workflow instance's current state, including metadata.
WorkflowStub - Interface in io.dapr.workflows
 
WorkflowTaskOptions - Class in io.dapr.workflows
 
WorkflowTaskOptions(WorkflowTaskRetryHandler) - Constructor for class io.dapr.workflows.WorkflowTaskOptions
 
WorkflowTaskOptions(WorkflowTaskRetryHandler, String) - Constructor for class io.dapr.workflows.WorkflowTaskOptions
 
WorkflowTaskOptions(WorkflowTaskRetryPolicy) - Constructor for class io.dapr.workflows.WorkflowTaskOptions
 
WorkflowTaskOptions(WorkflowTaskRetryPolicy, WorkflowTaskRetryHandler) - Constructor for class io.dapr.workflows.WorkflowTaskOptions
 
WorkflowTaskOptions(WorkflowTaskRetryPolicy, WorkflowTaskRetryHandler, String) - Constructor for class io.dapr.workflows.WorkflowTaskOptions
Constructor for WorkflowTaskOptions with retry policy, retry handler, and app ID.
WorkflowTaskOptions(WorkflowTaskRetryPolicy, String) - Constructor for class io.dapr.workflows.WorkflowTaskOptions
 
WorkflowTaskOptions(String) - Constructor for class io.dapr.workflows.WorkflowTaskOptions
Constructor for WorkflowTaskOptions with app ID for cross-app calls.
WorkflowTaskRetryContext - Class in io.dapr.workflows
 
WorkflowTaskRetryContext(DefaultWorkflowContext, int, WorkflowFailureDetails, Duration) - Constructor for class io.dapr.workflows.WorkflowTaskRetryContext
Constructor for WorkflowTaskRetryContext.
WorkflowTaskRetryHandler - Interface in io.dapr.workflows
 
WorkflowTaskRetryPolicy - Class in io.dapr.workflows
 
WorkflowTaskRetryPolicy(Integer, Duration, Double, Duration, Duration) - Constructor for class io.dapr.workflows.WorkflowTaskRetryPolicy
Constructor for WorkflowTaskRetryPolicy.
WorkflowTaskRetryPolicy.Builder - Class in io.dapr.workflows
 
WorkflowVersionWrapper - Class in io.dapr.workflows.runtime
 
WorkflowVersionWrapper() - Constructor for class io.dapr.workflows.runtime.WorkflowVersionWrapper
 
WorkflowVersionWrapper(String, Boolean) - Constructor for class io.dapr.workflows.runtime.WorkflowVersionWrapper
 
A B C D F G H I N P R S T V W 
All Classes and Interfaces|All Packages

================================================ FILE: docs/dapr-sdk-workflows/index.html ================================================ Overview (dapr-sdk-workflows 1.17.2 API)

dapr-sdk-workflows 1.17.2 API


================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/Workflow.html ================================================ Workflow (dapr-sdk-workflows 1.17.2 API)

Interface Workflow


public interface Workflow
Common interface for workflow implementations.
  • Method Summary

    Modifier and Type
    Method
    Description
    Executes the workflow logic.
    default void
    Executes the workflow logic.
  • Method Details

    • create

      WorkflowStub create()
      Executes the workflow logic.
      Returns:
      A WorkflowStub.
    • run

      default void run(WorkflowContext ctx)
      Executes the workflow logic.
      Parameters:
      ctx - provides access to methods for scheduling durable tasks and getting information about the current workflow instance.

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowContext.html ================================================ WorkflowContext (dapr-sdk-workflows 1.17.2 API)

Interface WorkflowContext

All Known Implementing Classes:
DefaultWorkflowContext

public interface WorkflowContext
Context object used by workflow implementations to perform actions such as scheduling activities, durable timers, waiting for external events, and for getting basic information about the current workflow instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    <V> io.dapr.durabletask.Task<List<V>>
    allOf(List<io.dapr.durabletask.Task<V>> tasks)
    Returns a new Task that is completed when all the given Tasks complete.
    default io.dapr.durabletask.Task<io.dapr.durabletask.Task<?>>
    anyOf(io.dapr.durabletask.Task<?>... tasks)
    Returns a new Task that is completed when any of the given Tasks complete.
    io.dapr.durabletask.Task<io.dapr.durabletask.Task<?>>
    anyOf(List<io.dapr.durabletask.Task<?>> tasks)
    Returns a new Task that is completed when any of the tasks in tasks completes.
    default io.dapr.durabletask.Task<Void>
    Asynchronously invokes an activity by name and returns a new Task that completes when the activity completes.
    default <V> io.dapr.durabletask.Task<V>
    callActivity(String name, Class<V> returnType)
    Asynchronously invokes an activity by name and returns a new Task that completes when the activity completes.
    default io.dapr.durabletask.Task<Void>
    callActivity(String name, Object input)
    Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.
    default io.dapr.durabletask.Task<Void>
    Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.
    <V> io.dapr.durabletask.Task<V>
    callActivity(String name, Object input, WorkflowTaskOptions options, Class<V> returnType)
    Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.
    default <V> io.dapr.durabletask.Task<V>
    callActivity(String name, Object input, Class<V> returnType)
    Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.If the activity completes successfully, the returned Task's value will be the activity's output.
    default io.dapr.durabletask.Task<Void>
    Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
    default io.dapr.durabletask.Task<Void>
    Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
    default <V> io.dapr.durabletask.Task<V>
    callChildWorkflow(String name, Object input, Class<V> returnType)
    Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
    default io.dapr.durabletask.Task<Void>
    callChildWorkflow(String name, Object input, String instanceID, WorkflowTaskOptions options)
    Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
    <V> io.dapr.durabletask.Task<V>
    callChildWorkflow(String name, Object input, String instanceID, WorkflowTaskOptions options, Class<V> returnType)
    Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
    default <V> io.dapr.durabletask.Task<V>
    callChildWorkflow(String name, Object input, String instanceID, Class<V> returnType)
    Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
    void
    complete(Object output)
    Completes the current workflow.
    default void
    Restarts the orchestration with a new input and clears its history.
    void
    continueAsNew(Object input, boolean preserveUnprocessedEvents)
    Restarts the orchestration with a new input and clears its history.
    io.dapr.durabletask.Task<Void>
    Creates a durable timer that expires after the specified delay.
    io.dapr.durabletask.Task<Void>
    createTimer(ZonedDateTime zonedDateTime)
    Creates a durable timer that expires after the specified timestamp with specific zone.
    Gets the current orchestration time in UTC.
    <V> V
    getInput(Class<V> targetType)
    Gets the deserialized input of the current task orchestration.
    Gets the instance ID of the current workflow.
    org.slf4j.Logger
    Get a logger only when isReplaying is false.
    Gets the name of the current workflow.
    boolean
    isPatched(String patchName)
    Checks if the patch has been applied.
    boolean
    Gets a value indicating whether the workflow is currently replaying a previous execution.
    default UUID
    Create a new UUID that is safe for replay within a workflow.
    void
    Set a custom status to a workflow execution.
    <V> io.dapr.durabletask.Task<Void>
    Waits for an event to be raised named name and returns a Task that completes when the event is received.
    default <V> io.dapr.durabletask.Task<V>
    waitForExternalEvent(String name, Class<V> dataType)
    Waits for an event to be raised named name and returns a Task that completes when the event is received.
    <V> io.dapr.durabletask.Task<Void>
    Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.
    <V> io.dapr.durabletask.Task<V>
    waitForExternalEvent(String name, Duration timeout, Class<V> dataType)
    Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.
  • Method Details

    • getLogger

      org.slf4j.Logger getLogger()
      Get a logger only when isReplaying is false. Otherwise, return a NOP (no operation) logger.
      Returns:
      Logger
    • getName

      String getName()
      Gets the name of the current workflow.
      Returns:
      the name of the current workflow
    • getInstanceId

      String getInstanceId()
      Gets the instance ID of the current workflow.
      Returns:
      the instance ID of the current workflow
    • getCurrentInstant

      Instant getCurrentInstant()
      Gets the current orchestration time in UTC.
      Returns:
      the current orchestration time in UTC
    • complete

      void complete(Object output)
      Completes the current workflow.
      Parameters:
      output - the serializable output of the completed Workflow.
    • waitForExternalEvent

      <V> io.dapr.durabletask.Task<V> waitForExternalEvent(String name, Duration timeout, Class<V> dataType) throws io.dapr.durabletask.TaskCanceledException
      Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.

      If the current orchestration is not yet waiting for an event named name, then the event will be saved in the orchestration instance state and dispatched immediately when this method is called. This event saving occurs even if the current orchestrator cancels the wait operation before the event is received.

      Orchestrators can wait for the same event name multiple times, so waiting for multiple events with the same name is allowed. Each external event received by an orchestrator will complete just one task returned by this method.

      Type Parameters:
      V - the expected type of the event data payload
      Parameters:
      name - the case-insensitive name of the event to wait for
      timeout - the amount of time to wait before canceling the returned Task
      dataType - the expected class type of the event data payload
      Returns:
      a new Task that completes when the external event is received or when timeout expires
      Throws:
      io.dapr.durabletask.TaskCanceledException - if the specified timeout value expires before the event is received
    • waitForExternalEvent

      <V> io.dapr.durabletask.Task<Void> waitForExternalEvent(String name, Duration timeout) throws io.dapr.durabletask.TaskCanceledException
      Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.

      See waitForExternalEvent(String, Duration, Class) for a full description.

      Type Parameters:
      V - the expected type of the event data payload
      Parameters:
      name - the case-insensitive name of the event to wait for
      timeout - the amount of time to wait before canceling the returned Task
      Returns:
      a new Task that completes when the external event is received or when timeout expires
      Throws:
      io.dapr.durabletask.TaskCanceledException - if the specified timeout value expires before the event is received
    • waitForExternalEvent

      <V> io.dapr.durabletask.Task<Void> waitForExternalEvent(String name) throws io.dapr.durabletask.TaskCanceledException
      Waits for an event to be raised named name and returns a Task that completes when the event is received.

      See waitForExternalEvent(String, Duration, Class) for a full description.

      Type Parameters:
      V - the expected type of the event data payload
      Parameters:
      name - the case-insensitive name of the event to wait for
      Returns:
      a new Task that completes when the external event is received
      Throws:
      io.dapr.durabletask.TaskCanceledException
    • waitForExternalEvent

      default <V> io.dapr.durabletask.Task<V> waitForExternalEvent(String name, Class<V> dataType)
      Waits for an event to be raised named name and returns a Task that completes when the event is received.

      See waitForExternalEvent(String, Duration, Class) for a full description.

      Type Parameters:
      V - the expected type of the event data payload
      Parameters:
      name - the case-insensitive name of the event to wait for
      dataType - the expected class type of the event data payload
      Returns:
      a new Task that completes when the external event is received
    • callActivity

      <V> io.dapr.durabletask.Task<V> callActivity(String name, Object input, WorkflowTaskOptions options, Class<V> returnType)
      Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes. If the activity completes successfully, the returned Task's value will be the activity's output. If the activity fails, the returned Task will complete exceptionally with a TaskFailedException.
      Type Parameters:
      V - the expected type of the activity output
      Parameters:
      name - the name of the activity to call
      input - the serializable input to pass to the activity
      options - additional options that control the execution and processing of the activity
      returnType - the expected class type of the activity output
      Returns:
      a new Task that completes when the activity completes or fails
    • callActivity

      default io.dapr.durabletask.Task<Void> callActivity(String name)
      Asynchronously invokes an activity by name and returns a new Task that completes when the activity completes. See callActivity(String, Object, WorkflowTaskOptions, Class) for a complete description.
      Parameters:
      name - the name of the activity to call
      Returns:
      a new Task that completes when the activity completes or fails
      See Also:
    • callActivity

      default io.dapr.durabletask.Task<Void> callActivity(String name, Object input)
      Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes. See callActivity(String, Object, WorkflowTaskOptions, Class) for a complete description.
      Parameters:
      name - the name of the activity to call
      input - the serializable input to pass to the activity
      Returns:
      a new Task that completes when the activity completes or fails
    • callActivity

      default <V> io.dapr.durabletask.Task<V> callActivity(String name, Class<V> returnType)
      Asynchronously invokes an activity by name and returns a new Task that completes when the activity completes. If the activity completes successfully, the returned Task's value will be the activity's output. See callActivity(String, Object, WorkflowTaskOptions, Class) for a complete description.
      Type Parameters:
      V - the expected type of the activity output
      Parameters:
      name - the name of the activity to call
      returnType - the expected class type of the activity output
      Returns:
      a new Task that completes when the activity completes or fails
    • callActivity

      default <V> io.dapr.durabletask.Task<V> callActivity(String name, Object input, Class<V> returnType)
      Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.If the activity completes successfully, the returned Task's value will be the activity's output. See callActivity(String, Object, WorkflowTaskOptions, Class) for a complete description.
      Type Parameters:
      V - the expected type of the activity output
      Parameters:
      name - the name of the activity to call
      input - the serializable input to pass to the activity
      returnType - the expected class type of the activity output
      Returns:
      a new Task that completes when the activity completes or fails
    • callActivity

      default io.dapr.durabletask.Task<Void> callActivity(String name, Object input, WorkflowTaskOptions options)
      Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes. See callActivity(String, Object, WorkflowTaskOptions, Class) for a complete description.
      Parameters:
      name - the name of the activity to call
      input - the serializable input to pass to the activity
      options - additional options that control the execution and processing of the activity
      Returns:
      a new Task that completes when the activity completes or fails
    • isReplaying

      boolean isReplaying()
      Gets a value indicating whether the workflow is currently replaying a previous execution.

      Workflow functions are "replayed" after being unloaded from memory to reconstruct local variable state. During a replay, previously executed tasks will be completed automatically with previously seen values that are stored in the workflow history. Once the workflow reaches the point where it's no longer replaying existing history, this method will return false.

      You can use this method if you have logic that needs to run only when not replaying. For example, certain types of application logging may become too noisy when duplicated as part of replay. The application code could check to see whether the function is being replayed and then issue the log statements when this value is false.

      Returns:
      true if the workflow is replaying, otherwise false
    • allOf

      <V> io.dapr.durabletask.Task<List<V>> allOf(List<io.dapr.durabletask.Task<V>> tasks) throws io.dapr.durabletask.CompositeTaskFailedException
      Returns a new Task that is completed when all the given Tasks complete. If any of the given Tasks complete with an exception, the returned Task will also complete with an CompositeTaskFailedException containing details of the first encountered failure. The value of the returned Task is an ordered list of the return values of the given tasks. If no tasks are provided, returns a Task completed with value null.

      This method is useful for awaiting the completion of a set of independent tasks before continuing to the next step in the orchestration, as in the following example:

      
       Task<String> t1 = ctx.callActivity("MyActivity", String.class);
       Task<String> t2 = ctx.callActivity("MyActivity", String.class);
       Task<String> t3 = ctx.callActivity("MyActivity", String.class);
      
       List<String> orderedResults = ctx.allOf(List.of(t1, t2, t3)).await();
       

      Exceptions in any of the given tasks results in an unchecked CompositeTaskFailedException. This exception can be inspected to obtain failure details of individual Tasks.

      
       try {
           List<String> orderedResults = ctx.allOf(List.of(t1, t2, t3)).await();
       } catch (CompositeTaskFailedException e) {
           List<Exception> exceptions = e.getExceptions()
       }
       
      Type Parameters:
      V - the return type of the Task objects
      Parameters:
      tasks - the list of Task objects
      Returns:
      the values of the completed Task objects in the same order as the source list
      Throws:
      io.dapr.durabletask.CompositeTaskFailedException - if the specified timeout value expires before the event is received
    • anyOf

      io.dapr.durabletask.Task<io.dapr.durabletask.Task<?>> anyOf(List<io.dapr.durabletask.Task<?>> tasks)
      Returns a new Task that is completed when any of the tasks in tasks completes. See anyOf(Task[]) for more detailed information.
      Parameters:
      tasks - the list of Task objects
      Returns:
      a new Task that is completed when any of the given Tasks complete
      See Also:
    • anyOf

      default io.dapr.durabletask.Task<io.dapr.durabletask.Task<?>> anyOf(io.dapr.durabletask.Task<?>... tasks)
      Returns a new Task that is completed when any of the given Tasks complete. The value of the new Task is a reference to the completed Task object. If no tasks are provided, returns a Task that never completes.

      This method is useful for waiting on multiple concurrent tasks and performing a task-specific operation when the first task completes, as in the following example:

      
       Task<Void> event1 = ctx.waitForExternalEvent("Event1");
       Task<Void> event2 = ctx.waitForExternalEvent("Event2");
       Task<Void> event3 = ctx.waitForExternalEvent("Event3");
      
       Task<?> winner = ctx.anyOf(event1, event2, event3).await();
       if (winner == event1) {
           // ...
       } else if (winner == event2) {
           // ...
       } else if (winner == event3) {
           // ...
       }
       
      The anyOf method can also be used for implementing long-running timeouts, as in the following example:
      
       Task<Void> activityTask = ctx.callActivity("SlowActivity");
       Task<Void> timeoutTask = ctx.createTimer(Duration.ofMinutes(30));
      
       Task<?> winner = ctx.anyOf(activityTask, timeoutTask).await();
       if (winner == activityTask) {
           // completion case
       } else {
           // timeout case
       }
       
      Parameters:
      tasks - the list of Task objects
      Returns:
      a new Task that is completed when any of the given Tasks complete
    • createTimer

      io.dapr.durabletask.Task<Void> createTimer(Duration duration)
      Creates a durable timer that expires after the specified delay.

      Specifying a long delay (for example, a delay of a few days or more) may result in the creation of multiple, internally-managed durable timers. The orchestration code doesn't need to be aware of this behavior. However, it may be visible in framework logs and the stored history state.

      Parameters:
      duration - the amount of time before the timer should expire
      Returns:
      a new Task that completes after the specified delay
    • createTimer

      io.dapr.durabletask.Task<Void> createTimer(ZonedDateTime zonedDateTime)
      Creates a durable timer that expires after the specified timestamp with specific zone.

      Specifying a long delay (for example, a delay of a few days or more) may result in the creation of multiple, internally-managed timers. The workflow code doesn't need to be aware of this behavior. However, it may be visible in framework logs and the stored history state.

      Parameters:
      zonedDateTime - timestamp with specific zone when the timer should expire
      Returns:
      a new Task that completes after the specified delay
    • getInput

      <V> V getInput(Class<V> targetType)
      Gets the deserialized input of the current task orchestration.
      Type Parameters:
      V - the expected type of the workflow input
      Parameters:
      targetType - the Class object associated with V
      Returns:
      the deserialized input as an object of type V or null if no input was provided.
    • callChildWorkflow

      default io.dapr.durabletask.Task<Void> callChildWorkflow(String name)
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.

      See callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class) for a full description.

      Parameters:
      name - the name of the workflow to invoke
      Returns:
      a new Task that completes when the child-workflow completes or fails
      See Also:
    • callChildWorkflow

      default io.dapr.durabletask.Task<Void> callChildWorkflow(String name, Object input)
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.

      See callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class) for a full description.

      Parameters:
      name - the name of the workflow to invoke
      input - the serializable input to send to the child-workflow
      Returns:
      a new Task that completes when the child-workflow completes or fails
    • callChildWorkflow

      default <V> io.dapr.durabletask.Task<V> callChildWorkflow(String name, Object input, Class<V> returnType)
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.

      See callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class) for a full description.

      Type Parameters:
      V - the expected type of the child-workflow output
      Parameters:
      name - the name of the workflow to invoke
      input - the serializable input to send to the child-workflow
      returnType - the expected class type of the child-workflow output
      Returns:
      a new Task that completes when the child-workflow completes or fails
    • callChildWorkflow

      default <V> io.dapr.durabletask.Task<V> callChildWorkflow(String name, Object input, String instanceID, Class<V> returnType)
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.

      See callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class) for a full description.

      Type Parameters:
      V - the expected type of the child-workflow output
      Parameters:
      name - the name of the workflow to invoke
      input - the serializable input to send to the child-workflow
      instanceID - the unique ID of the child-workflow
      returnType - the expected class type of the child-workflow output
      Returns:
      a new Task that completes when the child-workflow completes or fails
    • callChildWorkflow

      default io.dapr.durabletask.Task<Void> callChildWorkflow(String name, Object input, String instanceID, WorkflowTaskOptions options)
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.

      See callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class) for a full description.

      Parameters:
      name - the name of the workflow to invoke
      input - the serializable input to send to the child-workflow
      instanceID - the unique ID of the child-workflow
      options - additional options that control the execution and processing of the activity
      Returns:
      a new Task that completes when the child-workflow completes or fails
    • callChildWorkflow

      <V> io.dapr.durabletask.Task<V> callChildWorkflow(String name, @Nullable Object input, @Nullable String instanceID, @Nullable WorkflowTaskOptions options, Class<V> returnType)
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes. If the child-workflow completes successfully, the returned Task's value will be the activity's output. If the child-workflow fails, the returned Task will complete exceptionally with a TaskFailedException.

      A child-workflow has its own instance ID, history, and status that is independent of the parent workflow that started it. There are many advantages to breaking down large orchestrations into child-workflows:

      • Splitting large orchestrations into a series of smaller child-workflows can make code more maintainable.
      • Distributing orchestration logic across multiple compute nodes concurrently is useful if orchestration logic otherwise needs to coordinate a lot of tasks.
      • Memory usage and CPU overhead can be reduced by keeping the history of parent orchestrations smaller.
      The disadvantage is that there is overhead associated with starting a child-workflow and processing its output. This is typically only an issue for very small orchestrations.

      Because child-workflows are independent of their parents, terminating a parent orchestration does not affect any child-workflows. child-workflows must be terminated independently using their unique instance ID, which is specified using the instanceID parameter

      Type Parameters:
      V - the expected type of the child-workflow output
      Parameters:
      name - the name of the workflow to invoke
      input - the serializable input to send to the child-workflow
      instanceID - the unique ID of the child-workflow
      options - additional options that control the execution and processing of the activity
      returnType - the expected class type of the child-workflow output
      Returns:
      a new Task that completes when the child-workflow completes or fails
    • continueAsNew

      default void continueAsNew(Object input)
      Restarts the orchestration with a new input and clears its history. See continueAsNew(Object, boolean) for a full description.
      Parameters:
      input - the serializable input data to re-initialize the instance with
    • continueAsNew

      void continueAsNew(Object input, boolean preserveUnprocessedEvents)
      Restarts the orchestration with a new input and clears its history.

      This method is primarily designed for eternal orchestrations, which are orchestrations that may not ever complete. It works by restarting the orchestration, providing it with a new input, and truncating the existing orchestration history. It allows an orchestration to continue running indefinitely without having its history grow unbounded. The benefits of periodically truncating history include decreased memory usage, decreased storage volumes, and shorter orchestrator replays when rebuilding state.

      The results of any incomplete tasks will be discarded when an orchestrator calls continueAsNew. For example, if a timer is scheduled and then continueAsNew is called before the timer fires, the timer event will be discarded. The only exception to this is external events. By default, if an external event is received by an orchestration but not yet processed, the event is saved in the orchestration state unit it is received by a call to waitForExternalEvent(java.lang.String, java.time.Duration, java.lang.Class<V>). These events will remain in memory even after an orchestrator restarts using continueAsNew. This behavior can be disabled by specifying false for the preserveUnprocessedEvents parameter value.

      Orchestrator implementations should complete immediately after calling thecontinueAsNew method.

      Parameters:
      input - the serializable input data to re-initialize the instance with
      preserveUnprocessedEvents - true to push unprocessed external events into the new orchestration history, otherwise false
    • newUuid

      default UUID newUuid()
      Create a new UUID that is safe for replay within a workflow.

      The default implementation of this method creates a name-based UUID using the algorithm from RFC 4122 §4.3. The name input used to generate this value is a combination of the workflow instance ID and an internally managed sequence number.

      Returns:
      a deterministic UUID
    • setCustomStatus

      void setCustomStatus(Object status)
      Set a custom status to a workflow execution.
      Parameters:
      status - to be set to the current execution
    • isPatched

      boolean isPatched(String patchName)
      Checks if the patch has been applied.
      Parameters:
      patchName - the patch name to check
      Returns:
      true if already applied

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowStub.html ================================================ WorkflowStub (dapr-sdk-workflows 1.17.2 API)

Interface WorkflowStub

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface WorkflowStub
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/class-use/Workflow.html ================================================ Uses of Interface io.dapr.workflows.Workflow (dapr-sdk-workflows 1.17.2 API)

Uses of Interface
io.dapr.workflows.Workflow

Packages that use Workflow

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowContext.html ================================================ Uses of Interface io.dapr.workflows.WorkflowContext (dapr-sdk-workflows 1.17.2 API)

Uses of Interface
io.dapr.workflows.WorkflowContext

Packages that use WorkflowContext
Package
Description
 
 

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowStub.html ================================================ Uses of Interface io.dapr.workflows.WorkflowStub (dapr-sdk-workflows 1.17.2 API)

Uses of Interface
io.dapr.workflows.WorkflowStub

Packages that use WorkflowStub
Package
Description
 

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/client/DaprWorkflowClient.html ================================================ DaprWorkflowClient (dapr-sdk-workflows 1.17.2 API)

Class DaprWorkflowClient

java.lang.Object
io.dapr.workflows.client.DaprWorkflowClient
All Implemented Interfaces:
AutoCloseable

public class DaprWorkflowClient extends Object implements AutoCloseable
Defines client operations for managing Dapr Workflow instances.
  • Constructor Details

    • DaprWorkflowClient

      public DaprWorkflowClient()
      Public constructor for DaprWorkflowClient. This layer constructs the GRPC Channel.
    • DaprWorkflowClient

      public DaprWorkflowClient(io.dapr.config.Properties properties)
      Public constructor for DaprWorkflowClient. This layer constructs the GRPC Channel.
      Parameters:
      properties - Properties for the GRPC Channel.
  • Method Details

    • scheduleNewWorkflow

      public <T extends Workflow> String scheduleNewWorkflow(Class<T> clazz)
      Schedules a new workflow using DurableTask client.
      Type Parameters:
      T - any Workflow type
      Parameters:
      clazz - Class extending Workflow to start an instance of.
      Returns:
      the randomly-generated instance ID for new Workflow instance.
    • scheduleNewWorkflow

      public <T extends Workflow> String scheduleNewWorkflow(String name)
      Schedules a new workflow using DurableTask client.
      Type Parameters:
      T - any Workflow type
      Parameters:
      name - Workflow name
      Returns:
      the randomly-generated instance ID for new Workflow instance.
    • scheduleNewWorkflow

      public <T extends Workflow> String scheduleNewWorkflow(Class<T> clazz, Object input)
      Schedules a new workflow using DurableTask client.
      Type Parameters:
      T - any Workflow type
      Parameters:
      clazz - Class extending Workflow to start an instance of.
      input - the input to pass to the scheduled orchestration instance. Must be serializable.
      Returns:
      the randomly-generated instance ID for new Workflow instance.
    • scheduleNewWorkflow

      public <T extends Workflow> String scheduleNewWorkflow(String name, Object input)
      Schedules a new workflow using DurableTask client.
      Type Parameters:
      T - any Workflow type
      Parameters:
      name - Workflow name
      input - the input to pass to the scheduled orchestration instance. Must be serializable.
      Returns:
      the randomly-generated instance ID for new Workflow instance.
    • scheduleNewWorkflow

      public <T extends Workflow> String scheduleNewWorkflow(Class<T> clazz, Object input, String instanceId)
      Schedules a new workflow using DurableTask client.
      Type Parameters:
      T - any Workflow type
      Parameters:
      clazz - Class extending Workflow to start an instance of.
      input - the input to pass to the scheduled orchestration instance. Must be serializable.
      instanceId - the unique ID of the orchestration instance to schedule
      Returns:
      the instanceId parameter value.
    • scheduleNewWorkflow

      public <T extends Workflow> String scheduleNewWorkflow(String name, Object input, String instanceId)
      Schedules a new workflow using DurableTask client.
      Type Parameters:
      T - any Workflow type
      Parameters:
      name - Workflow name
      input - the input to pass to the scheduled orchestration instance. Must be serializable.
      instanceId - the unique ID of the orchestration instance to schedule
      Returns:
      the instanceId parameter value.
    • scheduleNewWorkflow

      public <T extends Workflow> String scheduleNewWorkflow(Class<T> clazz, NewWorkflowOptions options)
      Schedules a new workflow with a specified set of options for execution.
      Type Parameters:
      T - any Workflow type
      Parameters:
      clazz - Class extending Workflow to start an instance of.
      options - the options for the new workflow, including input, instance ID, etc.
      Returns:
      the instanceId parameter value.
    • scheduleNewWorkflow

      public <T extends Workflow> String scheduleNewWorkflow(String name, NewWorkflowOptions options)
      Schedules a new workflow with a specified set of options for execution.
      Type Parameters:
      T - any Workflow type
      Parameters:
      name - name of the workflow to schedule
      options - the options for the new workflow, including input, instance ID, etc.
      Returns:
      the instanceId parameter value.
    • suspendWorkflow

      public void suspendWorkflow(String workflowInstanceId, @Nullable String reason)
      Suspend the workflow associated with the provided instance id.
      Parameters:
      workflowInstanceId - Workflow instance id to suspend.
      reason - reason for suspending the workflow instance.
    • resumeWorkflow

      public void resumeWorkflow(String workflowInstanceId, @Nullable String reason)
      Resume the workflow associated with the provided instance id.
      Parameters:
      workflowInstanceId - Workflow instance id to resume.
      reason - reason for resuming the workflow instance.
    • terminateWorkflow

      public void terminateWorkflow(String workflowInstanceId, @Nullable Object output)
      Terminates the workflow associated with the provided instance id.
      Parameters:
      workflowInstanceId - Workflow instance id to terminate.
      output - the optional output to set for the terminated orchestration instance.
    • getInstanceState

      @Nullable @Deprecated(forRemoval=true) public WorkflowInstanceStatus getInstanceState(String instanceId, boolean getInputsAndOutputs)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Fetches workflow instance metadata from the configured durable store.
      Parameters:
      instanceId - the unique ID of the workflow instance to fetch
      getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
      Returns:
      a metadata record that describes the workflow instance and it execution status, or a default instance
    • getWorkflowState

      @Nullable public WorkflowState getWorkflowState(String instanceId, boolean getInputsAndOutputs)
      Fetches workflow instance metadata from the configured durable store.
      Parameters:
      instanceId - the unique ID of the workflow instance to fetch
      getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
      Returns:
      a metadata record that describes the workflow instance and it execution status, or a default instance
    • waitForInstanceStart

      @Deprecated(forRemoval=true) @Nullable public WorkflowInstanceStatus waitForInstanceStart(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Waits for an workflow to start running and returns an WorkflowInstanceStatus object that contains metadata about the started instance and optionally its input, output, and custom status payloads.

      A "started" workflow instance is any instance not in the Pending state.

      If an workflow instance is already running when this method is called, the method will return immediately.

      Parameters:
      instanceId - the unique ID of the workflow instance to wait for
      timeout - the amount of time to wait for the workflow instance to start
      getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
      Returns:
      the workflow instance metadata or null if no such instance is found
      Throws:
      TimeoutException - when the workflow instance is not started within the specified amount of time
    • waitForWorkflowStart

      @Nullable public WorkflowState waitForWorkflowStart(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException
      Waits for a workflow to start running and returns an WorkflowState object that contains metadata about the started instance and optionally its input, output, and custom status payloads.

      A "started" workflow instance is any instance not in the Pending state.

      If an workflow instance is already running when this method is called, the method will return immediately.

      Parameters:
      instanceId - the unique ID of the workflow instance to wait for
      timeout - the amount of time to wait for the workflow instance to start
      getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
      Returns:
      the workflow instance metadata or null if no such instance is found
      Throws:
      TimeoutException - when the workflow instance is not started within the specified amount of time
    • waitForInstanceCompletion

      @Nullable @Deprecated(forRemoval=true) public WorkflowInstanceStatus waitForInstanceCompletion(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Waits for an workflow to complete and returns an WorkflowInstanceStatus object that contains metadata about the completed instance.

      A "completed" workflow instance is any instance in one of the terminal states. For example, the Completed, Failed, or Terminated states.

      Workflows are long-running and could take hours, days, or months before completing. Workflows can also be eternal, in which case they'll never complete unless terminated. In such cases, this call may block indefinitely, so care must be taken to ensure appropriate timeouts are used. If an workflow instance is already complete when this method is called, the method will return immediately.

      Parameters:
      instanceId - the unique ID of the workflow instance to wait for
      timeout - the amount of time to wait for the workflow instance to complete
      getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
      Returns:
      the workflow instance metadata or null if no such instance is found
      Throws:
      TimeoutException - when the workflow instance is not completed within the specified amount of time
    • waitForWorkflowCompletion

      @Nullable public WorkflowState waitForWorkflowCompletion(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException
      Waits for an workflow to complete and returns an WorkflowState object that contains metadata about the completed instance.

      A "completed" workflow instance is any instance in one of the terminal states. For example, the Completed, Failed, or Terminated states.

      Workflows are long-running and could take hours, days, or months before completing. Workflows can also be eternal, in which case they'll never complete unless terminated. In such cases, this call may block indefinitely, so care must be taken to ensure appropriate timeouts are used. If an workflow instance is already complete when this method is called, the method will return immediately.

      Parameters:
      instanceId - the unique ID of the workflow instance to wait for
      timeout - the amount of time to wait for the workflow instance to complete
      getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
      Returns:
      the workflow instance metadata or null if no such instance is found
      Throws:
      TimeoutException - when the workflow instance is not completed within the specified amount of time
    • raiseEvent

      public void raiseEvent(String workflowInstanceId, String eventName, Object eventPayload)
      Sends an event notification message to awaiting workflow instance.
      Parameters:
      workflowInstanceId - The ID of the workflow instance that will handle the event.
      eventName - The name of the event. Event names are case-insensitive.
      eventPayload - The serializable data payload to include with the event.
    • purgeInstance

      @Deprecated(forRemoval=true) public boolean purgeInstance(String workflowInstanceId)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Purges workflow instance state from the workflow state store.
      Parameters:
      workflowInstanceId - The unique ID of the workflow instance to purge.
      Returns:
      Return true if the workflow state was found and purged successfully otherwise false.
    • purgeWorkflow

      public boolean purgeWorkflow(String workflowInstanceId)
      Purges workflow instance state from the workflow state store.
      Parameters:
      workflowInstanceId - The unique ID of the workflow instance to purge.
      Returns:
      Return true if the workflow state was found and purged successfully otherwise false.
    • close

      public void close() throws InterruptedException
      Closes the inner DurableTask client and shutdown the GRPC channel.
      Specified by:
      close in interface AutoCloseable
      Throws:
      InterruptedException

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowFailureDetails.html ================================================ WorkflowFailureDetails (dapr-sdk-workflows 1.17.2 API)

Interface WorkflowFailureDetails

All Known Implementing Classes:
DefaultWorkflowFailureDetails

public interface WorkflowFailureDetails
Represents a workflow failure details.
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets the error message.
    Gets the error type, which is the namespace-qualified exception type name.
    Gets the stack trace.
    default boolean
    isCausedBy(Class<? extends Exception> exceptionClass)
    Checks whether the failure was caused by the provided exception class.
  • Method Details

    • getErrorType

      String getErrorType()
      Gets the error type, which is the namespace-qualified exception type name.
      Returns:
      the error type, which is the namespace-qualified exception type name
    • getErrorMessage

      String getErrorMessage()
      Gets the error message.
      Returns:
      the error message
    • getStackTrace

      String getStackTrace()
      Gets the stack trace.
      Returns:
      the stack trace
    • isCausedBy

      default boolean isCausedBy(Class<? extends Exception> exceptionClass)
      Checks whether the failure was caused by the provided exception class.
      Parameters:
      exceptionClass - the exception class to check
      Returns:
      true if the failure was caused by the provided exception class

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowInstanceStatus.html ================================================ WorkflowInstanceStatus (dapr-sdk-workflows 1.17.2 API)

Interface WorkflowInstanceStatus

All Known Implementing Classes:
DefaultWorkflowInstanceStatus

@Deprecated(forRemoval=true) public interface WorkflowInstanceStatus
Deprecated, for removal: This API element is subject to removal in a future version.
Use WorkflowState instead.
Represents a snapshot of a workflow instance's current state, including metadata.
  • Method Summary

    Modifier and Type
    Method
    Description
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the workflow instance's creation time in UTC.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the failure details, if any, for the failed workflow instance.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the unique ID of the workflow instance.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the workflow instance's last updated time in UTC.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the name of the workflow.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the current runtime status of the workflow instance at the time this object was fetched.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the workflow instance's serialized input, if any, as a string value.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets the workflow instance's serialized output, if any, as a string value.
    boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets a value indicating whether the workflow instance was completed at the time this object was fetched.
    boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
    Gets a value indicating whether the workflow instance was running at the time this object was fetched.
    <T> T
    readInputAs(Class<T> type)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Deserializes the workflow's input into an object of the specified type.
    <T> T
    Deprecated, for removal: This API element is subject to removal in a future version.
    Deserializes the workflow's output into an object of the specified type.
  • Method Details

    • getName

      String getName()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the name of the workflow.
      Returns:
      the name of the workflow
    • getInstanceId

      String getInstanceId()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the unique ID of the workflow instance.
      Returns:
      the unique ID of the workflow instance
    • getRuntimeStatus

      WorkflowRuntimeStatus getRuntimeStatus()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the current runtime status of the workflow instance at the time this object was fetched.
      Returns:
      the current runtime status of the workflow instance at the time this object was fetched
    • getCreatedAt

      Instant getCreatedAt()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the workflow instance's creation time in UTC.
      Returns:
      the workflow instance's creation time in UTC
    • getLastUpdatedAt

      Instant getLastUpdatedAt()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the workflow instance's last updated time in UTC.
      Returns:
      the workflow instance's last updated time in UTC
    • getSerializedInput

      String getSerializedInput()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the workflow instance's serialized input, if any, as a string value.
      Returns:
      the workflow instance's serialized input or null
    • getSerializedOutput

      String getSerializedOutput()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the workflow instance's serialized output, if any, as a string value.
      Returns:
      the workflow instance's serialized output or null
    • getFailureDetails

      @Nullable WorkflowFailureDetails getFailureDetails()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the failure details, if any, for the failed workflow instance.

      This method returns data only if the workflow is in the WorkflowFailureDetails failureDetails, and only if this instance metadata was fetched with the option to include output data.

      Returns:
      the failure details of the failed workflow instance or null
    • isRunning

      boolean isRunning()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets a value indicating whether the workflow instance was running at the time this object was fetched.
      Returns:
      true if the workflow existed and was in a running state otherwise false
    • isCompleted

      boolean isCompleted()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets a value indicating whether the workflow instance was completed at the time this object was fetched.

      A workflow instance is considered completed when its runtime status value is WorkflowRuntimeStatus.COMPLETED, WorkflowRuntimeStatus.FAILED, or WorkflowRuntimeStatus.TERMINATED.

      Returns:
      true if the workflow was in a terminal state; otherwise false
    • readInputAs

      <T> T readInputAs(Class<T> type)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Deserializes the workflow's input into an object of the specified type.

      Deserialization is performed using the DataConverter that was configured on the DurableTaskClient object that created this workflow metadata object.

      Type Parameters:
      T - the type to deserialize the input data into
      Parameters:
      type - the class associated with the type to deserialize the input data into
      Returns:
      the deserialized input value
      Throws:
      IllegalStateException - if the metadata was fetched without the option to read inputs and outputs
    • readOutputAs

      <T> T readOutputAs(Class<T> type)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Deserializes the workflow's output into an object of the specified type.

      Deserialization is performed using the DataConverter that was configured on the DurableTaskClient object that created this workflow metadata object.

      Type Parameters:
      T - the type to deserialize the output data into
      Parameters:
      type - the class associated with the type to deserialize the output data into
      Returns:
      the deserialized input value
      Throws:
      IllegalStateException - if the metadata was fetched without the option to read inputs and outputs

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/DaprWorkflowClient.html ================================================ Uses of Class io.dapr.workflows.client.DaprWorkflowClient (dapr-sdk-workflows 1.17.2 API)

Uses of Class
io.dapr.workflows.client.DaprWorkflowClient

No usage of io.dapr.workflows.client.DaprWorkflowClient

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowFailureDetails.html ================================================ Uses of Interface io.dapr.workflows.client.WorkflowFailureDetails (dapr-sdk-workflows 1.17.2 API)

Uses of Interface
io.dapr.workflows.client.WorkflowFailureDetails

Packages that use WorkflowFailureDetails

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowInstanceStatus.html ================================================ Uses of Interface io.dapr.workflows.client.WorkflowInstanceStatus (dapr-sdk-workflows 1.17.2 API)

Uses of Interface
io.dapr.workflows.client.WorkflowInstanceStatus

Packages that use WorkflowInstanceStatus

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/client/package-summary.html ================================================ io.dapr.workflows.client (dapr-sdk-workflows 1.17.2 API)

Package io.dapr.workflows.client


package io.dapr.workflows.client

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/client/package-tree.html ================================================ io.dapr.workflows.client Class Hierarchy (dapr-sdk-workflows 1.17.2 API)

Hierarchy For Package io.dapr.workflows.client

Package Hierarchies:

Class Hierarchy

Interface Hierarchy

Enum Hierarchy


================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/client/package-use.html ================================================ Uses of Package io.dapr.workflows.client (dapr-sdk-workflows 1.17.2 API)

Uses of Package
io.dapr.workflows.client

Packages that use io.dapr.workflows.client

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/internal/ApiTokenClientInterceptor.html ================================================ ApiTokenClientInterceptor (dapr-sdk-workflows 1.17.2 API)

Class ApiTokenClientInterceptor

java.lang.Object
io.dapr.workflows.internal.ApiTokenClientInterceptor
All Implemented Interfaces:
io.grpc.ClientInterceptor

public class ApiTokenClientInterceptor extends Object implements io.grpc.ClientInterceptor
  • Constructor Details

    • ApiTokenClientInterceptor

      public ApiTokenClientInterceptor(io.dapr.config.Properties properties)
  • Method Details

    • interceptCall

      public <ReqT, RespT> io.grpc.ClientCall<ReqT,RespT> interceptCall(io.grpc.MethodDescriptor<ReqT,RespT> methodDescriptor, io.grpc.CallOptions options, io.grpc.Channel channel)
      Specified by:
      interceptCall in interface io.grpc.ClientInterceptor

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/internal/class-use/ApiTokenClientInterceptor.html ================================================ Uses of Class io.dapr.workflows.internal.ApiTokenClientInterceptor (dapr-sdk-workflows 1.17.2 API)

Uses of Class
io.dapr.workflows.internal.ApiTokenClientInterceptor

No usage of io.dapr.workflows.internal.ApiTokenClientInterceptor

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-summary.html ================================================ io.dapr.workflows.internal (dapr-sdk-workflows 1.17.2 API)

Package io.dapr.workflows.internal


package io.dapr.workflows.internal

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-tree.html ================================================ io.dapr.workflows.internal Class Hierarchy (dapr-sdk-workflows 1.17.2 API)

Hierarchy For Package io.dapr.workflows.internal

Package Hierarchies:

Class Hierarchy


================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-use.html ================================================ Uses of Package io.dapr.workflows.internal (dapr-sdk-workflows 1.17.2 API)

Uses of Package
io.dapr.workflows.internal

No usage of io.dapr.workflows.internal

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/package-summary.html ================================================ io.dapr.workflows (dapr-sdk-workflows 1.17.2 API)

Package io.dapr.workflows


package io.dapr.workflows

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/package-tree.html ================================================ io.dapr.workflows Class Hierarchy (dapr-sdk-workflows 1.17.2 API)

Hierarchy For Package io.dapr.workflows

Package Hierarchies:

Class Hierarchy

Interface Hierarchy


================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/package-use.html ================================================ Uses of Package io.dapr.workflows (dapr-sdk-workflows 1.17.2 API)

Uses of Package
io.dapr.workflows

Packages that use io.dapr.workflows

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntime.html ================================================ WorkflowRuntime (dapr-sdk-workflows 1.17.2 API)

Class WorkflowRuntime

java.lang.Object
io.dapr.workflows.runtime.WorkflowRuntime
All Implemented Interfaces:
AutoCloseable

public class WorkflowRuntime extends Object implements AutoCloseable
Contains methods to register workflows and activities.
  • Constructor Details

    • WorkflowRuntime

      public WorkflowRuntime(io.dapr.durabletask.DurableTaskGrpcWorker worker, io.grpc.ManagedChannel managedChannel, ExecutorService executorService)
      Constructor.
      Parameters:
      worker - grpcWorker processing activities.
      managedChannel - grpc channel.
      executorService - executor service responsible for running the threads.
  • Method Details

    • start

      public void start()
      Start the Workflow runtime processing items and block.
    • start

      public void start(boolean block)
      Start the Workflow runtime processing items.
      Parameters:
      block - block the thread if true
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntimeBuilder.html ================================================ WorkflowRuntimeBuilder (dapr-sdk-workflows 1.17.2 API)

Class WorkflowRuntimeBuilder

java.lang.Object
io.dapr.workflows.runtime.WorkflowRuntimeBuilder

public class WorkflowRuntimeBuilder extends Object
  • Constructor Details

    • WorkflowRuntimeBuilder

      public WorkflowRuntimeBuilder()
      Constructs the WorkflowRuntimeBuilder.
    • WorkflowRuntimeBuilder

      public WorkflowRuntimeBuilder(io.dapr.config.Properties properties)
      Constructs the WorkflowRuntimeBuilder.
      Parameters:
      properties - Properties to use.
    • WorkflowRuntimeBuilder

      public WorkflowRuntimeBuilder(org.slf4j.Logger logger)
  • Method Details

    • build

      public WorkflowRuntime build()
      Returns a WorkflowRuntime object.
      Returns:
      A WorkflowRuntime object.
    • withExecutorService

      public WorkflowRuntimeBuilder withExecutorService(ExecutorService executorService)
      Register Executor Service to use with workflow.
      Parameters:
      executorService - to be used.
      Returns:
      WorkflowRuntimeBuilder.
    • registerWorkflow

      public <T extends Workflow> WorkflowRuntimeBuilder registerWorkflow(Class<T> clazz)
      Registers a Workflow object.
      Type Parameters:
      T - any Workflow type
      Parameters:
      clazz - the class being registered
      Returns:
      the WorkflowRuntimeBuilder
    • registerWorkflow

      public <T extends Workflow> WorkflowRuntimeBuilder registerWorkflow(String name, Class<T> clazz)
      Registers a Workflow object.
      Type Parameters:
      T - any Workflow type
      Parameters:
      name - the name of the workflow to register
      clazz - the class being registered
      Returns:
      the WorkflowRuntimeBuilder
    • registerWorkflow

      public <T extends Workflow> WorkflowRuntimeBuilder registerWorkflow(String name, Class<T> clazz, String versionName, Boolean isLatestVersion)
      Registers a Workflow object.
      Type Parameters:
      T - any Workflow type
      Parameters:
      name - the name of the workflow to register
      clazz - the class being registered
      versionName - the version name of the workflow
      isLatestVersion - whether the workflow is the latest version
      Returns:
      the WorkflowRuntimeBuilder
    • registerWorkflow

      public <T extends Workflow> WorkflowRuntimeBuilder registerWorkflow(T instance)
      Registers a Workflow object.
      Type Parameters:
      T - any Workflow type
      Parameters:
      instance - the workflow instance being registered
      Returns:
      the WorkflowRuntimeBuilder
    • registerWorkflow

      public <T extends Workflow> WorkflowRuntimeBuilder registerWorkflow(String name, T instance, String versionName, Boolean isLatestVersion)
      Registers a Workflow object.
      Type Parameters:
      T - any Workflow type
      Parameters:
      name - the name of the workflow to register
      instance - the workflow instance being registered
      versionName - the version name of the workflow
      isLatestVersion - whether the workflow is the latest version
      Returns:
      the WorkflowRuntimeBuilder
    • registerActivity

      public <T extends WorkflowActivity> WorkflowRuntimeBuilder registerActivity(Class<T> clazz)
      Registers an Activity object.
      Type Parameters:
      T - any WorkflowActivity type
      Parameters:
      clazz - the class being registered
      Returns:
      the WorkflowRuntimeBuilder
    • registerActivity

      public <T extends WorkflowActivity> WorkflowRuntimeBuilder registerActivity(String name, Class<T> clazz)
      Registers an Activity object.
      Type Parameters:
      T - any WorkflowActivity type
      Parameters:
      name - Name of the activity to register.
      clazz - Class of the activity to register.
      Returns:
      the WorkflowRuntimeBuilder
    • registerActivity

      public <T extends WorkflowActivity> WorkflowRuntimeBuilder registerActivity(T instance)
      Registers an Activity object.
      Type Parameters:
      T - any WorkflowActivity type
      Parameters:
      instance - the class instance being registered
      Returns:
      the WorkflowRuntimeBuilder
    • registerActivity

      public <T extends WorkflowActivity> WorkflowRuntimeBuilder registerActivity(String name, T instance)
      Registers an Activity object.
      Type Parameters:
      T - any WorkflowActivity type
      Parameters:
      name - Name of the activity to register.
      instance - the class instance being registered
      Returns:
      the WorkflowRuntimeBuilder
    • registerTaskActivityFactory

      public WorkflowRuntimeBuilder registerTaskActivityFactory(String activityName, io.dapr.durabletask.TaskActivityFactory taskActivityFactory)
      Registers a Task Activity using a TaskActivityFactory.

      This method allows advanced use cases where activities are created dynamically or require custom instantiation logic instead of relying on class-based or instance-based registration.

      Parameters:
      activityName - the logical name of the activity to register
      taskActivityFactory - the factory responsible for creating the activity
      Returns:
      the WorkflowRuntimeBuilder
    • registerTaskOrchestrationFactory

      public WorkflowRuntimeBuilder registerTaskOrchestrationFactory(String orchestrationName, io.dapr.durabletask.orchestration.TaskOrchestrationFactory taskOrchestrationFactory)
      Registers a Task Orchestration using a TaskOrchestrationFactory.

      This method is intended for advanced scenarios where orchestrations are created programmatically or require custom construction logic, rather than being registered via workflow classes or instances.

      Parameters:
      orchestrationName - the logical name of the orchestration to register
      taskOrchestrationFactory - the factory responsible for creating the orchestration
      Returns:
      the WorkflowRuntimeBuilder

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntime.html ================================================ Uses of Class io.dapr.workflows.runtime.WorkflowRuntime (dapr-sdk-workflows 1.17.2 API)

Uses of Class
io.dapr.workflows.runtime.WorkflowRuntime

Packages that use WorkflowRuntime
Package
Description
 

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntimeBuilder.html ================================================ Uses of Class io.dapr.workflows.runtime.WorkflowRuntimeBuilder (dapr-sdk-workflows 1.17.2 API)

Uses of Class
io.dapr.workflows.runtime.WorkflowRuntimeBuilder

Packages that use WorkflowRuntimeBuilder
Package
Description
 

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-summary.html ================================================ io.dapr.workflows.runtime (dapr-sdk-workflows 1.17.2 API)

Package io.dapr.workflows.runtime


package io.dapr.workflows.runtime

================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-tree.html ================================================ io.dapr.workflows.runtime Class Hierarchy (dapr-sdk-workflows 1.17.2 API)

Hierarchy For Package io.dapr.workflows.runtime

Package Hierarchies:

Class Hierarchy


================================================ FILE: docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-use.html ================================================ Uses of Package io.dapr.workflows.runtime (dapr-sdk-workflows 1.17.2 API)

Uses of Package
io.dapr.workflows.runtime

Packages that use io.dapr.workflows.runtime
Package
Description
 
 

================================================ FILE: docs/dapr-sdk-workflows/jquery-ui.overrides.css ================================================ /* * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { /* Overrides the color of selection used in jQuery UI */ background: #F8981D; border: 1px solid #F8981D; } ================================================ FILE: docs/dapr-sdk-workflows/legal/ADDITIONAL_LICENSE_INFO ================================================ ADDITIONAL INFORMATION ABOUT LICENSING Certain files distributed by Oracle America, Inc. and/or its affiliates are subject to the following clarification and special exception to the GPLv2, based on the GNU Project exception for its Classpath libraries, known as the GNU Classpath Exception. Note that Oracle includes multiple, independent programs in this software package. Some of those programs are provided under licenses deemed incompatible with the GPLv2 by the Free Software Foundation and others. For example, the package includes programs licensed under the Apache License, Version 2.0 and may include FreeType. Such programs are licensed to you under their original licenses. Oracle facilitates your further distribution of this package by adding the Classpath Exception to the necessary parts of its GPLv2 code, which permits you to use that code in combination with other independent modules not licensed under the GPLv2. However, note that this would not permit you to commingle code under an incompatible license with Oracle's GPLv2 licensed code by, for example, cutting and pasting such code into a file also containing Oracle's GPLv2 licensed code and then distributing the result. Additionally, if you were to remove the Classpath Exception from any of the files to which it applies and distribute the result, you would likely be required to license some or all of the other code in that distribution under the GPLv2 as well, and since the GPLv2 is incompatible with the license terms of some items included in the distribution by Oracle, removing the Classpath Exception could therefore effectively compromise your ability to further distribute the package. Failing to distribute notices associated with some files may also create unexpected legal consequences. Proceed with caution and we recommend that you obtain the advice of a lawyer skilled in open source matters before removing the Classpath Exception or making modifications to this package which may subsequently be redistributed and/or involve the use of third party software. ================================================ FILE: docs/dapr-sdk-workflows/legal/ASSEMBLY_EXCEPTION ================================================ OPENJDK ASSEMBLY EXCEPTION The OpenJDK source code made available by Oracle America, Inc. (Oracle) at openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU General Public License version 2 only ("GPL2"), with the following clarification and special exception. Linking this OpenJDK Code statically or dynamically with other code is making a combined work based on this library. Thus, the terms and conditions of GPL2 cover the whole combination. As a special exception, Oracle gives you permission to link this OpenJDK Code with certain code licensed by Oracle as indicated at http://openjdk.java.net/legal/exception-modules-2007-05-08.html ("Designated Exception Modules") to produce an executable, regardless of the license terms of the Designated Exception Modules, and to copy and distribute the resulting executable under GPL2, provided that the Designated Exception Modules continue to be governed by the licenses under which they were offered by Oracle. As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code to build an executable that includes those portions of necessary code that Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 with the Classpath exception). If you modify or add to the OpenJDK code, that new GPL2 code may still be combined with Designated Exception Modules if the new code is made subject to this exception by its copyright holder. ================================================ FILE: docs/dapr-sdk-workflows/legal/LICENSE ================================================ The GNU General Public License (GPL) Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. One line to give the program's name and a brief idea of what it does. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free software, and you are welcome to redistribute it under certain conditions; type 'show c' for details. The hypothetical commands 'show w' and 'show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than 'show w' and 'show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program 'Gnomovision' (which makes passes at compilers) written by James Hacker. signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. "CLASSPATH" EXCEPTION TO THE GPL Certain source files distributed by Oracle America and/or its affiliates are subject to the following clarification and special exception to the GPL, but only where Oracle has expressly included in the particular source file's header the words "Oracle designates this particular file as subject to the "Classpath" exception as provided by Oracle in the LICENSE file that accompanied this code." Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. ================================================ FILE: docs/dapr-sdk-workflows/legal/jquery.md ================================================ ## jQuery v3.7.1 ### jQuery License ``` jQuery v 3.7.1 Copyright OpenJS Foundation and other contributors, https://openjsf.org/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ================================================ FILE: docs/dapr-sdk-workflows/legal/jqueryUI.md ================================================ ## jQuery UI v1.14.1 ### jQuery UI License ``` Copyright OpenJS Foundation and other contributors, https://openjsf.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision history available at https://github.com/jquery/jquery-ui The following license applies to all parts of this software except as documented below: ==== Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ==== Copyright and related rights for sample code are waived via CC0. Sample code is defined as all source code contained within the demos directory. CC0: http://creativecommons.org/publicdomain/zero/1.0/ ==== All files located in the node_modules and external directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms above. ``` ================================================ FILE: docs/dapr-sdk-workflows/member-search-index.js ================================================ memberSearchIndex = [{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"allOf(List>)","u":"allOf(java.util.List)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"allOf(List>)","u":"allOf(java.util.List)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"anyOf(List>)","u":"anyOf(java.util.List)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"anyOf(List>)","u":"anyOf(java.util.List)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"anyOf(Task...)","u":"anyOf(io.dapr.durabletask.Task...)"},{"p":"io.dapr.workflows.internal","c":"ApiTokenClientInterceptor","l":"ApiTokenClientInterceptor(Properties)","u":"%3Cinit%3E(io.dapr.config.Properties)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"build()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"build()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String)","u":"callActivity(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String, Class)","u":"callActivity(java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String, Object)","u":"callActivity(java.lang.String,java.lang.Object)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String, Object, Class)","u":"callActivity(java.lang.String,java.lang.Object,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String, Object, WorkflowTaskOptions)","u":"callActivity(java.lang.String,java.lang.Object,io.dapr.workflows.WorkflowTaskOptions)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"callActivity(String, Object, WorkflowTaskOptions, Class)","u":"callActivity(java.lang.String,java.lang.Object,io.dapr.workflows.WorkflowTaskOptions,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String, Object, WorkflowTaskOptions, Class)","u":"callActivity(java.lang.String,java.lang.Object,io.dapr.workflows.WorkflowTaskOptions,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String)","u":"callChildWorkflow(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String, Object)","u":"callChildWorkflow(java.lang.String,java.lang.Object)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String, Object, Class)","u":"callChildWorkflow(java.lang.String,java.lang.Object,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String, Object, String, Class)","u":"callChildWorkflow(java.lang.String,java.lang.Object,java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String, Object, String, WorkflowTaskOptions)","u":"callChildWorkflow(java.lang.String,java.lang.Object,java.lang.String,io.dapr.workflows.WorkflowTaskOptions)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class)","u":"callChildWorkflow(java.lang.String,java.lang.Object,java.lang.String,io.dapr.workflows.WorkflowTaskOptions,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class)","u":"callChildWorkflow(java.lang.String,java.lang.Object,java.lang.String,io.dapr.workflows.WorkflowTaskOptions,java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"CANCELED"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"close()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntime","l":"close()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"complete(Object)","u":"complete(java.lang.Object)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"complete(Object)","u":"complete(java.lang.Object)"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"COMPLETED"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"continueAsNew(Object)","u":"continueAsNew(java.lang.Object)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"continueAsNew(Object)","u":"continueAsNew(java.lang.Object)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"continueAsNew(Object, boolean)","u":"continueAsNew(java.lang.Object,boolean)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"continueAsNew(Object, boolean)","u":"continueAsNew(java.lang.Object,boolean)"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"CONTINUED_AS_NEW"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityClassWrapper","l":"create()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityInstanceWrapper","l":"create()"},{"p":"io.dapr.workflows","c":"Workflow","l":"create()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"createTimer(Duration)","u":"createTimer(java.time.Duration)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"createTimer(Duration)","u":"createTimer(java.time.Duration)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"createTimer(ZonedDateTime)","u":"createTimer(java.time.ZonedDateTime)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"createTimer(ZonedDateTime)","u":"createTimer(java.time.ZonedDateTime)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"DaprWorkflowClient()","u":"%3Cinit%3E()"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"DaprWorkflowClient(Properties)","u":"%3Cinit%3E(io.dapr.config.Properties)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"DefaultWorkflowActivityContext(TaskActivityContext)","u":"%3Cinit%3E(io.dapr.durabletask.TaskActivityContext)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"DefaultWorkflowActivityContext(TaskActivityContext, Class)","u":"%3Cinit%3E(io.dapr.durabletask.TaskActivityContext,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"DefaultWorkflowActivityContext(TaskActivityContext, Logger)","u":"%3Cinit%3E(io.dapr.durabletask.TaskActivityContext,org.slf4j.Logger)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"DefaultWorkflowContext(TaskOrchestrationContext)","u":"%3Cinit%3E(io.dapr.durabletask.TaskOrchestrationContext)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"DefaultWorkflowContext(TaskOrchestrationContext, Class)","u":"%3Cinit%3E(io.dapr.durabletask.TaskOrchestrationContext,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"DefaultWorkflowContext(TaskOrchestrationContext, Logger)","u":"%3Cinit%3E(io.dapr.durabletask.TaskOrchestrationContext,org.slf4j.Logger)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"DefaultWorkflowFailureDetails(FailureDetails)","u":"%3Cinit%3E(io.dapr.durabletask.FailureDetails)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"DefaultWorkflowInstanceStatus(OrchestrationMetadata)","u":"%3Cinit%3E(io.dapr.durabletask.OrchestrationMetadata)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"DefaultWorkflowState(OrchestrationMetadata)","u":"%3Cinit%3E(io.dapr.durabletask.OrchestrationMetadata)"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"FAILED"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeStatusConverter","l":"fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus)","u":"fromOrchestrationRuntimeStatus(io.dapr.durabletask.OrchestrationRuntimeStatus)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"getAppId()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"getBackoffCoefficient()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getCreatedAt()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getCreatedAt()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getCreatedAt()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getCreatedAt()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"getCurrentInstant()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"getCurrentInstant()"},{"p":"io.dapr.workflows.client","c":"WorkflowFailureDetails","l":"getErrorMessage()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"getErrorMessage()"},{"p":"io.dapr.workflows.client","c":"WorkflowFailureDetails","l":"getErrorType()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"getErrorType()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getFailureDetails()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getFailureDetails()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getFailureDetails()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getFailureDetails()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"getFirstRetryInterval()"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"getInput()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"getInput(Class)","u":"getInput(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"getInput(Class)","u":"getInput(java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowActivityContext","l":"getInput(Class)","u":"getInput(java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"getInput(Class)","u":"getInput(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"getInstanceId()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getInstanceId()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"getInstanceId()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getInstanceId()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"getInstanceId()"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"getInstanceState(String, boolean)","u":"getInstanceState(java.lang.String,boolean)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryContext","l":"getLastAttemptNumber()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryContext","l":"getLastFailure()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getLastUpdatedAt()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getLastUpdatedAt()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getLastUpdatedAt()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getLastUpdatedAt()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"getLogger()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"getLogger()"},{"p":"io.dapr.workflows","c":"WorkflowActivityContext","l":"getLogger()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"getLogger()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"getMaxNumberOfAttempts()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"getMaxRetryInterval()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getName()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityClassWrapper","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityInstanceWrapper","l":"getName()"},{"p":"io.dapr.workflows","c":"WorkflowActivityContext","l":"getName()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"getName()"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"getRetryHandler()"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"getRetryPolicy()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"getRetryTimeout()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getRuntimeStatus()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getRuntimeStatus()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getRuntimeStatus()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getRuntimeStatus()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getSerializedInput()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getSerializedInput()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getSerializedInput()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getSerializedInput()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getSerializedOutput()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getSerializedOutput()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getSerializedOutput()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getSerializedOutput()"},{"p":"io.dapr.workflows.client","c":"WorkflowFailureDetails","l":"getStackTrace()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"getStackTrace()"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"getStartTime()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"getTaskExecutionId()"},{"p":"io.dapr.workflows","c":"WorkflowActivityContext","l":"getTaskExecutionId()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryContext","l":"getTotalRetryTime()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"getTraceParent()"},{"p":"io.dapr.workflows","c":"WorkflowActivityContext","l":"getTraceParent()"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"getVersion()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowVersionWrapper","l":"getVersionName()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryContext","l":"getWorkflowContext()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getWorkflowId()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getWorkflowId()"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"getWorkflowState(String, boolean)","u":"getWorkflowState(java.lang.String,boolean)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryHandler","l":"handle(WorkflowTaskRetryContext)","u":"handle(io.dapr.workflows.WorkflowTaskRetryContext)"},{"p":"io.dapr.workflows.internal","c":"ApiTokenClientInterceptor","l":"interceptCall(MethodDescriptor, CallOptions, Channel)","u":"interceptCall(io.grpc.MethodDescriptor,io.grpc.CallOptions,io.grpc.Channel)"},{"p":"io.dapr.workflows.client","c":"WorkflowFailureDetails","l":"isCausedBy(Class)","u":"isCausedBy(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"isCausedBy(Class)","u":"isCausedBy(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"isCompleted()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"isCompleted()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"isCompleted()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"isCompleted()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowVersionWrapper","l":"isLatestVersion()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"isPatched(String)","u":"isPatched(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"isPatched(String)","u":"isPatched(java.lang.String)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"isReplaying()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"isReplaying()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"isRunning()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"isRunning()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"isRunning()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"isRunning()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"newBuilder()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"newUuid()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"newUuid()"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"NewWorkflowOptions()","u":"%3Cinit%3E()"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"PENDING"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"purgeInstance(String)","u":"purgeInstance(java.lang.String)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"purgeWorkflow(String)","u":"purgeWorkflow(java.lang.String)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"raiseEvent(String, String, Object)","u":"raiseEvent(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"readInputAs(Class)","u":"readInputAs(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"readInputAs(Class)","u":"readInputAs(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"readInputAs(Class)","u":"readInputAs(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"readInputAs(Class)","u":"readInputAs(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"readOutputAs(Class)","u":"readOutputAs(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"readOutputAs(Class)","u":"readOutputAs(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"readOutputAs(Class)","u":"readOutputAs(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"readOutputAs(Class)","u":"readOutputAs(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerActivity(Class)","u":"registerActivity(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerActivity(String, Class)","u":"registerActivity(java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerActivity(String, T)","u":"registerActivity(java.lang.String,T)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerActivity(T)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerTaskActivityFactory(String, TaskActivityFactory)","u":"registerTaskActivityFactory(java.lang.String,io.dapr.durabletask.TaskActivityFactory)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerTaskOrchestrationFactory(String, TaskOrchestrationFactory)","u":"registerTaskOrchestrationFactory(java.lang.String,io.dapr.durabletask.orchestration.TaskOrchestrationFactory)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerWorkflow(Class)","u":"registerWorkflow(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerWorkflow(String, Class)","u":"registerWorkflow(java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerWorkflow(String, Class, String, Boolean)","u":"registerWorkflow(java.lang.String,java.lang.Class,java.lang.String,java.lang.Boolean)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerWorkflow(String, T, String, Boolean)","u":"registerWorkflow(java.lang.String,T,java.lang.String,java.lang.Boolean)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerWorkflow(T)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"resumeWorkflow(String, String)","u":"resumeWorkflow(java.lang.String,java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowActivity","l":"run(WorkflowActivityContext)","u":"run(io.dapr.workflows.WorkflowActivityContext)"},{"p":"io.dapr.workflows","c":"Workflow","l":"run(WorkflowContext)","u":"run(io.dapr.workflows.WorkflowContext)"},{"p":"io.dapr.workflows","c":"WorkflowStub","l":"run(WorkflowContext)","u":"run(io.dapr.workflows.WorkflowContext)"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"RUNNING"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(Class)","u":"scheduleNewWorkflow(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(Class, NewWorkflowOptions)","u":"scheduleNewWorkflow(java.lang.Class,io.dapr.workflows.client.NewWorkflowOptions)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(Class, Object)","u":"scheduleNewWorkflow(java.lang.Class,java.lang.Object)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(Class, Object, String)","u":"scheduleNewWorkflow(java.lang.Class,java.lang.Object,java.lang.String)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(String)","u":"scheduleNewWorkflow(java.lang.String)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(String, NewWorkflowOptions)","u":"scheduleNewWorkflow(java.lang.String,io.dapr.workflows.client.NewWorkflowOptions)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(String, Object)","u":"scheduleNewWorkflow(java.lang.String,java.lang.Object)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(String, Object, String)","u":"scheduleNewWorkflow(java.lang.String,java.lang.Object,java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"setBackoffCoefficient(double)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"setCustomStatus(Object)","u":"setCustomStatus(java.lang.Object)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"setCustomStatus(Object)","u":"setCustomStatus(java.lang.Object)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"setFirstRetryInterval(Duration)","u":"setFirstRetryInterval(java.time.Duration)"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"setInput(Object)","u":"setInput(java.lang.Object)"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"setMaxNumberOfAttempts(int)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"setMaxRetryInterval(Duration)","u":"setMaxRetryInterval(java.time.Duration)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"setRetryTimeout(Duration)","u":"setRetryTimeout(java.time.Duration)"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"setStartTime(Instant)","u":"setStartTime(java.time.Instant)"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"setVersion(String)","u":"setVersion(java.lang.String)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntime","l":"start()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntime","l":"start(boolean)"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"SUSPENDED"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"suspendWorkflow(String, String)","u":"suspendWorkflow(java.lang.String,java.lang.String)"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"TERMINATED"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"terminateWorkflow(String, Object)","u":"terminateWorkflow(java.lang.String,java.lang.Object)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"toString()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"toString()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"toString()"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"values()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"waitForExternalEvent(String)","u":"waitForExternalEvent(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"waitForExternalEvent(String)","u":"waitForExternalEvent(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"waitForExternalEvent(String, Class)","u":"waitForExternalEvent(java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"waitForExternalEvent(String, Duration)","u":"waitForExternalEvent(java.lang.String,java.time.Duration)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"waitForExternalEvent(String, Duration)","u":"waitForExternalEvent(java.lang.String,java.time.Duration)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"waitForExternalEvent(String, Duration, Class)","u":"waitForExternalEvent(java.lang.String,java.time.Duration,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"waitForExternalEvent(String, Duration, Class)","u":"waitForExternalEvent(java.lang.String,java.time.Duration,java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"waitForInstanceCompletion(String, Duration, boolean)","u":"waitForInstanceCompletion(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"waitForInstanceStart(String, Duration, boolean)","u":"waitForInstanceStart(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"waitForWorkflowCompletion(String, Duration, boolean)","u":"waitForWorkflowCompletion(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"waitForWorkflowStart(String, Duration, boolean)","u":"waitForWorkflowStart(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"withExecutorService(ExecutorService)","u":"withExecutorService(java.util.concurrent.ExecutorService)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityClassWrapper","l":"WorkflowActivityClassWrapper(Class)","u":"%3Cinit%3E(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityClassWrapper","l":"WorkflowActivityClassWrapper(String, Class)","u":"%3Cinit%3E(java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityInstanceWrapper","l":"WorkflowActivityInstanceWrapper(String, T)","u":"%3Cinit%3E(java.lang.String,T)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityInstanceWrapper","l":"WorkflowActivityInstanceWrapper(T)","u":"%3Cinit%3E(T)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntime","l":"WorkflowRuntime(DurableTaskGrpcWorker, ManagedChannel, ExecutorService)","u":"%3Cinit%3E(io.dapr.durabletask.DurableTaskGrpcWorker,io.grpc.ManagedChannel,java.util.concurrent.ExecutorService)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"WorkflowRuntimeBuilder()","u":"%3Cinit%3E()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"WorkflowRuntimeBuilder(Logger)","u":"%3Cinit%3E(org.slf4j.Logger)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"WorkflowRuntimeBuilder(Properties)","u":"%3Cinit%3E(io.dapr.config.Properties)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryHandler)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryHandler)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryHandler, String)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryHandler,java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryPolicy)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryPolicy)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryPolicy, String)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryPolicy,java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryPolicy, WorkflowTaskRetryHandler)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryPolicy,io.dapr.workflows.WorkflowTaskRetryHandler)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryPolicy, WorkflowTaskRetryHandler, String)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryPolicy,io.dapr.workflows.WorkflowTaskRetryHandler,java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryContext","l":"WorkflowTaskRetryContext(DefaultWorkflowContext, int, WorkflowFailureDetails, Duration)","u":"%3Cinit%3E(io.dapr.workflows.runtime.DefaultWorkflowContext,int,io.dapr.workflows.client.WorkflowFailureDetails,java.time.Duration)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"WorkflowTaskRetryPolicy(Integer, Duration, Double, Duration, Duration)","u":"%3Cinit%3E(java.lang.Integer,java.time.Duration,java.lang.Double,java.time.Duration,java.time.Duration)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowVersionWrapper","l":"WorkflowVersionWrapper()","u":"%3Cinit%3E()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowVersionWrapper","l":"WorkflowVersionWrapper(String, Boolean)","u":"%3Cinit%3E(java.lang.String,java.lang.Boolean)"}];updateSearchResults(); ================================================ FILE: docs/dapr-sdk-workflows/module-search-index.js ================================================ moduleSearchIndex = [];updateSearchResults(); ================================================ FILE: docs/dapr-sdk-workflows/overview-summary.html ================================================ dapr-sdk-workflows 1.17.2 API

index.html

================================================ FILE: docs/dapr-sdk-workflows/overview-tree.html ================================================ Class Hierarchy (dapr-sdk-workflows 1.17.2 API)

Class Hierarchy

Interface Hierarchy

Enum Hierarchy


================================================ FILE: docs/dapr-sdk-workflows/package-search-index.js ================================================ packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"io.dapr.workflows"},{"l":"io.dapr.workflows.client"},{"l":"io.dapr.workflows.internal"},{"l":"io.dapr.workflows.runtime"}];updateSearchResults(); ================================================ FILE: docs/dapr-sdk-workflows/project-reports.html ================================================ dapr-sdk-workflows – Generated Reports

Generated Reports

This document provides an overview of the various reports that are automatically generated by Maven . Each report is briefly described below.

Overview

Document Description
Javadoc Javadoc API documentation.

================================================ FILE: docs/dapr-sdk-workflows/script.js ================================================ /* * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ var moduleSearchIndex; var packageSearchIndex; var typeSearchIndex; var memberSearchIndex; var tagSearchIndex; function loadScripts(doc, tag) { createElem(doc, tag, 'search.js'); createElem(doc, tag, 'module-search-index.js'); createElem(doc, tag, 'package-search-index.js'); createElem(doc, tag, 'type-search-index.js'); createElem(doc, tag, 'member-search-index.js'); createElem(doc, tag, 'tag-search-index.js'); } function createElem(doc, tag, path) { var script = doc.createElement(tag); var scriptElement = doc.getElementsByTagName(tag)[0]; script.src = pathtoroot + path; scriptElement.parentNode.insertBefore(script, scriptElement); } function show(tableId, selected, columns) { if (tableId !== selected) { document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') .forEach(function(elem) { elem.style.display = 'none'; }); } document.querySelectorAll('div.' + selected) .forEach(function(elem, index) { elem.style.display = ''; var isEvenRow = index % (columns * 2) < columns; elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); }); updateTabs(tableId, selected); } function updateTabs(tableId, selected) { document.getElementById(tableId + '.tabpanel') .setAttribute('aria-labelledby', selected); document.querySelectorAll('button[id^="' + tableId + '"]') .forEach(function(tab, index) { if (selected === tab.id || (tableId === selected && index === 0)) { tab.className = activeTableTab; tab.setAttribute('aria-selected', true); tab.setAttribute('tabindex',0); } else { tab.className = tableTab; tab.setAttribute('aria-selected', false); tab.setAttribute('tabindex',-1); } }); } function switchTab(e) { var selected = document.querySelector('[aria-selected=true]'); if (selected) { if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { // left or up arrow key pressed: move focus to previous tab selected.previousSibling.click(); selected.previousSibling.focus(); e.preventDefault(); } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { // right or down arrow key pressed: move focus to next tab selected.nextSibling.click(); selected.nextSibling.focus(); e.preventDefault(); } } } var updateSearchResults = function() {}; function indexFilesLoaded() { return moduleSearchIndex && packageSearchIndex && typeSearchIndex && memberSearchIndex && tagSearchIndex; } // Workaround for scroll position not being included in browser history (8249133) document.addEventListener("DOMContentLoaded", function(e) { var contentDiv = document.querySelector("div.flex-content"); window.addEventListener("popstate", function(e) { if (e.state !== null) { contentDiv.scrollTop = e.state; } }); window.addEventListener("hashchange", function(e) { history.replaceState(contentDiv.scrollTop, document.title); }); contentDiv.addEventListener("scroll", function(e) { var timeoutID; if (!timeoutID) { timeoutID = setTimeout(function() { history.replaceState(contentDiv.scrollTop, document.title); timeoutID = null; }, 100); } }); if (!location.hash) { history.replaceState(contentDiv.scrollTop, document.title); } }); ================================================ FILE: docs/dapr-sdk-workflows/search.js ================================================ /* * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ var noResult = {l: "No results found"}; var loading = {l: "Loading search index..."}; var catModules = "Modules"; var catPackages = "Packages"; var catTypes = "Types"; var catMembers = "Members"; var catSearchTags = "Search Tags"; var highlight = "$&"; var searchPattern = ""; var fallbackPattern = ""; var RANKING_THRESHOLD = 2; var NO_MATCH = 0xffff; var MIN_RESULTS = 3; var MAX_RESULTS = 500; var UNNAMED = ""; function escapeHtml(str) { return str.replace(//g, ">"); } function getHighlightedText(item, matcher, fallbackMatcher) { var escapedItem = escapeHtml(item); var highlighted = escapedItem.replace(matcher, highlight); if (highlighted === escapedItem) { highlighted = escapedItem.replace(fallbackMatcher, highlight) } return highlighted; } function getURLPrefix(ui) { var urlPrefix=""; var slash = "/"; if (ui.item.category === catModules) { return ui.item.l + slash; } else if (ui.item.category === catPackages && ui.item.m) { return ui.item.m + slash; } else if (ui.item.category === catTypes || ui.item.category === catMembers) { if (ui.item.m) { urlPrefix = ui.item.m + slash; } else { $.each(packageSearchIndex, function(index, item) { if (item.m && ui.item.p === item.l) { urlPrefix = item.m + slash; } }); } } return urlPrefix; } function createSearchPattern(term) { var pattern = ""; var isWordToken = false; term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) { if (index > 0) { // whitespace between identifiers is significant pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*"; } var tokens = w.split(/(?=[A-Z,.()<>[\/])/); for (var i = 0; i < tokens.length; i++) { var s = tokens[i]; if (s === "") { continue; } pattern += $.ui.autocomplete.escapeRegex(s); isWordToken = /\w$/.test(s); if (isWordToken) { pattern += "([a-z0-9_$<>\\[\\]]*?)"; } } }); return pattern; } function createMatcher(pattern, flags) { var isCamelCase = /[A-Z]/.test(pattern); return new RegExp(pattern, flags + (isCamelCase ? "" : "i")); } var watermark = 'Search'; $(function() { var search = $("#search-input"); var reset = $("#reset-button"); search.val(''); search.prop("disabled", false); reset.prop("disabled", false); search.val(watermark).addClass('watermark'); search.blur(function() { if ($(this).val().length === 0) { $(this).val(watermark).addClass('watermark'); } }); search.on('click keydown paste', function() { if ($(this).val() === watermark) { $(this).val('').removeClass('watermark'); } }); reset.click(function() { search.val('').focus(); }); search.focus()[0].setSelectionRange(0, 0); }); $.widget("custom.catcomplete", $.ui.autocomplete, { _create: function() { this._super(); this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); }, _renderMenu: function(ul, items) { var rMenu = this; var currentCategory = ""; rMenu.menu.bindings = $(); $.each(items, function(index, item) { var li; if (item.category && item.category !== currentCategory) { ul.append("
  • " + item.category + "
  • "); currentCategory = item.category; } li = rMenu._renderItemData(ul, item); if (item.category) { li.attr("aria-label", item.category + " : " + item.l); li.attr("class", "result-item"); } else { li.attr("aria-label", item.l); li.attr("class", "result-item"); } }); }, _renderItem: function(ul, item) { var label = ""; var matcher = createMatcher(escapeHtml(searchPattern), "g"); var fallbackMatcher = new RegExp(fallbackPattern, "gi") if (item.category === catModules) { label = getHighlightedText(item.l, matcher, fallbackMatcher); } else if (item.category === catPackages) { label = getHighlightedText(item.l, matcher, fallbackMatcher); } else if (item.category === catTypes) { label = (item.p && item.p !== UNNAMED) ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher) : getHighlightedText(item.l, matcher, fallbackMatcher); } else if (item.category === catMembers) { label = (item.p && item.p !== UNNAMED) ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher) : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher); } else if (item.category === catSearchTags) { label = getHighlightedText(item.l, matcher, fallbackMatcher); } else { label = item.l; } var li = $("
  • ").appendTo(ul); var div = $("
    ").appendTo(li); if (item.category === catSearchTags && item.h) { if (item.d) { div.html(label + " (" + item.h + ")
    " + item.d + "
    "); } else { div.html(label + " (" + item.h + ")"); } } else { if (item.m) { div.html(item.m + "/" + label); } else { div.html(label); } } return li; } }); function rankMatch(match, category) { if (!match) { return NO_MATCH; } var index = match.index; var input = match.input; var leftBoundaryMatch = 2; var periferalMatch = 0; // make sure match is anchored on a left word boundary if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) { leftBoundaryMatch = 0; } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) { leftBoundaryMatch = 1; } var matchEnd = index + match[0].length; var leftParen = input.indexOf("("); var endOfName = leftParen > -1 ? leftParen : input.length; // exclude peripheral matches if (category !== catModules && category !== catSearchTags) { var delim = category === catPackages ? "/" : "."; if (leftParen > -1 && leftParen < index) { periferalMatch += 2; } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) { periferalMatch += 2; } } var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match for (var i = 1; i < match.length; i++) { // lower ranking if parts of the name are missing if (match[i]) delta += match[i].length; } if (category === catTypes) { // lower ranking if a type name contains unmatched camel-case parts if (/[A-Z]/.test(input.substring(matchEnd))) delta += 5; if (/[A-Z]/.test(input.substring(0, index))) delta += 5; } return leftBoundaryMatch + periferalMatch + (delta / 200); } function doSearch(request, response) { var result = []; searchPattern = createSearchPattern(request.term); fallbackPattern = createSearchPattern(request.term.toLowerCase()); if (searchPattern === "") { return this.close(); } var camelCaseMatcher = createMatcher(searchPattern, ""); var fallbackMatcher = new RegExp(fallbackPattern, "i"); function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) { if (indexArray) { var newResults = []; $.each(indexArray, function (i, item) { item.category = category; var ranking = rankMatch(matcher.exec(nameFunc(item)), category); if (ranking < RANKING_THRESHOLD) { newResults.push({ranking: ranking, item: item}); } return newResults.length <= MAX_RESULTS; }); return newResults.sort(function(e1, e2) { return e1.ranking - e2.ranking; }).map(function(e) { return e.item; }); } return []; } function searchIndex(indexArray, category, nameFunc) { var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc); result = result.concat(primaryResults); if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) { var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc); result = result.concat(secondaryResults.filter(function (item) { return primaryResults.indexOf(item) === -1; })); } } searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; }); searchIndex(packageSearchIndex, catPackages, function(item) { return (item.m && request.term.indexOf("/") > -1) ? (item.m + "/" + item.l) : item.l; }); searchIndex(typeSearchIndex, catTypes, function(item) { return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l; }); searchIndex(memberSearchIndex, catMembers, function(item) { return request.term.indexOf(".") > -1 ? item.p + "." + item.c + "." + item.l : item.l; }); searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; }); if (!indexFilesLoaded()) { updateSearchResults = function() { doSearch(request, response); } result.unshift(loading); } else { updateSearchResults = function() {}; } response(result); } $(function() { $("#search-input").catcomplete({ minLength: 1, delay: 300, source: doSearch, response: function(event, ui) { if (!ui.content.length) { ui.content.push(noResult); } else { $("#search-input").empty(); } }, autoFocus: true, focus: function(event, ui) { return false; }, position: { collision: "flip" }, select: function(event, ui) { if (ui.item.category) { var url = getURLPrefix(ui); if (ui.item.category === catModules) { url += "module-summary.html"; } else if (ui.item.category === catPackages) { if (ui.item.u) { url = ui.item.u; } else { url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; } } else if (ui.item.category === catTypes) { if (ui.item.u) { url = ui.item.u; } else if (ui.item.p === UNNAMED) { url += ui.item.l + ".html"; } else { url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; } } else if (ui.item.category === catMembers) { if (ui.item.p === UNNAMED) { url += ui.item.c + ".html" + "#"; } else { url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; } if (ui.item.u) { url += ui.item.u; } else { url += ui.item.l; } } else if (ui.item.category === catSearchTags) { url += ui.item.u; } if (top !== window) { parent.classFrame.location = pathtoroot + url; } else { window.location.href = pathtoroot + url; } $("#search-input").focus(); } } }); }); ================================================ FILE: docs/dapr-sdk-workflows/stylesheet.css ================================================ /* * Javadoc style sheet */ @import url('resources/fonts/dejavu.css'); /* * Styles for individual HTML elements. * * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular * HTML element throughout the page. */ body { background-color:#ffffff; color:#353833; font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; font-size:14px; margin:0; padding:0; height:100%; width:100%; } iframe { margin:0; padding:0; height:100%; width:100%; overflow-y:scroll; border:none; } a:link, a:visited { text-decoration:none; color:#4A6782; } a[href]:hover, a[href]:focus { text-decoration:none; color:#bb7a2a; } a[name] { color:#353833; } pre { font-family:'DejaVu Sans Mono', monospace; font-size:14px; } h1 { font-size:20px; } h2 { font-size:18px; } h3 { font-size:16px; } h4 { font-size:15px; } h5 { font-size:14px; } h6 { font-size:13px; } ul { list-style-type:disc; } code, tt { font-family:'DejaVu Sans Mono', monospace; } :not(h1, h2, h3, h4, h5, h6) > code, :not(h1, h2, h3, h4, h5, h6) > tt { font-size:14px; padding-top:4px; margin-top:8px; line-height:1.4em; } dt code { font-family:'DejaVu Sans Mono', monospace; font-size:14px; padding-top:4px; } .summary-table dt code { font-family:'DejaVu Sans Mono', monospace; font-size:14px; vertical-align:top; padding-top:4px; } sup { font-size:8px; } button { font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; font-size: 14px; } /* * Styles for HTML generated by javadoc. * * These are style classes that are used by the standard doclet to generate HTML documentation. */ /* * Styles for document title and copyright. */ .clear { clear:both; height:0; overflow:hidden; } .about-language { float:right; padding:0 21px 8px 8px; font-size:11px; margin-top:-9px; height:2.9em; } .legal-copy { margin-left:.5em; } .tab { background-color:#0066FF; color:#ffffff; padding:8px; width:5em; font-weight:bold; } /* * Styles for navigation bar. */ @media screen { .flex-box { position:fixed; display:flex; flex-direction:column; height: 100%; width: 100%; } .flex-header { flex: 0 0 auto; } .flex-content { flex: 1 1 auto; overflow-y: auto; } } .top-nav { background-color:#4D7A97; color:#FFFFFF; float:left; padding:0; width:100%; clear:right; min-height:2.8em; padding-top:10px; overflow:hidden; font-size:12px; } .sub-nav { background-color:#dee3e9; float:left; width:100%; overflow:hidden; font-size:12px; } .sub-nav div { clear:left; float:left; padding:0 0 5px 6px; text-transform:uppercase; } .sub-nav .nav-list { padding-top:5px; } ul.nav-list { display:block; margin:0 25px 0 0; padding:0; } ul.sub-nav-list { float:left; margin:0 25px 0 0; padding:0; } ul.nav-list li { list-style:none; float:left; padding: 5px 6px; text-transform:uppercase; } .sub-nav .nav-list-search { float:right; margin:0 0 0 0; padding:5px 6px; clear:none; } .nav-list-search label { position:relative; right:-16px; } ul.sub-nav-list li { list-style:none; float:left; padding-top:10px; } .top-nav a:link, .top-nav a:active, .top-nav a:visited { color:#FFFFFF; text-decoration:none; text-transform:uppercase; } .top-nav a:hover { text-decoration:none; color:#bb7a2a; text-transform:uppercase; } .nav-bar-cell1-rev { background-color:#F8981D; color:#253441; margin: auto 5px; } .skip-nav { position:absolute; top:auto; left:-9999px; overflow:hidden; } /* * Hide navigation links and search box in print layout */ @media print { ul.nav-list, div.sub-nav { display:none; } } /* * Styles for page header and footer. */ .title { color:#2c4557; margin:10px 0; } .sub-title { margin:5px 0 0 0; } .header ul { margin:0 0 15px 0; padding:0; } .header ul li, .footer ul li { list-style:none; font-size:13px; } /* * Styles for headings. */ body.class-declaration-page .summary h2, body.class-declaration-page .details h2, body.class-use-page h2, body.module-declaration-page .block-list h2 { font-style: italic; padding:0; margin:15px 0; } body.class-declaration-page .summary h3, body.class-declaration-page .details h3, body.class-declaration-page .summary .inherited-list h2 { background-color:#dee3e9; border:1px solid #d0d9e0; margin:0 0 6px -8px; padding:7px 5px; } /* * Styles for page layout containers. */ main { clear:both; padding:10px 20px; position:relative; } dl.notes > dt { font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; margin:10px 0 0 0; color:#4E4E4E; } dl.notes > dd { margin:5px 10px 10px 0; font-size:14px; font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; } dl.name-value > dt { margin-left:1px; font-size:1.1em; display:inline; font-weight:bold; } dl.name-value > dd { margin:0 0 0 1px; font-size:1.1em; display:inline; } /* * Styles for lists. */ li.circle { list-style:circle; } ul.horizontal li { display:inline; font-size:0.9em; } div.inheritance { margin:0; padding:0; } div.inheritance div.inheritance { margin-left:2em; } ul.block-list, ul.details-list, ul.member-list, ul.summary-list { margin:10px 0 10px 0; padding:0; } ul.block-list > li, ul.details-list > li, ul.member-list > li, ul.summary-list > li { list-style:none; margin-bottom:15px; line-height:1.4; } .summary-table dl, .summary-table dl dt, .summary-table dl dd { margin-top:0; margin-bottom:1px; } ul.see-list, ul.see-list-long { padding-left: 0; list-style: none; } ul.see-list li { display: inline; } ul.see-list li:not(:last-child):after, ul.see-list-long li:not(:last-child):after { content: ", "; white-space: pre-wrap; } /* * Styles for tables. */ .summary-table, .details-table { width:100%; border-spacing:0; border-left:1px solid #EEE; border-right:1px solid #EEE; border-bottom:1px solid #EEE; padding:0; } .caption { position:relative; text-align:left; background-repeat:no-repeat; color:#253441; font-weight:bold; clear:none; overflow:hidden; padding:0; padding-top:10px; padding-left:1px; margin:0; white-space:pre; } .caption a:link, .caption a:visited { color:#1f389c; } .caption a:hover, .caption a:active { color:#FFFFFF; } .caption span { white-space:nowrap; padding-top:5px; padding-left:12px; padding-right:12px; padding-bottom:7px; display:inline-block; float:left; background-color:#F8981D; border: none; height:16px; } div.table-tabs { padding:10px 0 0 1px; margin:0; } div.table-tabs > button { border: none; cursor: pointer; padding: 5px 12px 7px 12px; font-weight: bold; margin-right: 3px; } div.table-tabs > button.active-table-tab { background: #F8981D; color: #253441; } div.table-tabs > button.table-tab { background: #4D7A97; color: #FFFFFF; } .two-column-summary { display: grid; grid-template-columns: minmax(15%, max-content) minmax(15%, auto); } .three-column-summary { display: grid; grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); } .four-column-summary { display: grid; grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); } @media screen and (max-width: 600px) { .two-column-summary { display: grid; grid-template-columns: 1fr; } } @media screen and (max-width: 800px) { .three-column-summary { display: grid; grid-template-columns: minmax(10%, max-content) minmax(25%, auto); } .three-column-summary .col-last { grid-column-end: span 2; } } @media screen and (max-width: 1000px) { .four-column-summary { display: grid; grid-template-columns: minmax(15%, max-content) minmax(15%, auto); } } .summary-table > div, .details-table > div { text-align:left; padding: 8px 3px 3px 7px; } .col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { vertical-align:top; padding-right:0; padding-top:8px; padding-bottom:3px; } .table-header { background:#dee3e9; font-weight: bold; } .col-first, .col-first { font-size:13px; } .col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { font-size:13px; } .col-first, .col-second, .col-constructor-name { vertical-align:top; overflow: auto; } .col-last { white-space:normal; } .col-first a:link, .col-first a:visited, .col-second a:link, .col-second a:visited, .col-first a:link, .col-first a:visited, .col-second a:link, .col-second a:visited, .col-constructor-name a:link, .col-constructor-name a:visited, .col-summary-item-name a:link, .col-summary-item-name a:visited, .constant-values-container a:link, .constant-values-container a:visited, .all-classes-container a:link, .all-classes-container a:visited, .all-packages-container a:link, .all-packages-container a:visited { font-weight:bold; } .table-sub-heading-color { background-color:#EEEEFF; } .even-row-color, .even-row-color .table-header { background-color:#FFFFFF; } .odd-row-color, .odd-row-color .table-header { background-color:#EEEEEF; } /* * Styles for contents. */ .deprecated-content { margin:0; padding:10px 0; } div.block { font-size:14px; font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; } .col-last div { padding-top:0; } .col-last a { padding-bottom:3px; } .module-signature, .package-signature, .type-signature, .member-signature { font-family:'DejaVu Sans Mono', monospace; font-size:14px; margin:14px 0; white-space: pre-wrap; } .module-signature, .package-signature, .type-signature { margin-top: 0; } .member-signature .type-parameters-long, .member-signature .parameters, .member-signature .exceptions { display: inline-block; vertical-align: top; white-space: pre; } .member-signature .type-parameters { white-space: normal; } /* * Styles for formatting effect. */ .source-line-no { color:green; padding:0 30px 0 0; } h1.hidden { visibility:hidden; overflow:hidden; font-size:10px; } .block { display:block; margin:0 10px 5px 0; color:#474747; } .deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, .module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, .package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { font-weight:bold; } .deprecation-comment, .help-footnote, .preview-comment { font-style:italic; } .deprecation-block { font-size:14px; font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; border-style:solid; border-width:thin; border-radius:10px; padding:10px; margin-bottom:10px; margin-right:10px; display:inline-block; } .preview-block { font-size:14px; font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; border-style:solid; border-width:thin; border-radius:10px; padding:10px; margin-bottom:10px; margin-right:10px; display:inline-block; } div.block div.deprecation-comment { font-style:normal; } /* * Styles specific to HTML5 elements. */ main, nav, header, footer, section { display:block; } /* * Styles for javadoc search. */ .ui-autocomplete-category { font-weight:bold; font-size:15px; padding:7px 0 7px 3px; background-color:#4D7A97; color:#FFFFFF; } .result-item { font-size:13px; } .ui-autocomplete { max-height:85%; max-width:65%; overflow-y:scroll; overflow-x:scroll; white-space:nowrap; box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); } ul.ui-autocomplete { position:fixed; z-index:999999; background-color: #FFFFFF; } ul.ui-autocomplete li { float:left; clear:both; width:100%; } .result-highlight { font-weight:bold; } .ui-autocomplete .result-item { font-size: inherit; } #search-input { background-image:url('resources/glass.png'); background-size:13px; background-repeat:no-repeat; background-position:2px 3px; padding-left:20px; position:relative; right:-18px; width:400px; } #reset-button { background-color: rgb(255,255,255); background-image:url('resources/x.png'); background-position:center; background-repeat:no-repeat; background-size:12px; border:0 none; width:16px; height:16px; position:relative; left:-4px; top:-4px; font-size:0px; } .watermark { color:#545454; } .search-tag-desc-result { font-style:italic; font-size:11px; } .search-tag-holder-result { font-style:italic; font-size:12px; } .search-tag-result:target { background-color:yellow; } .module-graph span { display:none; position:absolute; } .module-graph:hover span { display:block; margin: -100px 0 0 100px; z-index: 1; } .inherited-list { margin: 10px 0 10px 0; } section.class-description { line-height: 1.4; } .summary section[class$="-summary"], .details section[class$="-details"], .class-uses .detail, .serialized-class-details { padding: 0px 20px 5px 10px; border: 1px solid #ededed; background-color: #f8f8f8; } .inherited-list, section[class$="-details"] .detail { padding:0 0 5px 8px; background-color:#ffffff; border:none; } .vertical-separator { padding: 0 5px; } ul.help-section-list { margin: 0; } ul.help-subtoc > li { display: inline-block; padding-right: 5px; font-size: smaller; } ul.help-subtoc > li::before { content: "\2022" ; padding-right:2px; } span.help-note { font-style: italic; } /* * Indicator icon for external links. */ main a[href*="://"]::after { content:""; display:inline-block; background-image:url('data:image/svg+xml; utf8, \ \ \ '); background-size:100% 100%; width:7px; height:7px; margin-left:2px; margin-bottom:4px; } main a[href*="://"]:hover::after, main a[href*="://"]:focus::after { background-image:url('data:image/svg+xml; utf8, \ \ \ '); } /* * Styles for user-provided tables. * * borderless: * No borders, vertical margins, styled caption. * This style is provided for use with existing doc comments. * In general, borderless tables should not be used for layout purposes. * * plain: * Plain borders around table and cells, vertical margins, styled caption. * Best for small tables or for complex tables for tables with cells that span * rows and columns, when the "striped" style does not work well. * * striped: * Borders around the table and vertical borders between cells, striped rows, * vertical margins, styled caption. * Best for tables that have a header row, and a body containing a series of simple rows. */ table.borderless, table.plain, table.striped { margin-top: 10px; margin-bottom: 10px; } table.borderless > caption, table.plain > caption, table.striped > caption { font-weight: bold; font-size: smaller; } table.borderless th, table.borderless td, table.plain th, table.plain td, table.striped th, table.striped td { padding: 2px 5px; } table.borderless, table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { border: none; } table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { background-color: transparent; } table.plain { border-collapse: collapse; border: 1px solid black; } table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { background-color: transparent; } table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { border: 1px solid black; } table.striped { border-collapse: collapse; border: 1px solid black; } table.striped > thead { background-color: #E3E3E3; } table.striped > thead > tr > th, table.striped > thead > tr > td { border: 1px solid black; } table.striped > tbody > tr:nth-child(even) { background-color: #EEE } table.striped > tbody > tr:nth-child(odd) { background-color: #FFF } table.striped > tbody > tr > th, table.striped > tbody > tr > td { border-left: 1px solid black; border-right: 1px solid black; } table.striped > tbody > tr > th { font-weight: normal; } /** * Tweak font sizes and paddings for small screens. */ @media screen and (max-width: 1050px) { #search-input { width: 300px; } } @media screen and (max-width: 800px) { #search-input { width: 200px; } .top-nav, .bottom-nav { font-size: 11px; padding-top: 6px; } .sub-nav { font-size: 11px; } .about-language { padding-right: 16px; } ul.nav-list li, .sub-nav .nav-list-search { padding: 6px; } ul.sub-nav-list li { padding-top: 5px; } main { padding: 10px; } .summary section[class$="-summary"], .details section[class$="-details"], .class-uses .detail, .serialized-class-details { padding: 0 8px 5px 8px; } body { -webkit-text-size-adjust: none; } } @media screen and (max-width: 500px) { #search-input { width: 150px; } .top-nav, .bottom-nav { font-size: 10px; } .sub-nav { font-size: 10px; } .about-language { font-size: 10px; padding-right: 12px; } } ================================================ FILE: docs/dapr-sdk-workflows/tag-search-index.js ================================================ tagSearchIndex = [];updateSearchResults(); ================================================ FILE: docs/dapr-sdk-workflows/type-search-index.js ================================================ typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"io.dapr.workflows.internal","l":"ApiTokenClientInterceptor"},{"p":"io.dapr.workflows","l":"WorkflowTaskRetryPolicy.Builder"},{"p":"io.dapr.workflows.client","l":"DaprWorkflowClient"},{"p":"io.dapr.workflows.runtime","l":"DefaultWorkflowActivityContext"},{"p":"io.dapr.workflows.runtime","l":"DefaultWorkflowContext"},{"p":"io.dapr.workflows.runtime","l":"DefaultWorkflowFailureDetails"},{"p":"io.dapr.workflows.runtime","l":"DefaultWorkflowInstanceStatus"},{"p":"io.dapr.workflows.runtime","l":"DefaultWorkflowState"},{"p":"io.dapr.workflows.client","l":"NewWorkflowOptions"},{"p":"io.dapr.workflows","l":"Workflow"},{"p":"io.dapr.workflows","l":"WorkflowActivity"},{"p":"io.dapr.workflows.runtime","l":"WorkflowActivityClassWrapper"},{"p":"io.dapr.workflows","l":"WorkflowActivityContext"},{"p":"io.dapr.workflows.runtime","l":"WorkflowActivityInstanceWrapper"},{"p":"io.dapr.workflows","l":"WorkflowContext"},{"p":"io.dapr.workflows.client","l":"WorkflowFailureDetails"},{"p":"io.dapr.workflows.client","l":"WorkflowInstanceStatus"},{"p":"io.dapr.workflows.runtime","l":"WorkflowRuntime"},{"p":"io.dapr.workflows.runtime","l":"WorkflowRuntimeBuilder"},{"p":"io.dapr.workflows.client","l":"WorkflowRuntimeStatus"},{"p":"io.dapr.workflows.runtime","l":"WorkflowRuntimeStatusConverter"},{"p":"io.dapr.workflows.client","l":"WorkflowState"},{"p":"io.dapr.workflows","l":"WorkflowStub"},{"p":"io.dapr.workflows","l":"WorkflowTaskOptions"},{"p":"io.dapr.workflows","l":"WorkflowTaskRetryContext"},{"p":"io.dapr.workflows","l":"WorkflowTaskRetryHandler"},{"p":"io.dapr.workflows","l":"WorkflowTaskRetryPolicy"},{"p":"io.dapr.workflows.runtime","l":"WorkflowVersionWrapper"}];updateSearchResults(); ================================================ FILE: docs/deprecated-list.html ================================================ Deprecated List (dapr-sdk-parent 1.17.2 API)

    ================================================ FILE: docs/element-list ================================================ io.dapr io.dapr.actors io.dapr.actors.client io.dapr.actors.runtime io.dapr.client io.dapr.client.domain io.dapr.client.domain.query io.dapr.client.domain.query.filters io.dapr.client.resiliency io.dapr.config io.dapr.durabletask io.dapr.durabletask.implementation.protobuf io.dapr.durabletask.interruption io.dapr.durabletask.orchestration io.dapr.durabletask.orchestration.exception io.dapr.durabletask.runner io.dapr.durabletask.util io.dapr.exceptions io.dapr.internal.exceptions io.dapr.internal.grpc io.dapr.internal.grpc.interceptors io.dapr.internal.opencensus io.dapr.internal.resiliency io.dapr.internal.subscription io.dapr.serializer io.dapr.spring.boot.autoconfigure.client io.dapr.spring.boot.properties.client io.dapr.spring.boot.properties.pubsub io.dapr.spring.boot.properties.statestore io.dapr.spring.boot.testcontainers.service.connection io.dapr.spring.boot4.autoconfigure.client io.dapr.spring.data io.dapr.spring.data.repository.config io.dapr.spring.data.repository.query io.dapr.spring.messaging io.dapr.spring.messaging.observation io.dapr.spring.workflows.config io.dapr.spring.workflows.config.annotations io.dapr.spring6.data io.dapr.spring6.data.repository.config io.dapr.spring6.data.repository.query io.dapr.testcontainers io.dapr.testcontainers.converter io.dapr.testcontainers.wait.strategy io.dapr.testcontainers.wait.strategy.metadata io.dapr.utils io.dapr.v1 io.dapr.workflows io.dapr.workflows.client io.dapr.workflows.internal io.dapr.workflows.runtime ================================================ FILE: docs/help-doc.html ================================================ API Help (dapr-sdk-parent 1.17.2 API)

    JavaDoc Help


    Navigation

    Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces

    Kinds of Pages

    The following sections describe the different kinds of pages in this collection.

    Overview

    The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

    Package

    Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

    • Interfaces
    • Classes
    • Enums
    • Exceptions
    • Errors
    • Annotation Types

    Class or Interface

    Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

    • Class Inheritance Diagram
    • Direct Subclasses
    • All Known Subinterfaces
    • All Known Implementing Classes
    • Class or Interface Declaration
    • Class or Interface Description

    • Nested Class Summary
    • Enum Constant Summary
    • Field Summary
    • Property Summary
    • Constructor Summary
    • Method Summary
    • Required Element Summary
    • Optional Element Summary

    • Enum Constant Details
    • Field Details
    • Property Details
    • Constructor Details
    • Method Details
    • Element Details

    Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

    The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

    Other Files

    Packages and modules may contain pages with additional information related to the declarations nearby.

    Use

    Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the USE link in the navigation bar.

    Tree (Class Hierarchy)

    There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

    • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
    • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.

    Deprecated API

    The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to shortcomings, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

    Constant Field Values

    The Constant Field Values page lists the static final fields and their values.

    Serialized Form

    Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.

    All Packages

    The All Packages page contains an alphabetic index of all packages contained in the documentation.

    All Classes and Interfaces

    The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

    Index

    The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.


    This help file applies to API documentation generated by the standard doclet.

    ================================================ FILE: docs/index-all.html ================================================ [File too large to display: 12.3 MB] ================================================ FILE: docs/index.html ================================================ Overview (dapr-sdk-parent 1.17.2 API)

    dapr-sdk-parent 1.17.2 API

    Packages
    Package
    Description
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    ================================================ FILE: docs/io/dapr/Rule.html ================================================ Rule (dapr-sdk-parent 1.17.2 API)
    Package io.dapr

    Annotation Type Rule


    • Required Element Summary

      Required Elements
      Modifier and Type
      Required Element
      Description
      The Common Expression Language (CEL) expression to use to match the incoming cloud event.
      int
      Priority of the rule used for ordering.
    • Element Details

      • match

        String match
        The Common Expression Language (CEL) expression to use to match the incoming cloud event. Examples.
        Returns:
        the CEL expression.
      • priority

        int priority
        Priority of the rule used for ordering. Lowest numbers have higher priority.
        Returns:
        the rule's priority.

    ================================================ FILE: docs/io/dapr/Topic.html ================================================ Topic (dapr-sdk-parent 1.17.2 API)
    Package io.dapr

    Annotation Type Topic


    @Documented @Target(METHOD) @Retention(RUNTIME) public @interface Topic
    • Required Element Summary

      Required Elements
      Modifier and Type
      Required Element
      Description
      Name of topic to be subscribed to.
      Name of the pubsub bus to be subscribed to.
    • Optional Element Summary

      Optional Elements
      Modifier and Type
      Optional Element
      Description
      Name of dead letter topic to forward undeliverable messages.
      Metadata in the form of a json object.
      The rules used to match the incoming cloud event.
    • Element Details

      • name

        String name
        Name of topic to be subscribed to.
        Returns:
        Topic's name.
      • pubsubName

        String pubsubName
        Name of the pubsub bus to be subscribed to.
        Returns:
        pubsub bus's name.
      • rule

        Rule rule
        The rules used to match the incoming cloud event.
        Returns:
        the CEL expression.
        Default:
        @io.dapr.Rule(match="", priority=0)
      • metadata

        String metadata
        Metadata in the form of a json object. { "mykey": "myvalue" }
        Returns:
        metadata object
        Default:
        "{}"
      • deadLetterTopic

        String deadLetterTopic
        Name of dead letter topic to forward undeliverable messages.
        Returns:
        dead letter topic's name.
        Default:
        ""

    ================================================ FILE: docs/io/dapr/actors/ActorId.html ================================================ ActorId (dapr-sdk-parent 1.17.2 API)

    Class ActorId

    java.lang.Object
    io.dapr.actors.ActorId
    All Implemented Interfaces:
    Comparable<ActorId>

    public class ActorId extends Object implements Comparable<ActorId>
    The ActorId represents the identity of an actor within an actor service.
    • Constructor Summary

      Constructors
      Constructor
      Description
      Initializes a new instance of the ActorId class with the id passed in.
    • Method Summary

      Modifier and Type
      Method
      Description
      int
      Compares this instance with a specified {link #ActorId} object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified actorId.
      static ActorId
      Creates a new ActorId with a random id.
      boolean
      Checks if this instance is equals to the other instance.
      int
      Calculates the hash code for this ActorId.
      Returns the String representation of this Actor's identifier.

      Methods inherited from class java.lang.Object

      clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Details

      • ActorId

        public ActorId(String id)
        Initializes a new instance of the ActorId class with the id passed in.
        Parameters:
        id - Value for actor id
    • Method Details

      • toString

        public String toString()
        Returns the String representation of this Actor's identifier.
        Overrides:
        toString in class Object
        Returns:
        The String representation of this ActorId
      • compareTo

        public int compareTo(ActorId other)
        Compares this instance with a specified {link #ActorId} object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified actorId. The comparison is done based on the id if both the instances.
        Specified by:
        compareTo in interface Comparable<ActorId>
        Parameters:
        other - The actorId to compare with this instance.
        Returns:
        A 32-bit signed integer that indicates whether this instance precedes, follows, or appears in the same position in the sort order as the other parameter.
      • hashCode

        public int hashCode()
        Calculates the hash code for this ActorId.
        Overrides:
        hashCode in class Object
        Returns:
        The hash code of this ActorId.
      • equals

        public boolean equals(Object obj)
        Checks if this instance is equals to the other instance.
        Overrides:
        equals in class Object
        Returns:
        true if the 2 ActorId's are equal.
      • createRandom

        public static ActorId createRandom()
        Creates a new ActorId with a random id.
        Returns:
        A new ActorId with a random id.

    ================================================ FILE: docs/io/dapr/actors/ActorMethod.html ================================================ ActorMethod (dapr-sdk-parent 1.17.2 API)

    Annotation Type ActorMethod


    @Documented @Target(METHOD) @Retention(RUNTIME) public @interface ActorMethod
    • Optional Element Summary

      Optional Elements
      Modifier and Type
      Optional Element
      Description
      Actor's method name.
      Actor's method return type.
    • Element Details

      • returns

        Class returns
        Actor's method return type. This is required when result object is within a Mono response.
        Returns:
        Actor's method return type.
        Default:
        io.dapr.actors.Undefined.class
      • name

        String name
        Actor's method name. This is optional and will override the method's default name for actor invocation.
        Returns:
        Actor's method name.
        Default:
        ""

    ================================================ FILE: docs/io/dapr/actors/ActorTrace.html ================================================ ActorTrace (dapr-sdk-parent 1.17.2 API)

    Class ActorTrace

    java.lang.Object
    io.dapr.actors.ActorTrace

    public final class ActorTrace extends Object
    Class to emit trace log messages.
    • Constructor Details

      • ActorTrace

        public ActorTrace()
    • Method Details

      • writeInfo

        public void writeInfo(String type, String id, String msgFormat, Object... params)
        Writes an information trace log.
        Parameters:
        type - Type of log.
        id - Instance identifier.
        msgFormat - Message or message format (with type and id input as well).
        params - Params for the message.
      • writeWarning

        public void writeWarning(String type, String id, String msgFormat, Object... params)
        Writes an warning trace log.
        Parameters:
        type - Type of log.
        id - Instance identifier.
        msgFormat - Message or message format (with type and id input as well).
        params - Params for the message.
      • writeError

        public void writeError(String type, String id, String msgFormat, Object... params)
        Writes an error trace log.
        Parameters:
        type - Type of log.
        id - Instance identifier.
        msgFormat - Message or message format (with type and id input as well).
        params - Params for the message.

    ================================================ FILE: docs/io/dapr/actors/ActorType.html ================================================ ActorType (dapr-sdk-parent 1.17.2 API)

    Annotation Type ActorType


    @Documented @Target({TYPE_USE,TYPE}) @Retention(RUNTIME) public @interface ActorType
    Annotation to define Actor class.
    • Required Element Summary

      Required Elements
      Modifier and Type
      Required Element
      Description
      Overrides Actor's name.
    • Element Details

      • name

        String name
        Overrides Actor's name.
        Returns:
        Actor's name.

    ================================================ FILE: docs/io/dapr/actors/ActorUtils.html ================================================ ActorUtils (dapr-sdk-parent 1.17.2 API)

    Class ActorUtils

    java.lang.Object
    io.dapr.actors.ActorUtils

    public final class ActorUtils extends Object
    • Constructor Details

      • ActorUtils

        public ActorUtils()
    • Method Details

      • findActorTypeName

        public static String findActorTypeName(Class<?> actorClass)
        Finds the actor type name for the given class or interface.
        Parameters:
        actorClass - Class or interface for Actor Type.
        Returns:
        Name for Actor Type.

    ================================================ FILE: docs/io/dapr/actors/class-use/ActorId.html ================================================ Uses of Class io.dapr.actors.ActorId (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.ActorId

    Packages that use ActorId

    ================================================ FILE: docs/io/dapr/actors/class-use/ActorMethod.html ================================================ Uses of Annotation Type io.dapr.actors.ActorMethod (dapr-sdk-parent 1.17.2 API)

    Uses of Annotation Type
    io.dapr.actors.ActorMethod

    No usage of io.dapr.actors.ActorMethod

    ================================================ FILE: docs/io/dapr/actors/class-use/ActorTrace.html ================================================ Uses of Class io.dapr.actors.ActorTrace (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.ActorTrace

    No usage of io.dapr.actors.ActorTrace

    ================================================ FILE: docs/io/dapr/actors/class-use/ActorType.html ================================================ Uses of Annotation Type io.dapr.actors.ActorType (dapr-sdk-parent 1.17.2 API)

    Uses of Annotation Type
    io.dapr.actors.ActorType

    No usage of io.dapr.actors.ActorType

    ================================================ FILE: docs/io/dapr/actors/class-use/ActorUtils.html ================================================ Uses of Class io.dapr.actors.ActorUtils (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.ActorUtils

    No usage of io.dapr.actors.ActorUtils

    ================================================ FILE: docs/io/dapr/actors/client/ActorClient.html ================================================ ActorClient (dapr-sdk-parent 1.17.2 API)

    Class ActorClient

    java.lang.Object
    io.dapr.actors.client.ActorClient
    All Implemented Interfaces:
    AutoCloseable

    public class ActorClient extends Object implements AutoCloseable
    Holds a client for Dapr sidecar communication. ActorClient should be reused.
    • Constructor Details

      • ActorClient

        public ActorClient()
        Instantiates a new channel for Dapr sidecar communication.
      • ActorClient

        public ActorClient(ResiliencyOptions resiliencyOptions)
        Instantiates a new channel for Dapr sidecar communication.
        Parameters:
        resiliencyOptions - Client resiliency options.
      • ActorClient

        public ActorClient(Properties overrideProperties)
        Instantiates a new channel for Dapr sidecar communication.
        Parameters:
        overrideProperties - Override properties.
      • ActorClient

        public ActorClient(Properties overrideProperties, ResiliencyOptions resiliencyOptions)
        Instantiates a new channel for Dapr sidecar communication.
        Parameters:
        overrideProperties - Override properties.
        resiliencyOptions - Client resiliency options.
      • ActorClient

        public ActorClient(Properties overrideProperties, Map<String,String> metadata, ResiliencyOptions resiliencyOptions)
        Instantiates a new channel for Dapr sidecar communication.
        Parameters:
        overrideProperties - Override properties.
        metadata - gRPC metadata or HTTP headers for actor invocation.
        resiliencyOptions - Client resiliency options.
    • Method Details


    ================================================ FILE: docs/io/dapr/actors/client/ActorProxy.html ================================================ ActorProxy (dapr-sdk-parent 1.17.2 API)

    Interface ActorProxy


    public interface ActorProxy
    Proxy to communicate to a given Actor instance in Dapr.
    • Method Summary

      Modifier and Type
      Method
      Description
      Returns the ActorId associated with the proxy object.
      Returns actor implementation type of the actor associated with the proxy object.
      reactor.core.publisher.Mono<Void>
      invokeMethod(String methodName)
      Invokes an Actor method on Dapr.
      <T> reactor.core.publisher.Mono<T>
      invokeMethod(String methodName, TypeRef<T> type)
      Invokes an Actor method on Dapr.
      <T> reactor.core.publisher.Mono<T>
      invokeMethod(String methodName, Class<T> clazz)
      Invokes an Actor method on Dapr.
      reactor.core.publisher.Mono<Void>
      invokeMethod(String methodName, Object data)
      Invokes an Actor method on Dapr.
      <T> reactor.core.publisher.Mono<T>
      invokeMethod(String methodName, Object data, TypeRef<T> type)
      Invokes an Actor method on Dapr.
      <T> reactor.core.publisher.Mono<T>
      invokeMethod(String methodName, Object data, Class<T> clazz)
      Invokes an Actor method on Dapr.
    • Method Details

      • getActorId

        ActorId getActorId()
        Returns the ActorId associated with the proxy object.
        Returns:
        An ActorId object.
      • getActorType

        String getActorType()
        Returns actor implementation type of the actor associated with the proxy object.
        Returns:
        Actor's type name.
      • invokeMethod

        <T> reactor.core.publisher.Mono<T> invokeMethod(String methodName, TypeRef<T> type)
        Invokes an Actor method on Dapr.
        Type Parameters:
        T - The type to be returned.
        Parameters:
        methodName - Method name to invoke.
        type - The type of the return class.
        Returns:
        Asynchronous result with the Actor's response.
      • invokeMethod

        <T> reactor.core.publisher.Mono<T> invokeMethod(String methodName, Class<T> clazz)
        Invokes an Actor method on Dapr.
        Type Parameters:
        T - The type to be returned.
        Parameters:
        methodName - Method name to invoke.
        clazz - The type of the return class.
        Returns:
        Asynchronous result with the Actor's response.
      • invokeMethod

        <T> reactor.core.publisher.Mono<T> invokeMethod(String methodName, Object data, TypeRef<T> type)
        Invokes an Actor method on Dapr.
        Type Parameters:
        T - The type to be returned.
        Parameters:
        methodName - Method name to invoke.
        data - Object with the data.
        type - The type of the return class.
        Returns:
        Asynchronous result with the Actor's response.
      • invokeMethod

        <T> reactor.core.publisher.Mono<T> invokeMethod(String methodName, Object data, Class<T> clazz)
        Invokes an Actor method on Dapr.
        Type Parameters:
        T - The type to be returned.
        Parameters:
        methodName - Method name to invoke.
        data - Object with the data.
        clazz - The type of the return class.
        Returns:
        Asynchronous result with the Actor's response.
      • invokeMethod

        reactor.core.publisher.Mono<Void> invokeMethod(String methodName)
        Invokes an Actor method on Dapr.
        Parameters:
        methodName - Method name to invoke.
        Returns:
        Asynchronous result with the Actor's response.
      • invokeMethod

        reactor.core.publisher.Mono<Void> invokeMethod(String methodName, Object data)
        Invokes an Actor method on Dapr.
        Parameters:
        methodName - Method name to invoke.
        data - Object with the data.
        Returns:
        Asynchronous result with the Actor's response.

    ================================================ FILE: docs/io/dapr/actors/client/ActorProxyBuilder.html ================================================ ActorProxyBuilder (dapr-sdk-parent 1.17.2 API)

    Class ActorProxyBuilder<T>

    java.lang.Object
    io.dapr.actors.client.ActorProxyBuilder<T>

    public class ActorProxyBuilder<T> extends Object
    Builder to generate an ActorProxy instance. Builder can be reused for multiple instances.
    • Constructor Details

      • ActorProxyBuilder

        public ActorProxyBuilder(Class<T> actorTypeClass, ActorClient actorClient)
        Instantiates a new builder for a given Actor type, using DefaultObjectSerializer by default. DefaultObjectSerializer is not recommended for production scenarios.
        Parameters:
        actorTypeClass - Actor's type class.
        actorClient - Dapr's sidecar client for Actor APIs.
      • ActorProxyBuilder

        public ActorProxyBuilder(String actorType, Class<T> actorTypeClass, ActorClient actorClient)
        Instantiates a new builder for a given Actor type, using DefaultObjectSerializer by default. DefaultObjectSerializer is not recommended for production scenarios.
        Parameters:
        actorType - Actor's type.
        actorTypeClass - Actor's type class.
        actorClient - Dapr's sidecar client for Actor APIs.
    • Method Details

      • withObjectSerializer

        public ActorProxyBuilder<T> withObjectSerializer(DaprObjectSerializer objectSerializer)
        Instantiates a new builder for a given Actor type, using DefaultObjectSerializer.
        Parameters:
        objectSerializer - Serializer for objects sent/received.
        Returns:
        This instance.
      • build

        public T build(ActorId actorId)
        Instantiates a new ActorProxy.
        Parameters:
        actorId - Actor's identifier.
        Returns:
        New instance of ActorProxy.

    ================================================ FILE: docs/io/dapr/actors/client/class-use/ActorClient.html ================================================ Uses of Class io.dapr.actors.client.ActorClient (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.client.ActorClient

    Packages that use ActorClient
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/client/class-use/ActorProxy.html ================================================ Uses of Interface io.dapr.actors.client.ActorProxy (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.actors.client.ActorProxy

    No usage of io.dapr.actors.client.ActorProxy

    ================================================ FILE: docs/io/dapr/actors/client/class-use/ActorProxyBuilder.html ================================================ Uses of Class io.dapr.actors.client.ActorProxyBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.client.ActorProxyBuilder

    Packages that use ActorProxyBuilder
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/client/package-summary.html ================================================ io.dapr.actors.client (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.actors.client


    package io.dapr.actors.client

    ================================================ FILE: docs/io/dapr/actors/client/package-tree.html ================================================ io.dapr.actors.client Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.actors.client

    Package Hierarchies:

    Class Hierarchy

    Interface Hierarchy


    ================================================ FILE: docs/io/dapr/actors/client/package-use.html ================================================ Uses of Package io.dapr.actors.client (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.actors.client

    Packages that use io.dapr.actors.client
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/package-summary.html ================================================ io.dapr.actors (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.actors


    package io.dapr.actors

    ================================================ FILE: docs/io/dapr/actors/package-tree.html ================================================ io.dapr.actors Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.actors

    Package Hierarchies:

    Class Hierarchy

    Annotation Type Hierarchy


    ================================================ FILE: docs/io/dapr/actors/package-use.html ================================================ Uses of Package io.dapr.actors (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.actors

    Packages that use io.dapr.actors

    ================================================ FILE: docs/io/dapr/actors/runtime/AbstractActor.html ================================================ AbstractActor (dapr-sdk-parent 1.17.2 API)

    Class AbstractActor

    java.lang.Object
    io.dapr.actors.runtime.AbstractActor

    public abstract class AbstractActor extends Object
    Represents the base class for actors. The base type for actors, that provides the common functionality for actors. The state is preserved across actor garbage collections and fail-overs.
    • Constructor Details

      • AbstractActor

        protected AbstractActor(ActorRuntimeContext runtimeContext, ActorId id)
        Instantiates a new Actor.
        Parameters:
        runtimeContext - Context for the runtime.
        id - Actor identifier.
    • Method Details

      • getId

        protected ActorId getId()
        Returns the id of the actor.
        Returns:
        Actor id.
      • getActorStateManager

        protected ActorStateManager getActorStateManager()
        Returns the state store manager for this Actor.
        Returns:
        State store manager for this Actor
      • registerReminder

        protected <T> reactor.core.publisher.Mono<Void> registerReminder(String reminderName, T state, Duration dueTime, Duration period)
        Registers a reminder for this Actor.
        Type Parameters:
        T - Type of the state object.
        Parameters:
        reminderName - Name of the reminder.
        state - State to be send along with reminder triggers.
        dueTime - Due time for the first trigger.
        period - Frequency for the triggers.
        Returns:
        Asynchronous void response.
      • registerActorTimer

        protected <T> reactor.core.publisher.Mono<String> registerActorTimer(String timerName, String callback, T state, Duration dueTime, Duration period)
        Registers a Timer for the actor. A timer name is autogenerated by the runtime to keep track of it.
        Type Parameters:
        T - Type for the state to be passed in to timer.
        Parameters:
        timerName - Name of the timer, unique per Actor (auto-generated if null).
        callback - Name of the method to be called.
        state - State to be passed it to the method when timer triggers.
        dueTime - The amount of time to delay before the async callback is first invoked. Specify negative one (-1) milliseconds to prevent the timer from starting. Specify zero (0) to start the timer immediately.
        period - The time interval between invocations of the async callback. Specify negative one (-1) milliseconds to disable periodic signaling.
        Returns:
        Asynchronous result with timer's name.
      • unregisterTimer

        protected reactor.core.publisher.Mono<Void> unregisterTimer(String timerName)
        Unregisters an Actor timer.
        Parameters:
        timerName - Name of Timer to be unregistered.
        Returns:
        Asynchronous void response.
      • unregisterReminder

        protected reactor.core.publisher.Mono<Void> unregisterReminder(String reminderName)
        Unregisters a Reminder.
        Parameters:
        reminderName - Name of Reminder to be unregistered.
        Returns:
        Asynchronous void response.
      • onActivate

        protected reactor.core.publisher.Mono<Void> onActivate()
        Callback function invoked after an Actor has been activated.
        Returns:
        Asynchronous void response.
      • onDeactivate

        protected reactor.core.publisher.Mono<Void> onDeactivate()
        Callback function invoked after an Actor has been deactivated.
        Returns:
        Asynchronous void response.
      • onPreActorMethod

        protected reactor.core.publisher.Mono<Void> onPreActorMethod(ActorMethodContext actorMethodContext)
        Callback function invoked before method is invoked.
        Parameters:
        actorMethodContext - Method context.
        Returns:
        Asynchronous void response.
      • onPostActorMethod

        protected reactor.core.publisher.Mono<Void> onPostActorMethod(ActorMethodContext actorMethodContext)
        Callback function invoked after method is invoked.
        Parameters:
        actorMethodContext - Method context.
        Returns:
        Asynchronous void response.
      • saveState

        protected reactor.core.publisher.Mono<Void> saveState()
        Saves the state of this Actor.
        Returns:
        Asynchronous void response.

    ================================================ FILE: docs/io/dapr/actors/runtime/ActorFactory.html ================================================ ActorFactory (dapr-sdk-parent 1.17.2 API)

    Interface ActorFactory<T extends AbstractActor>

    Type Parameters:
    T - Actor Type to be created.
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface public interface ActorFactory<T extends AbstractActor>
    Creates an actor of a given type.
    • Method Details

      • createActor

        T createActor(ActorRuntimeContext<T> actorRuntimeContext, ActorId actorId)
        Creates an Actor.
        Parameters:
        actorRuntimeContext - Actor type's context in the runtime.
        actorId - Actor Id.
        Returns:
        Actor or null it failed.

    ================================================ FILE: docs/io/dapr/actors/runtime/ActorMethodContext.html ================================================ ActorMethodContext (dapr-sdk-parent 1.17.2 API)

    Class ActorMethodContext

    java.lang.Object
    io.dapr.actors.runtime.ActorMethodContext

    public class ActorMethodContext extends Object
    Contains information about the method that is invoked by actor runtime.
    • Method Details

      • getMethodName

        public String getMethodName()
        Gets the name of the method invoked by actor runtime.
        Returns:
        The method name.
      • getCallType

        public io.dapr.actors.runtime.ActorCallType getCallType()
        Gets the call type to be used.
        Returns:
        Call type.

    ================================================ FILE: docs/io/dapr/actors/runtime/ActorObjectSerializer.html ================================================ ActorObjectSerializer (dapr-sdk-parent 1.17.2 API)

    Class ActorObjectSerializer

    java.lang.Object
    io.dapr.client.ObjectSerializer
    io.dapr.actors.runtime.ActorObjectSerializer

    public class ActorObjectSerializer extends ObjectSerializer
    Serializes and deserializes internal objects.
    • Constructor Details

      • ActorObjectSerializer

        public ActorObjectSerializer()
    • Method Details

      • serialize

        public byte[] serialize(Object state) throws IOException
        Serializes a given state object into byte array.
        Overrides:
        serialize in class ObjectSerializer
        Parameters:
        state - State object to be serialized.
        Returns:
        Array of bytes[] with the serialized content.
        Throws:
        IOException - In case state cannot be serialized.
      • deserialize

        public <T> T deserialize(byte[] content, Class<T> clazz) throws IOException
        Deserializes the byte array into the original object.
        Overrides:
        deserialize in class ObjectSerializer
        Type Parameters:
        T - Generic type of the object being deserialized.
        Parameters:
        content - Content to be parsed.
        clazz - Type of the object being deserialized.
        Returns:
        Object of type T.
        Throws:
        IOException - In case content cannot be deserialized.

    ================================================ FILE: docs/io/dapr/actors/runtime/ActorRuntime.html ================================================ ActorRuntime (dapr-sdk-parent 1.17.2 API)

    Class ActorRuntime

    java.lang.Object
    io.dapr.actors.runtime.ActorRuntime
    All Implemented Interfaces:
    Closeable, AutoCloseable

    public class ActorRuntime extends Object implements Closeable
    Contains methods to register actor types. Registering the types allows the runtime to create instances of the actor.
    • Method Details

      • getInstance

        public static ActorRuntime getInstance()
        Returns an ActorRuntime object.
        Returns:
        An ActorRuntime object.
      • getInstance

        public static ActorRuntime getInstance(Properties properties)
        Returns an ActorRuntime object.
        Parameters:
        properties - Properties to be used for the runtime.
        Returns:
        An ActorRuntime object.
      • getConfig

        public ActorRuntimeConfig getConfig()
        Gets the Actor configuration for this runtime.
        Returns:
        Actor configuration.
      • serializeConfig

        public byte[] serializeConfig() throws IOException
        Gets the Actor configuration for this runtime.
        Returns:
        Actor configuration serialized.
        Throws:
        IOException - If cannot serialize config.
      • registerActor

        public <T extends AbstractActor> void registerActor(Class<T> clazz)
        Registers an actor with the runtime, using DefaultObjectSerializer and DefaultActorFactory. DefaultObjectSerializer is not recommended for production scenarios.
        Type Parameters:
        T - Actor class type.
        Parameters:
        clazz - The type of actor.
      • registerActor

        public <T extends AbstractActor> void registerActor(Class<T> clazz, ActorFactory<T> actorFactory)
        Registers an actor with the runtime, using DefaultObjectSerializer. DefaultObjectSerializer is not recommended for production scenarios.
        Type Parameters:
        T - Actor class type.
        Parameters:
        clazz - The type of actor.
        actorFactory - An optional factory to create actors. This can be used for dependency injection.
      • registerActor

        public <T extends AbstractActor> void registerActor(Class<T> clazz, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer)
        Registers an actor with the runtime.
        Type Parameters:
        T - Actor class type.
        Parameters:
        clazz - The type of actor.
        objectSerializer - Serializer for Actor's request and response objects.
        stateSerializer - Serializer for Actor's state objects.
      • registerActor

        public <T extends AbstractActor> void registerActor(Class<T> clazz, ActorFactory<T> actorFactory, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer)
        Registers an actor with the runtime.
        Type Parameters:
        T - Actor class type.
        Parameters:
        clazz - The type of actor.
        actorFactory - An optional factory to create actors. This can be used for dependency injection.
        objectSerializer - Serializer for Actor's request and response objects.
        stateSerializer - Serializer for Actor's state objects.
      • deactivate

        public reactor.core.publisher.Mono<Void> deactivate(String actorTypeName, String actorId)
        Deactivates an actor for an actor type with given actor id.
        Parameters:
        actorTypeName - Actor type name to deactivate the actor for.
        actorId - Actor id for the actor to be deactivated.
        Returns:
        Async void task.
      • invoke

        public reactor.core.publisher.Mono<byte[]> invoke(String actorTypeName, String actorId, String actorMethodName, byte[] payload)
        Invokes the specified method for the actor, this is mainly used for cross language invocation.
        Parameters:
        actorTypeName - Actor type name to invoke the method for.
        actorId - Actor id for the actor for which method will be invoked.
        actorMethodName - Method name on actor type which will be invoked.
        payload - RAW payload for the actor method.
        Returns:
        Response for the actor method.
      • invokeReminder

        public reactor.core.publisher.Mono<Void> invokeReminder(String actorTypeName, String actorId, String reminderName, byte[] params)
        Fires a reminder for the Actor.
        Parameters:
        actorTypeName - Actor type name to invoke the method for.
        actorId - Actor id for the actor for which method will be invoked.
        reminderName - The name of reminder provided during registration.
        params - Params for the reminder.
        Returns:
        Async void task.
      • invokeTimer

        public reactor.core.publisher.Mono<Void> invokeTimer(String actorTypeName, String actorId, String timerName, byte[] params)
        Fires a timer for the Actor.
        Parameters:
        actorTypeName - Actor type name to invoke the method for.
        actorId - Actor id for the actor for which method will be invoked.
        timerName - The name of timer provided during registration.
        params - Params to trigger timer.
        Returns:
        Async void task.
      • close

        public void close()
        Specified by:
        close in interface AutoCloseable
        Specified by:
        close in interface Closeable

    ================================================ FILE: docs/io/dapr/actors/runtime/ActorRuntimeConfig.html ================================================ ActorRuntimeConfig (dapr-sdk-parent 1.17.2 API)

    Class ActorRuntimeConfig

    java.lang.Object
    io.dapr.actors.runtime.ActorRuntimeConfig

    public class ActorRuntimeConfig extends Object
    Represents the configuration for the Actor Runtime.
    • Method Details

      • getActorIdleTimeout

        public Duration getActorIdleTimeout()
        Gets the duration for Actors' timeout.
        Returns:
        Duration for Actors' timeout.
      • setActorIdleTimeout

        public ActorRuntimeConfig setActorIdleTimeout(Duration actorIdleTimeout)
        Sets the duration for Actors' timeout.
        Parameters:
        actorIdleTimeout - Duration for Actors' timeout.
        Returns:
        This instance.
      • getActorScanInterval

        public Duration getActorScanInterval()
        Gets the duration to scan for Actors.
        Returns:
        The duration to scan for Actors.
      • setActorScanInterval

        public ActorRuntimeConfig setActorScanInterval(Duration actorScanInterval)
        Sets the duration to scan for Actors.
        Parameters:
        actorScanInterval - The duration to scan for Actors.
        Returns:
        This instance.
      • getDrainOngoingCallTimeout

        public Duration getDrainOngoingCallTimeout()
        Gets the timeout to drain ongoing calls.
        Returns:
        The timeout to drain ongoing calls.
      • setDrainOngoingCallTimeout

        public ActorRuntimeConfig setDrainOngoingCallTimeout(Duration drainOngoingCallTimeout)
        Sets the timeout to drain ongoing calls.
        Parameters:
        drainOngoingCallTimeout - The timeout to drain ongoing calls.
        Returns:
        This instance.
      • getDrainBalancedActors

        public Boolean getDrainBalancedActors()
        Gets whether balanced actors should be drained.
        Returns:
        Whether balanced actors should be drained.
      • setDrainBalancedActors

        public ActorRuntimeConfig setDrainBalancedActors(Boolean drainBalancedActors)
        Sets whether balanced actors should be drained.
        Parameters:
        drainBalancedActors - Whether balanced actors should be drained.
        Returns:
        This instance.
      • getRemindersStoragePartitions

        public Integer getRemindersStoragePartitions()
        Gets the number of storage partitions for Actor reminders.
        Returns:
        The number of Actor reminder storage partitions.
      • setRemindersStoragePartitions

        public ActorRuntimeConfig setRemindersStoragePartitions(Integer remindersStoragePartitions)
        Sets the number of storage partitions for Actor reminders.
        Parameters:
        remindersStoragePartitions - The number of storage partitions for Actor reminders.
        Returns:
        This instance.

    ================================================ FILE: docs/io/dapr/actors/runtime/ActorRuntimeContext.html ================================================ ActorRuntimeContext (dapr-sdk-parent 1.17.2 API)

    Class ActorRuntimeContext<T extends AbstractActor>

    java.lang.Object
    io.dapr.actors.runtime.ActorRuntimeContext<T>
    Type Parameters:
    T - Actor's type for the context.

    public class ActorRuntimeContext<T extends AbstractActor> extends Object
    Provides the context for the Actor's runtime.

    ================================================ FILE: docs/io/dapr/actors/runtime/ActorStateChange.html ================================================ ActorStateChange (dapr-sdk-parent 1.17.2 API)

    Class ActorStateChange

    java.lang.Object
    io.dapr.actors.runtime.ActorStateChange

    public final class ActorStateChange extends Object
    Represents a state change for an actor.

    ================================================ FILE: docs/io/dapr/actors/runtime/ActorStateChangeKind.html ================================================ ActorStateChangeKind (dapr-sdk-parent 1.17.2 API)

    Enum ActorStateChangeKind

    java.lang.Object
    java.lang.Enum<ActorStateChangeKind>
    io.dapr.actors.runtime.ActorStateChangeKind
    All Implemented Interfaces:
    Serializable, Comparable<ActorStateChangeKind>

    public enum ActorStateChangeKind extends Enum<ActorStateChangeKind>
    Represents an actor's state change.
    • Enum Constant Details

    • Method Details

      • values

        public static ActorStateChangeKind[] values()
        Returns an array containing the constants of this enum type, in the order they are declared.
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static ActorStateChangeKind valueOf(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null

    ================================================ FILE: docs/io/dapr/actors/runtime/ActorStateManager.html ================================================ ActorStateManager (dapr-sdk-parent 1.17.2 API)

    Class ActorStateManager

    java.lang.Object
    io.dapr.actors.runtime.ActorStateManager

    public class ActorStateManager extends Object
    Manages state changes of a given Actor instance. All changes are cached in-memory until save() is called.
    • Method Summary

      Modifier and Type
      Method
      Description
      <T> reactor.core.publisher.Mono<Void>
      add(String stateName, T value)
      Adds a given key/value to the Actor's state store's cache.
      void
      Clears all changes not yet saved to state store.
      reactor.core.publisher.Mono<Boolean>
      contains(String stateName)
      Checks if a given state exists in state store or cache.
      <T> reactor.core.publisher.Mono<T>
      get(String stateName, TypeRef<T> type)
      Fetches the most recent value for the given state, including cached value.
      <T> reactor.core.publisher.Mono<T>
      get(String stateName, Class<T> clazz)
      Fetches the most recent value for the given state, including cached value.
      reactor.core.publisher.Mono<Void>
      remove(String stateName)
      Removes a given state from state store's cache.
      reactor.core.publisher.Mono<Void>
      Saves all changes to state store.
      <T> reactor.core.publisher.Mono<Void>
      set(String stateName, T value)
      Updates a given key/value pair in the state store's cache.

      Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Details

      • add

        public <T> reactor.core.publisher.Mono<Void> add(String stateName, T value)
        Adds a given key/value to the Actor's state store's cache.
        Type Parameters:
        T - Type of the object being added.
        Parameters:
        stateName - Name of the state being added.
        value - Value to be added.
        Returns:
        Asynchronous void operation.
      • get

        public <T> reactor.core.publisher.Mono<T> get(String stateName, Class<T> clazz)
        Fetches the most recent value for the given state, including cached value.
        Type Parameters:
        T - Type being fetched.
        Parameters:
        stateName - Name of the state.
        clazz - Class type for the value being fetched.
        Returns:
        Asynchronous response with fetched object.
      • get

        public <T> reactor.core.publisher.Mono<T> get(String stateName, TypeRef<T> type)
        Fetches the most recent value for the given state, including cached value.
        Type Parameters:
        T - Type being fetched.
        Parameters:
        stateName - Name of the state.
        type - Class type for the value being fetched.
        Returns:
        Asynchronous response with fetched object.
      • set

        public <T> reactor.core.publisher.Mono<Void> set(String stateName, T value)
        Updates a given key/value pair in the state store's cache.
        Type Parameters:
        T - Type of the value being set.
        Parameters:
        stateName - Name of the state being updated.
        value - Value to be set for given state.
        Returns:
        Asynchronous void result.
      • remove

        public reactor.core.publisher.Mono<Void> remove(String stateName)
        Removes a given state from state store's cache.
        Parameters:
        stateName - State being stored.
        Returns:
        Asynchronous void result.
      • contains

        public reactor.core.publisher.Mono<Boolean> contains(String stateName)
        Checks if a given state exists in state store or cache.
        Parameters:
        stateName - State being checked.
        Returns:
        Asynchronous boolean result indicating whether state is present.
      • save

        public reactor.core.publisher.Mono<Void> save()
        Saves all changes to state store.
        Returns:
        Asynchronous void result.
      • clear

        public void clear()
        Clears all changes not yet saved to state store.

    ================================================ FILE: docs/io/dapr/actors/runtime/ActorTypeConfig.html ================================================ ActorTypeConfig (dapr-sdk-parent 1.17.2 API)

    Class ActorTypeConfig

    java.lang.Object
    io.dapr.actors.runtime.ActorTypeConfig

    public class ActorTypeConfig extends Object
    Represents the configuration for the Actor Type.
    • Method Details

      • getActorIdleTimeout

        public Duration getActorIdleTimeout()
        Gets the duration for Actors' timeout.
        Returns:
        Duration for Actors' timeout.
      • setActorIdleTimeout

        public ActorTypeConfig setActorIdleTimeout(Duration actorIdleTimeout)
        Sets the duration for Actors' timeout.
        Parameters:
        actorIdleTimeout - Duration for Actors' timeout.
        Returns:
        This instance.
      • getActorScanInterval

        public Duration getActorScanInterval()
        Gets the duration to scan for Actors.
        Returns:
        The duration to scan for Actors.
      • setActorScanInterval

        public ActorTypeConfig setActorScanInterval(Duration actorScanInterval)
        Sets the duration to scan for Actors.
        Parameters:
        actorScanInterval - The duration to scan for Actors.
        Returns:
        This instance.
      • getDrainOngoingCallTimeout

        public Duration getDrainOngoingCallTimeout()
        Gets the timeout to drain ongoing calls.
        Returns:
        The timeout to drain ongoing calls.
      • setDrainOngoingCallTimeout

        public ActorTypeConfig setDrainOngoingCallTimeout(Duration drainOngoingCallTimeout)
        Sets the timeout to drain ongoing calls.
        Parameters:
        drainOngoingCallTimeout - The timeout to drain ongoing calls.
        Returns:
        This instance.
      • getDrainBalancedActors

        public Boolean getDrainBalancedActors()
        Gets whether balanced actors should be drained.
        Returns:
        Whether balanced actors should be drained.
      • setDrainBalancedActors

        public ActorTypeConfig setDrainBalancedActors(Boolean drainBalancedActors)
        Sets whether balanced actors should be drained.
        Parameters:
        drainBalancedActors - Whether balanced actors should be drained.
        Returns:
        This instance.
      • getRemindersStoragePartitions

        public Integer getRemindersStoragePartitions()
        Gets the number of storage partitions for Actor reminders.
        Returns:
        The number of Actor reminder storage partitions.
      • setRemindersStoragePartitions

        public ActorTypeConfig setRemindersStoragePartitions(Integer remindersStoragePartitions)
        Sets the number of storage partitions for Actor reminders.
        Parameters:
        remindersStoragePartitions - The number of storage partitions for Actor reminders.
        Returns:
        This instance.

    ================================================ FILE: docs/io/dapr/actors/runtime/Remindable.html ================================================ Remindable (dapr-sdk-parent 1.17.2 API)

    Interface Remindable<T>


    public interface Remindable<T>
    Interface that actors must implement to consume reminders registered using RegisterReminderAsync.
    • Method Summary

      Modifier and Type
      Method
      Description
      Gets the type for state object.
      reactor.core.publisher.Mono<Void>
      receiveReminder(String reminderName, T state, Duration dueTime, Duration period)
      The reminder call back invoked when an actor reminder is triggered.
    • Method Details

      • getStateType

        TypeRef<T> getStateType()
        Gets the type for state object.
        Returns:
        Class for state object.
      • receiveReminder

        reactor.core.publisher.Mono<Void> receiveReminder(String reminderName, T state, Duration dueTime, Duration period)
        The reminder call back invoked when an actor reminder is triggered. The state of this actor is saved by the actor runtime upon completion of the task returned by this method. If an error occurs while saving the state, then all state cached by this actor's ActorStateManager will be discarded and reloaded from previously saved state when the next actor method or reminder invocation occurs.
        Parameters:
        reminderName - The name of reminder provided during registration.
        state - The user state provided during registration.
        dueTime - The invocation due time provided during registration.
        period - The invocation period provided during registration.
        Returns:
        A task that represents the asynchronous operation performed by this callback.

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/AbstractActor.html ================================================ Uses of Class io.dapr.actors.runtime.AbstractActor (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.runtime.AbstractActor

    Packages that use AbstractActor
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/ActorFactory.html ================================================ Uses of Interface io.dapr.actors.runtime.ActorFactory (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.actors.runtime.ActorFactory

    Packages that use ActorFactory
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/ActorMethodContext.html ================================================ Uses of Class io.dapr.actors.runtime.ActorMethodContext (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.runtime.ActorMethodContext

    Packages that use ActorMethodContext
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/ActorObjectSerializer.html ================================================ Uses of Class io.dapr.actors.runtime.ActorObjectSerializer (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.runtime.ActorObjectSerializer

    No usage of io.dapr.actors.runtime.ActorObjectSerializer

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/ActorRuntime.html ================================================ Uses of Class io.dapr.actors.runtime.ActorRuntime (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.runtime.ActorRuntime

    Packages that use ActorRuntime
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/ActorRuntimeConfig.html ================================================ Uses of Class io.dapr.actors.runtime.ActorRuntimeConfig (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.runtime.ActorRuntimeConfig

    Packages that use ActorRuntimeConfig
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/ActorRuntimeContext.html ================================================ Uses of Class io.dapr.actors.runtime.ActorRuntimeContext (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.runtime.ActorRuntimeContext

    Packages that use ActorRuntimeContext
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/ActorStateChange.html ================================================ Uses of Class io.dapr.actors.runtime.ActorStateChange (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.runtime.ActorStateChange

    No usage of io.dapr.actors.runtime.ActorStateChange

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/ActorStateChangeKind.html ================================================ Uses of Enum io.dapr.actors.runtime.ActorStateChangeKind (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.actors.runtime.ActorStateChangeKind

    Packages that use ActorStateChangeKind
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/ActorStateManager.html ================================================ Uses of Class io.dapr.actors.runtime.ActorStateManager (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.runtime.ActorStateManager

    Packages that use ActorStateManager
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/ActorTypeConfig.html ================================================ Uses of Class io.dapr.actors.runtime.ActorTypeConfig (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.actors.runtime.ActorTypeConfig

    Packages that use ActorTypeConfig
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/actors/runtime/class-use/Remindable.html ================================================ Uses of Interface io.dapr.actors.runtime.Remindable (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.actors.runtime.Remindable

    No usage of io.dapr.actors.runtime.Remindable

    ================================================ FILE: docs/io/dapr/actors/runtime/package-summary.html ================================================ io.dapr.actors.runtime (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.actors.runtime


    package io.dapr.actors.runtime

    ================================================ FILE: docs/io/dapr/actors/runtime/package-tree.html ================================================ io.dapr.actors.runtime Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.actors.runtime

    Package Hierarchies:

    Class Hierarchy

    Interface Hierarchy

    Enum Hierarchy


    ================================================ FILE: docs/io/dapr/actors/runtime/package-use.html ================================================ Uses of Package io.dapr.actors.runtime (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.actors.runtime

    Packages that use io.dapr.actors.runtime
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/class-use/Rule.html ================================================ Uses of Annotation Type io.dapr.Rule (dapr-sdk-parent 1.17.2 API)

    Uses of Annotation Type
    io.dapr.Rule

    No usage of io.dapr.Rule

    ================================================ FILE: docs/io/dapr/class-use/Topic.html ================================================ Uses of Annotation Type io.dapr.Topic (dapr-sdk-parent 1.17.2 API)

    Uses of Annotation Type
    io.dapr.Topic

    No usage of io.dapr.Topic

    ================================================ FILE: docs/io/dapr/client/DaprClient.html ================================================ DaprClient (dapr-sdk-parent 1.17.2 API)

    Interface DaprClient

    All Superinterfaces:
    AutoCloseable
    All Known Implementing Classes:
    DaprClientImpl

    public interface DaprClient extends AutoCloseable
    Generic Client Adapter to be used regardless of the GRPC or the HTTP Client implementation required.
    See Also:
    • Method Details

      • waitForSidecar

        reactor.core.publisher.Mono<Void> waitForSidecar(int timeoutInMilliseconds)
        Waits for the sidecar, giving up after timeout.
        Parameters:
        timeoutInMilliseconds - Timeout in milliseconds to wait for sidecar.
        Returns:
        a Mono plan of type Void.
      • publishEvent

        reactor.core.publisher.Mono<Void> publishEvent(String pubsubName, String topicName, Object data)
        Publish an event.
        Parameters:
        pubsubName - the pubsub name we will publish the event to
        topicName - the topicName where the event will be published.
        data - the event's data to be published, use byte[] for skipping serialization.
        Returns:
        a Mono plan of type Void.
      • publishEvent

        reactor.core.publisher.Mono<Void> publishEvent(String pubsubName, String topicName, Object data, Map<String,String> metadata)
        Publish an event.
        Parameters:
        pubsubName - the pubsub name we will publish the event to
        topicName - the topicName where the event will be published.
        data - the event's data to be published, use byte[] for skipping serialization.
        metadata - The metadata for the published event.
        Returns:
        a Mono plan of type Void.
      • publishEvent

        reactor.core.publisher.Mono<Void> publishEvent(PublishEventRequest request)
        Publish an event.
        Parameters:
        request - the request for the publish event.
        Returns:
        a Mono plan of a Dapr's void response.
      • publishEvents

        <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(BulkPublishRequest<T> request)
        Publish multiple events to Dapr in a single request.
        Type Parameters:
        T - The type of events to publish in the call.
        Parameters:
        request - BulkPublishRequest object.
        Returns:
        A Mono of BulkPublishResponse object.
      • publishEvents

        <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, List<T> events)
        Publish multiple events to Dapr in a single request.
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        events - the List of events to be published.
        contentType - the content type of the event. Use Mime based types.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • publishEvents

        <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, T... events)
        Publish multiple events to Dapr in a single request.
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        events - the varargs of events to be published.
        contentType - the content type of the event. Use Mime based types.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • publishEvents

        <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, Map<String,String> requestMetadata, List<T> events)
        Publish multiple events to Dapr in a single request.
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        events - the List of events to be published.
        contentType - the content type of the event. Use Mime based types.
        requestMetadata - the metadata to be set at the request level for the BulkPublishRequest.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • publishEvents

        <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, Map<String,String> requestMetadata, T... events)
        Publish multiple events to Dapr in a single request.
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        events - the varargs of events to be published.
        contentType - the content type of the event. Use Mime based types.
        requestMetadata - the metadata to be set at the request level for the BulkPublishRequest.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • invokeMethod

        <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object data, HttpExtension httpExtension, Map<String,String> metadata, TypeRef<T> type)
        Invoke a service method, using serialization.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        data - The data to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in data.
        type - The Type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Map<String,String> metadata, Class<T> clazz)
        Invoke a service method, using serialization.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        clazz - The type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, TypeRef<T> type)
        Invoke a service method, using serialization.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        type - The Type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Class<T> clazz)
        Invoke a service method, using serialization.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        clazz - The type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map<String,String> metadata, TypeRef<T> type)
        Invoke a service method, using serialization.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        type - The Type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map<String,String> metadata, Class<T> clazz)
        Invoke a service method, using serialization.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        clazz - The type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        reactor.core.publisher.Mono<Void> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Map<String,String> metadata)
        Invoke a service method, using serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        Returns:
        A Mono Plan of type Void.
      • invokeMethod

        reactor.core.publisher.Mono<Void> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension)
        Invoke a service method, using serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        Returns:
        A Mono Plan of type Void.
      • invokeMethod

        reactor.core.publisher.Mono<Void> invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map<String,String> metadata)
        Invoke a service method, using serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        Returns:
        A Mono Plan of type Void.
      • invokeMethod

        reactor.core.publisher.Mono<byte[]> invokeMethod(String appId, String methodName, byte[] request, HttpExtension httpExtension, Map<String,String> metadata)
        Invoke a service method, without using serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        Returns:
        A Mono Plan of type byte[].
      • invokeMethod

        <T> reactor.core.publisher.Mono<T> invokeMethod(InvokeMethodRequest invokeMethodRequest, TypeRef<T> type)
        Invoke a service method.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        invokeMethodRequest - Request object.
        type - The Type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeBinding

        reactor.core.publisher.Mono<Void> invokeBinding(String bindingName, String operation, Object data)
        Invokes a Binding operation.
        Parameters:
        bindingName - The bindingName of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, use byte[] to skip serialization.
        Returns:
        an empty Mono.
      • invokeBinding

        reactor.core.publisher.Mono<byte[]> invokeBinding(String bindingName, String operation, byte[] data, Map<String,String> metadata)
        Invokes a Binding operation, skipping serialization.
        Parameters:
        bindingName - The name of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, skipping serialization.
        metadata - The metadata map.
        Returns:
        a Mono plan of type byte[].
      • invokeBinding

        <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, TypeRef<T> type)
        Invokes a Binding operation.
        Type Parameters:
        T - The type of the return
        Parameters:
        bindingName - The name of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, use byte[] to skip serialization.
        type - The type being returned.
        Returns:
        a Mono plan of type T.
      • invokeBinding

        <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, Class<T> clazz)
        Invokes a Binding operation.
        Type Parameters:
        T - The type of the return
        Parameters:
        bindingName - The name of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, use byte[] to skip serialization.
        clazz - The type being returned.
        Returns:
        a Mono plan of type T.
      • invokeBinding

        <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, Map<String,String> metadata, TypeRef<T> type)
        Invokes a Binding operation.
        Type Parameters:
        T - The type of the return
        Parameters:
        bindingName - The name of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, use byte[] to skip serialization.
        metadata - The metadata map.
        type - The type being returned.
        Returns:
        a Mono plan of type T.
      • invokeBinding

        <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, Map<String,String> metadata, Class<T> clazz)
        Invokes a Binding operation.
        Type Parameters:
        T - The type of the return
        Parameters:
        bindingName - The name of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, use byte[] to skip serialization.
        metadata - The metadata map.
        clazz - The type being returned.
        Returns:
        a Mono plan of type T.
      • invokeBinding

        reactor.core.publisher.Mono<Void> invokeBinding(InvokeBindingRequest request)
        Invokes a Binding operation.
        Parameters:
        request - The binding invocation request.
        Returns:
        a Mono with void.
      • invokeBinding

        <T> reactor.core.publisher.Mono<T> invokeBinding(InvokeBindingRequest request, TypeRef<T> type)
        Invokes a Binding operation.
        Type Parameters:
        T - The type of the return
        Parameters:
        request - The binding invocation request.
        type - The type being returned.
        Returns:
        a Mono plan of type T.
      • getState

        <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, State<T> state, TypeRef<T> type)
        Retrieve a State based on their key.
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        state - State to be re-retrieved.
        type - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getState

        <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, State<T> state, Class<T> clazz)
        Retrieve a State based on their key.
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        state - State to be re-retrieved.
        clazz - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getState

        <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, TypeRef<T> type)
        Retrieve a State based on their key.
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be retrieved.
        type - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getState

        <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, Class<T> clazz)
        Retrieve a State based on their key.
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be retrieved.
        clazz - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getState

        <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, StateOptions options, TypeRef<T> type)
        Retrieve a State based on their key.
        Type Parameters:
        T - The Type of the return.
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be retrieved.
        options - Optional settings for retrieve operation.
        type - The Type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getState

        <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, StateOptions options, Class<T> clazz)
        Retrieve a State based on their key.
        Type Parameters:
        T - The Type of the return.
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be retrieved.
        options - Optional settings for retrieve operation.
        clazz - The Type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getState

        <T> reactor.core.publisher.Mono<State<T>> getState(GetStateRequest request, TypeRef<T> type)
        Retrieve a State based on their key.
        Type Parameters:
        T - The Type of the return.
        Parameters:
        request - The request to get state.
        type - The Type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getBulkState

        <T> reactor.core.publisher.Mono<List<State<T>>> getBulkState(String storeName, List<String> keys, TypeRef<T> type)
        Retrieve bulk States based on their keys.
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        keys - The keys of the State to be retrieved.
        type - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getBulkState

        <T> reactor.core.publisher.Mono<List<State<T>>> getBulkState(String storeName, List<String> keys, Class<T> clazz)
        Retrieve bulk States based on their keys.
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        keys - The keys of the State to be retrieved.
        clazz - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getBulkState

        <T> reactor.core.publisher.Mono<List<State<T>>> getBulkState(GetBulkStateRequest request, TypeRef<T> type)
        Retrieve bulk States based on their keys.
        Type Parameters:
        T - The Type of the return.
        Parameters:
        request - The request to get state.
        type - The Type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • executeStateTransaction

        reactor.core.publisher.Mono<Void> executeStateTransaction(String storeName, List<TransactionalStateOperation<?>> operations)
        Execute a transaction.
        Parameters:
        storeName - The name of the state store.
        operations - The operations to be performed.
        Returns:
        a Mono plan of type Void
      • executeStateTransaction

        reactor.core.publisher.Mono<Void> executeStateTransaction(ExecuteStateTransactionRequest request)
        Execute a transaction.
        Parameters:
        request - Request to execute transaction.
        Returns:
        a Mono plan of type Response Void
      • saveBulkState

        reactor.core.publisher.Mono<Void> saveBulkState(String storeName, List<State<?>> states)
        Save/Update a list of states.
        Parameters:
        storeName - The name of the state store.
        states - The States to be saved.
        Returns:
        a Mono plan of type Void.
      • saveBulkState

        reactor.core.publisher.Mono<Void> saveBulkState(SaveStateRequest request)
        Save/Update a list of states.
        Parameters:
        request - Request to save states.
        Returns:
        a Mono plan of type Void.
      • saveState

        reactor.core.publisher.Mono<Void> saveState(String storeName, String key, Object value)
        Save/Update a state.
        Parameters:
        storeName - The name of the state store.
        key - The key of the state.
        value - The value of the state.
        Returns:
        a Mono plan of type Void.
      • saveState

        reactor.core.publisher.Mono<Void> saveState(String storeName, String key, String etag, Object value, StateOptions options)
        Save/Update a state.
        Parameters:
        storeName - The name of the state store.
        key - The key of the state.
        etag - The etag to be used.
        value - The value of the state.
        options - The Options to use for each state.
        Returns:
        a Mono plan of type Void.
      • saveState

        reactor.core.publisher.Mono<Void> saveState(String storeName, String key, String etag, Object value, Map<String,String> meta, StateOptions options)
        Save/Update a state.
        Parameters:
        storeName - The name of the state store.
        key - The key of the state.
        etag - The etag to be used.
        value - The value of the state.
        meta - The metadata to be set to the state.
        options - The Options to use for each state.
        Returns:
        a Mono plan of type Void.
      • deleteState

        reactor.core.publisher.Mono<Void> deleteState(String storeName, String key)
        Delete a state.
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be removed.
        Returns:
        a Mono plan of type Void.
      • deleteState

        reactor.core.publisher.Mono<Void> deleteState(String storeName, String key, String etag, StateOptions options)
        Delete a state.
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be removed.
        etag - Optional etag for conditional delete.
        options - Optional settings for state operation.
        Returns:
        a Mono plan of type Void.
      • deleteState

        reactor.core.publisher.Mono<Void> deleteState(DeleteStateRequest request)
        Delete a state.
        Parameters:
        request - Request to delete a state.
        Returns:
        a Mono plan of type Void.
      • getSecret

        reactor.core.publisher.Mono<Map<String,String>> getSecret(String storeName, String secretName, Map<String,String> metadata)
        Fetches a secret from the configured vault.
        Parameters:
        storeName - Name of vault component in Dapr.
        secretName - Secret to be fetched.
        metadata - Optional metadata.
        Returns:
        Key-value pairs for the secret.
      • getSecret

        reactor.core.publisher.Mono<Map<String,String>> getSecret(String storeName, String secretName)
        Fetches a secret from the configured vault.
        Parameters:
        storeName - Name of vault component in Dapr.
        secretName - Secret to be fetched.
        Returns:
        Key-value pairs for the secret.
      • getSecret

        reactor.core.publisher.Mono<Map<String,String>> getSecret(GetSecretRequest request)
        Fetches a secret from the configured vault.
        Parameters:
        request - Request to fetch secret.
        Returns:
        Key-value pairs for the secret.
      • getBulkSecret

        reactor.core.publisher.Mono<Map<String,Map<String,String>>> getBulkSecret(String storeName)
        Fetches all secrets from the configured vault.
        Parameters:
        storeName - Name of vault component in Dapr.
        Returns:
        Key-value pairs for all the secrets in the state store.
      • getBulkSecret

        reactor.core.publisher.Mono<Map<String,Map<String,String>>> getBulkSecret(String storeName, Map<String,String> metadata)
        Fetches all secrets from the configured vault.
        Parameters:
        storeName - Name of vault component in Dapr.
        metadata - Optional metadata.
        Returns:
        Key-value pairs for all the secrets in the state store.
      • getBulkSecret

        reactor.core.publisher.Mono<Map<String,Map<String,String>>> getBulkSecret(GetBulkSecretRequest request)
        Fetches all secrets from the configured vault.
        Parameters:
        request - Request to fetch secret.
        Returns:
        Key-value pairs for the secret.
      • getConfiguration

        reactor.core.publisher.Mono<ConfigurationItem> getConfiguration(String storeName, String key)
        Retrieve a configuration based on a provided key.
        Parameters:
        storeName - Name of the configuration store
        key - key of the configuration item which is to be retrieved
        Returns:
        Mono of the Configuration Item
      • getConfiguration

        reactor.core.publisher.Mono<ConfigurationItem> getConfiguration(String storeName, String key, Map<String,String> metadata)
        Retrieve a configuration based on a provided key.
        Parameters:
        storeName - Name of the configuration store
        key - key of the configuration item which is to be retrieved
        metadata - optional metadata
        Returns:
        Mono of the Configuration Item
      • getConfiguration

        reactor.core.publisher.Mono<Map<String,ConfigurationItem>> getConfiguration(String storeName, String... keys)
        Retrieve Map of configurations based on a provided variable number of keys.
        Parameters:
        storeName - Name of the configuration store
        keys - keys of the configurations which are to be retrieved
        Returns:
        Mono of Map of ConfigurationItems
      • getConfiguration

        reactor.core.publisher.Mono<Map<String,ConfigurationItem>> getConfiguration(String storeName, List<String> keys, Map<String,String> metadata)
        Retrieve Map of configurations based on a provided variable number of keys.
        Parameters:
        storeName - Name of the configuration store
        keys - keys of the configurations which are to be retrieved
        metadata - optional metadata
        Returns:
        Mono of Map of ConfigurationItems
      • getConfiguration

        reactor.core.publisher.Mono<Map<String,ConfigurationItem>> getConfiguration(GetConfigurationRequest request)
        Retrieve Map of configurations based on a provided configuration request object.
        Parameters:
        request - request for retrieving Configurations for a list keys
        Returns:
        Mono of Map of ConfigurationItems
      • subscribeConfiguration

        reactor.core.publisher.Flux<SubscribeConfigurationResponse> subscribeConfiguration(String storeName, String... keys)
        Subscribe to the keys for any change.
        Parameters:
        storeName - Name of the configuration store
        keys - keys of the configurations which are to be subscribed
        Returns:
        Flux of SubscribeConfigurationResponse instance
      • subscribeConfiguration

        reactor.core.publisher.Flux<SubscribeConfigurationResponse> subscribeConfiguration(String storeName, List<String> keys, Map<String,String> metadata)
        Subscribe to the keys for any change.
        Parameters:
        storeName - Name of the configuration store
        keys - keys of the configurations which are to be subscribed
        metadata - optional metadata
        Returns:
        Flux of SubscribeConfigurationResponse instance
      • subscribeConfiguration

        reactor.core.publisher.Flux<SubscribeConfigurationResponse> subscribeConfiguration(SubscribeConfigurationRequest request)
        Subscribe to the keys for any change.
        Parameters:
        request - request for subscribing to any change for the given keys in request
        Returns:
        Flux of SubscribeConfigurationResponse instance
      • unsubscribeConfiguration

        reactor.core.publisher.Mono<UnsubscribeConfigurationResponse> unsubscribeConfiguration(String id, String storeName)
        Unsubscribe from previously subscribed keys.
        Parameters:
        id - subscription id returned by subscribeConfiguration API.
        storeName - Name of the configuration store.
        Returns:
        Mono of UnsubscribeConfigurationResponse instance.
      • unsubscribeConfiguration

        reactor.core.publisher.Mono<UnsubscribeConfigurationResponse> unsubscribeConfiguration(UnsubscribeConfigurationRequest request)
        Unsubscribe from previously subscribed keys.
        Parameters:
        request - request for unsubscribing to any change for the given subscription id in request
        Returns:
        Mono of UnsubscribeConfigurationResponse instance.
      • newGrpcStub

        <T extends io.grpc.stub.AbstractStub<T>> T newGrpcStub(String appId, Function<io.grpc.Channel,T> stubBuilder)
        Returns a newly created gRPC stub with proper interceptors and channel for gRPC proxy invocation.
        Type Parameters:
        T - the generic type of the service to be invoked.
        Parameters:
        appId - appId to be included in all gRPC calls for service invocation.
        stubBuilder - user-provided callback method to construct a new stub given the channel.
        Returns:
        the gRPC stub with proper interceptors and channel.
      • getMetadata

        reactor.core.publisher.Mono<DaprMetadata> getMetadata()
        Fetches Dapr Metadata from the metadata endpoint.
        Returns:
        DaprMetadata containing Dapr Metadata from the metadata endpoint.
      • scheduleJob

        reactor.core.publisher.Mono<Void> scheduleJob(ScheduleJobRequest scheduleJobRequest)
        Schedules a job using the provided job request details.
        Parameters:
        scheduleJobRequest - The request containing the details of the job to schedule. Must include a name and optional schedule, data, and other related properties.
        Returns:
        A Mono that completes when the job scheduling operation is successful or raises an error.
        Throws:
        IllegalArgumentException - If the request or its required fields like name are null or empty.
      • getJob

        reactor.core.publisher.Mono<GetJobResponse> getJob(GetJobRequest getJobRequest)
        Retrieves details of a specific job.
        Parameters:
        getJobRequest - The request containing the job name for which the details are to be fetched. The name property is mandatory.
        Returns:
        A Mono that emits the GetJobResponse containing job details or raises an error if the job is not found.
        Throws:
        IllegalArgumentException - If the request or its required fields like name are null or empty.
      • deleteJob

        reactor.core.publisher.Mono<Void> deleteJob(DeleteJobRequest deleteJobRequest)
        Deletes a job based on the given request.
        Parameters:
        deleteJobRequest - The request containing the job name to be deleted. The name property is mandatory.
        Returns:
        A Mono that completes when the job is successfully deleted or raises an error.
        Throws:
        IllegalArgumentException - If the request or its required fields like name are null or empty.
      • shutdown

        reactor.core.publisher.Mono<Void> shutdown()
        Gracefully shutdown the dapr runtime.
        Returns:
        a Mono plan of type Void.

    ================================================ FILE: docs/io/dapr/client/DaprClientBuilder.html ================================================ DaprClientBuilder (dapr-sdk-parent 1.17.2 API)

    Class DaprClientBuilder

    java.lang.Object
    io.dapr.client.DaprClientBuilder

    public class DaprClientBuilder extends Object
    A builder for the DaprClient, Currently only gRPC and HTTP Client will be supported.
    • Constructor Details

      • DaprClientBuilder

        public DaprClientBuilder()
        Creates a constructor for DaprClient. DefaultObjectSerializer is used for object and state serializers by default but is not recommended for production scenarios.
    • Method Details

      • withObjectSerializer

        public DaprClientBuilder withObjectSerializer(DaprObjectSerializer objectSerializer)
        Sets the serializer for objects to be sent and received from Dapr. See DefaultObjectSerializer as possible serializer for non-production scenarios.
        Parameters:
        objectSerializer - Serializer for objects to be sent and received from Dapr.
        Returns:
        This instance.
      • withStateSerializer

        public DaprClientBuilder withStateSerializer(DaprObjectSerializer stateSerializer)
        Sets the serializer for objects to be persisted. See DefaultObjectSerializer as possible serializer for non-production scenarios.
        Parameters:
        stateSerializer - Serializer for objects to be persisted.
        Returns:
        This instance.
      • withResiliencyOptions

        public DaprClientBuilder withResiliencyOptions(ResiliencyOptions options)
        Sets the resiliency options for DaprClient.
        Parameters:
        options - Serializer for objects to be persisted.
        Returns:
        This instance.
      • withPropertyOverride

        public DaprClientBuilder withPropertyOverride(Property<?> property, String value)
        Allow to set up properties override for static properties.
        Parameters:
        property - that we want to override
        value - the value of such property
        Returns:
        an instance of the setup Client
      • withPropertyOverrides

        public DaprClientBuilder withPropertyOverrides(Map<Property<?>,String> overrides)
        Allow to set up properties override for static properties.
        Parameters:
        overrides - properties to override
        Returns:
        an instance of the setup Client
      • build

        public DaprClient build()
        Build an instance of the Client based on the provided setup.
        Returns:
        an instance of the setup Client
        Throws:
        IllegalStateException - if any required field is missing
      • buildPreviewClient

        public DaprPreviewClient buildPreviewClient()
        Build an instance of the Client based on the provided setup.
        Returns:
        an instance of the setup Client
        Throws:
        IllegalStateException - if any required field is missing

    ================================================ FILE: docs/io/dapr/client/DaprClientImpl.html ================================================ DaprClientImpl (dapr-sdk-parent 1.17.2 API)

    Class DaprClientImpl

    java.lang.Object
    io.dapr.client.DaprClientImpl
    All Implemented Interfaces:
    DaprClient, DaprPreviewClient, AutoCloseable

    public class DaprClientImpl extends Object
    Implementation of the Dapr client combining gRPC and HTTP (when applicable).
    See Also:
    • Field Details

      • JSON_REQUEST_MAPPER

        protected static final com.fasterxml.jackson.databind.ObjectMapper JSON_REQUEST_MAPPER
        A mapper to serialize JSON request objects.
      • objectSerializer

        protected DaprObjectSerializer objectSerializer
        A utility class for serialize and deserialize the transient objects.
      • stateSerializer

        protected DaprObjectSerializer stateSerializer
        A utility class for serialize and deserialize state objects.
    • Method Details

      • newGrpcStub

        public <T extends io.grpc.stub.AbstractStub<T>> T newGrpcStub(String appId, Function<io.grpc.Channel,T> stubBuilder)
        Returns a newly created gRPC stub with proper interceptors and channel for gRPC proxy invocation.
        Type Parameters:
        T - the generic type of the service to be invoked.
        Parameters:
        appId - appId to be included in all gRPC calls for service invocation.
        stubBuilder - user-provided callback method to construct a new stub given the channel.
        Returns:
        the gRPC stub with proper interceptors and channel.
      • waitForSidecar

        public reactor.core.publisher.Mono<Void> waitForSidecar(int timeoutInMilliseconds)
        Waits for the sidecar, giving up after timeout.
        Parameters:
        timeoutInMilliseconds - Timeout in milliseconds to wait for sidecar.
        Returns:
        a Mono plan of type Void.
      • publishEvent

        public reactor.core.publisher.Mono<Void> publishEvent(PublishEventRequest request)
        Publish an event.
        Parameters:
        request - the request for the publish event.
        Returns:
        a Mono plan of a Dapr's void response.
      • publishEvents

        public <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(BulkPublishRequest<T> request)
        Publish multiple events to Dapr in a single request.
        Type Parameters:
        T - The type of events to publish in the call.
        Parameters:
        request - BulkPublishRequest object.
        Returns:
        A Mono of BulkPublishResponse object.
      • subscribeToEvents

        public <T> Subscription subscribeToEvents(String pubsubName, String topic, SubscriptionListener<T> listener, TypeRef<T> type)
        Subscribe to pubsub via streaming.
        Type Parameters:
        T - Type of object deserialization.
        Parameters:
        pubsubName - Name of the pubsub component.
        topic - Name of the topic to subscribe to.
        listener - Callback methods to process events.
        type - Type for object deserialization.
        Returns:
        An active subscription.
      • subscribeToEvents

        @Deprecated public <T> reactor.core.publisher.Flux<T> subscribeToEvents(String pubsubName, String topic, TypeRef<T> type)
        Deprecated.
        Subscribe to pubsub events via streaming using Project Reactor Flux.
        Type Parameters:
        T - Type of the event payload.
        Parameters:
        pubsubName - Name of the pubsub component.
        topic - Name of the topic to subscribe to.
        type - Type for object deserialization.
        Returns:
        A Flux of deserialized event payloads.
      • subscribeToEvents

        @Deprecated public <T> reactor.core.publisher.Flux<T> subscribeToEvents(String pubsubName, String topic, TypeRef<T> type, Map<String,String> metadata)
        Deprecated.
        Subscribe to pubsub events via streaming using Project Reactor Flux with metadata support.
        Type Parameters:
        T - Type of the event payload.
        Parameters:
        pubsubName - Name of the pubsub component.
        topic - Name of the topic to subscribe to.
        type - Type for object deserialization.
        metadata - Subscription metadata (e.g., {"rawPayload": "true"}).
        Returns:
        A Flux of deserialized event payloads.
      • subscribeToTopic

        public <T> reactor.core.publisher.Flux<T> subscribeToTopic(String pubsubName, String topic, TypeRef<T> type)
        Subscribe to pubsub events via streaming using Project Reactor Flux.

        The type parameter determines what is deserialized from the event data:

        • Use TypeRef.STRING or similar for raw payload data
        • Use new TypeRef<CloudEvent<String>>(){} to receive CloudEvent with metadata
        Type Parameters:
        T - Type of the event payload.
        Parameters:
        pubsubName - Name of the pubsub component.
        topic - Name of the topic to subscribe to.
        type - Type for object deserialization.
        Returns:
        A Flux of deserialized event payloads.
      • subscribeToTopic

        public <T> reactor.core.publisher.Flux<T> subscribeToTopic(String pubsubName, String topic, TypeRef<T> type, Map<String,String> metadata)
        Subscribe to pubsub events via streaming using Project Reactor Flux with metadata support.

        If metadata is null or empty, this method delegates to DaprPreviewClient.subscribeToTopic(String, String, TypeRef). Use metadata {"rawPayload": "true"} for raw payload subscriptions where Dapr delivers messages without CloudEvent wrapping.

        Type Parameters:
        T - Type of the event payload.
        Parameters:
        pubsubName - Name of the pubsub component.
        topic - Name of the topic to subscribe to.
        type - Type for object deserialization.
        metadata - Subscription metadata (e.g., {"rawPayload": "true"}).
        Returns:
        A Flux of deserialized event payloads.
      • invokeMethod

        public <T> reactor.core.publisher.Mono<T> invokeMethod(InvokeMethodRequest invokeMethodRequest, TypeRef<T> type)
        Description copied from interface: DaprClient
        Invoke a service method.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        invokeMethodRequest - Request object.
        type - The Type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeBinding

        public <T> reactor.core.publisher.Mono<T> invokeBinding(InvokeBindingRequest request, TypeRef<T> type)
        Invokes a Binding operation.
        Type Parameters:
        T - The type of the return
        Parameters:
        request - The binding invocation request.
        type - The type being returned.
        Returns:
        a Mono plan of type T.
      • getState

        public <T> reactor.core.publisher.Mono<State<T>> getState(GetStateRequest request, TypeRef<T> type)
        Retrieve a State based on their key.
        Type Parameters:
        T - The Type of the return.
        Parameters:
        request - The request to get state.
        type - The Type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getBulkState

        public <T> reactor.core.publisher.Mono<List<State<T>>> getBulkState(GetBulkStateRequest request, TypeRef<T> type)
        Retrieve bulk States based on their keys.
        Type Parameters:
        T - The Type of the return.
        Parameters:
        request - The request to get state.
        type - The Type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • executeStateTransaction

        public reactor.core.publisher.Mono<Void> executeStateTransaction(ExecuteStateTransactionRequest request)
        Execute a transaction.
        Parameters:
        request - Request to execute transaction.
        Returns:
        a Mono plan of type Response Void
      • saveBulkState

        public reactor.core.publisher.Mono<Void> saveBulkState(SaveStateRequest request)
        Save/Update a list of states.
        Parameters:
        request - Request to save states.
        Returns:
        a Mono plan of type Void.
      • deleteState

        public reactor.core.publisher.Mono<Void> deleteState(DeleteStateRequest request)
        Delete a state.
        Parameters:
        request - Request to delete a state.
        Returns:
        a Mono plan of type Void.
      • getSecret

        public reactor.core.publisher.Mono<Map<String,String>> getSecret(GetSecretRequest request)
        Fetches a secret from the configured vault.
        Parameters:
        request - Request to fetch secret.
        Returns:
        Key-value pairs for the secret.
      • getBulkSecret

        public reactor.core.publisher.Mono<Map<String,Map<String,String>>> getBulkSecret(GetBulkSecretRequest request)
        Fetches all secrets from the configured vault.
        Parameters:
        request - Request to fetch secret.
        Returns:
        Key-value pairs for the secret.
      • tryLock

        public reactor.core.publisher.Mono<Boolean> tryLock(LockRequest request)
        Tries to get a lock with an expiry.
        Parameters:
        request - The request to lock
        Returns:
        Whether the lock is successful
      • unlock

        public reactor.core.publisher.Mono<UnlockResponseStatus> unlock(UnlockRequest request)
        Unlocks a lock.
        Parameters:
        request - The request to unlock
        Returns:
        Unlock result
      • queryState

        public <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(QueryStateRequest request, TypeRef<T> type)
        Query for states using a query request.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        request - Query request object.
        type - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • close

        public void close() throws Exception
        Closes the ManagedChannel for GRPC.
        Throws:
        IOException - on exception.
        Exception
        See Also:
        • ManagedChannel.shutdown()
      • shutdown

        public reactor.core.publisher.Mono<Void> shutdown()
        Gracefully shutdown the dapr runtime.
        Returns:
        a Mono plan of type Void.
      • getConfiguration

        public reactor.core.publisher.Mono<Map<String,ConfigurationItem>> getConfiguration(GetConfigurationRequest request)
        Retrieve Map of configurations based on a provided configuration request object.
        Parameters:
        request - request for retrieving Configurations for a list keys
        Returns:
        Mono of Map of ConfigurationItems
      • subscribeConfiguration

        public reactor.core.publisher.Flux<SubscribeConfigurationResponse> subscribeConfiguration(SubscribeConfigurationRequest request)
        Subscribe to the keys for any change.
        Parameters:
        request - request for subscribing to any change for the given keys in request
        Returns:
        Flux of SubscribeConfigurationResponse instance
      • unsubscribeConfiguration

        public reactor.core.publisher.Mono<UnsubscribeConfigurationResponse> unsubscribeConfiguration(UnsubscribeConfigurationRequest request)
        Unsubscribe from previously subscribed keys.
        Parameters:
        request - request for unsubscribing to any change for the given subscription id in request
        Returns:
        Mono of UnsubscribeConfigurationResponse instance.
      • scheduleJob

        public reactor.core.publisher.Mono<Void> scheduleJob(ScheduleJobRequest scheduleJobRequest)
        Schedules a job using the provided job request details.
        Parameters:
        scheduleJobRequest - The request containing the details of the job to schedule. Must include a name and optional schedule, data, and other related properties.
        Returns:
        A Mono that completes when the job scheduling operation is successful or raises an error.
      • getJob

        public reactor.core.publisher.Mono<GetJobResponse> getJob(GetJobRequest getJobRequest)
        Retrieves details of a specific job.
        Parameters:
        getJobRequest - The request containing the job name for which the details are to be fetched. The name property is mandatory.
        Returns:
        A Mono that emits the GetJobResponse containing job details or raises an error if the job is not found.
      • deleteJob

        public reactor.core.publisher.Mono<Void> deleteJob(DeleteJobRequest deleteJobRequest)
        Deletes a job based on the given request.
        Parameters:
        deleteJobRequest - The request containing the job name to be deleted. The name property is mandatory.
        Returns:
        A Mono that completes when the job is successfully deleted or raises an error.
      • getMetadata

        public reactor.core.publisher.Mono<DaprMetadata> getMetadata()
        Description copied from interface: DaprClient
        Fetches Dapr Metadata from the metadata endpoint.
        Returns:
        DaprMetadata containing Dapr Metadata from the metadata endpoint.
      • converse

        @Deprecated(forRemoval=true) public reactor.core.publisher.Mono<ConversationResponse> converse(ConversationRequest conversationRequest)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • converseAlpha2

        public reactor.core.publisher.Mono<ConversationResponseAlpha2> converseAlpha2(ConversationRequestAlpha2 conversationRequestAlpha2)
      • encrypt

        public reactor.core.publisher.Flux<byte[]> encrypt(EncryptRequestAlpha1 request)
        Encrypt data using the Dapr cryptography building block. This method uses streaming to handle large payloads efficiently.
        Parameters:
        request - The encryption request containing component name, key information, and plaintext stream.
        Returns:
        A Flux of encrypted byte arrays (ciphertext chunks).
      • decrypt

        public reactor.core.publisher.Flux<byte[]> decrypt(DecryptRequestAlpha1 request)
        Decrypt data using the Dapr cryptography building block. This method uses streaming to handle large payloads efficiently.
        Parameters:
        request - The decryption request containing component name, optional key name, and ciphertext stream.
        Returns:
        A Flux of decrypted byte arrays (plaintext chunks).
      • publishEvent

        public reactor.core.publisher.Mono<Void> publishEvent(String pubsubName, String topicName, Object data)
        Publish an event.
        Specified by:
        publishEvent in interface DaprClient
        Parameters:
        pubsubName - the pubsub name we will publish the event to
        topicName - the topicName where the event will be published.
        data - the event's data to be published, use byte[] for skipping serialization.
        Returns:
        a Mono plan of type Void.
      • publishEvent

        public reactor.core.publisher.Mono<Void> publishEvent(String pubsubName, String topicName, Object data, Map<String,String> metadata)
        Publish an event.
        Specified by:
        publishEvent in interface DaprClient
        Parameters:
        pubsubName - the pubsub name we will publish the event to
        topicName - the topicName where the event will be published.
        data - the event's data to be published, use byte[] for skipping serialization.
        metadata - The metadata for the published event.
        Returns:
        a Mono plan of type Void.
      • invokeMethod

        public <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object data, HttpExtension httpExtension, Map<String,String> metadata, TypeRef<T> type)
        Invoke a service method, using serialization.
        Specified by:
        invokeMethod in interface DaprClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        data - The data to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in data.
        type - The Type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        public <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Map<String,String> metadata, Class<T> clazz)
        Invoke a service method, using serialization.
        Specified by:
        invokeMethod in interface DaprClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        clazz - The type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        public <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map<String,String> metadata, TypeRef<T> type)
        Invoke a service method, using serialization.
        Specified by:
        invokeMethod in interface DaprClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        type - The Type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        public <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map<String,String> metadata, Class<T> clazz)
        Invoke a service method, using serialization.
        Specified by:
        invokeMethod in interface DaprClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        clazz - The type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        public <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, TypeRef<T> type)
        Invoke a service method, using serialization.
        Specified by:
        invokeMethod in interface DaprClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        type - The Type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        public <T> reactor.core.publisher.Mono<T> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Class<T> clazz)
        Invoke a service method, using serialization.
        Specified by:
        invokeMethod in interface DaprClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        clazz - The type needed as return for the call.
        Returns:
        A Mono Plan of type T.
      • invokeMethod

        public reactor.core.publisher.Mono<Void> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension)
        Invoke a service method, using serialization.
        Specified by:
        invokeMethod in interface DaprClient
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        Returns:
        A Mono Plan of type Void.
      • invokeMethod

        public reactor.core.publisher.Mono<Void> invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Map<String,String> metadata)
        Invoke a service method, using serialization.
        Specified by:
        invokeMethod in interface DaprClient
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        Returns:
        A Mono Plan of type Void.
      • invokeMethod

        public reactor.core.publisher.Mono<Void> invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map<String,String> metadata)
        Invoke a service method, using serialization.
        Specified by:
        invokeMethod in interface DaprClient
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        Returns:
        A Mono Plan of type Void.
      • invokeMethod

        public reactor.core.publisher.Mono<byte[]> invokeMethod(String appId, String methodName, byte[] request, HttpExtension httpExtension, Map<String,String> metadata)
        Invoke a service method, without using serialization.
        Specified by:
        invokeMethod in interface DaprClient
        Parameters:
        appId - The Application ID where the service is.
        methodName - The actual Method to be call in the application.
        request - The request to be sent to invoke the service, use byte[] to skip serialization.
        httpExtension - Additional fields that are needed if the receiving app is listening on HTTP, HttpExtension.NONE otherwise.
        metadata - Metadata (in GRPC) or headers (in HTTP) to be sent in request.
        Returns:
        A Mono Plan of type byte[].
      • invokeBinding

        public reactor.core.publisher.Mono<Void> invokeBinding(String bindingName, String operation, Object data)
        Invokes a Binding operation.
        Specified by:
        invokeBinding in interface DaprClient
        Parameters:
        bindingName - The bindingName of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, use byte[] to skip serialization.
        Returns:
        an empty Mono.
      • invokeBinding

        public reactor.core.publisher.Mono<byte[]> invokeBinding(String bindingName, String operation, byte[] data, Map<String,String> metadata)
        Invokes a Binding operation, skipping serialization.
        Specified by:
        invokeBinding in interface DaprClient
        Parameters:
        bindingName - The name of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, skipping serialization.
        metadata - The metadata map.
        Returns:
        a Mono plan of type byte[].
      • invokeBinding

        public <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, TypeRef<T> type)
        Invokes a Binding operation.
        Specified by:
        invokeBinding in interface DaprClient
        Type Parameters:
        T - The type of the return
        Parameters:
        bindingName - The name of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, use byte[] to skip serialization.
        type - The type being returned.
        Returns:
        a Mono plan of type T.
      • invokeBinding

        public <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, Class<T> clazz)
        Invokes a Binding operation.
        Specified by:
        invokeBinding in interface DaprClient
        Type Parameters:
        T - The type of the return
        Parameters:
        bindingName - The name of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, use byte[] to skip serialization.
        clazz - The type being returned.
        Returns:
        a Mono plan of type T.
      • invokeBinding

        public <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, Map<String,String> metadata, TypeRef<T> type)
        Invokes a Binding operation.
        Specified by:
        invokeBinding in interface DaprClient
        Type Parameters:
        T - The type of the return
        Parameters:
        bindingName - The name of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, use byte[] to skip serialization.
        metadata - The metadata map.
        type - The type being returned.
        Returns:
        a Mono plan of type T.
      • invokeBinding

        public <T> reactor.core.publisher.Mono<T> invokeBinding(String bindingName, String operation, Object data, Map<String,String> metadata, Class<T> clazz)
        Invokes a Binding operation.
        Specified by:
        invokeBinding in interface DaprClient
        Type Parameters:
        T - The type of the return
        Parameters:
        bindingName - The name of the binding to call.
        operation - The operation to be performed by the binding request processor.
        data - The data to be processed, use byte[] to skip serialization.
        metadata - The metadata map.
        clazz - The type being returned.
        Returns:
        a Mono plan of type T.
      • invokeBinding

        public reactor.core.publisher.Mono<Void> invokeBinding(InvokeBindingRequest request)
        Invokes a Binding operation.
        Specified by:
        invokeBinding in interface DaprClient
        Parameters:
        request - The binding invocation request.
        Returns:
        a Mono with void.
      • getState

        public <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, State<T> state, TypeRef<T> type)
        Retrieve a State based on their key.
        Specified by:
        getState in interface DaprClient
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        state - State to be re-retrieved.
        type - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getState

        public <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, State<T> state, Class<T> clazz)
        Retrieve a State based on their key.
        Specified by:
        getState in interface DaprClient
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        state - State to be re-retrieved.
        clazz - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getState

        public <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, TypeRef<T> type)
        Retrieve a State based on their key.
        Specified by:
        getState in interface DaprClient
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be retrieved.
        type - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getState

        public <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, Class<T> clazz)
        Retrieve a State based on their key.
        Specified by:
        getState in interface DaprClient
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be retrieved.
        clazz - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getState

        public <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, StateOptions options, TypeRef<T> type)
        Retrieve a State based on their key.
        Specified by:
        getState in interface DaprClient
        Type Parameters:
        T - The Type of the return.
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be retrieved.
        options - Optional settings for retrieve operation.
        type - The Type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getState

        public <T> reactor.core.publisher.Mono<State<T>> getState(String storeName, String key, StateOptions options, Class<T> clazz)
        Retrieve a State based on their key.
        Specified by:
        getState in interface DaprClient
        Type Parameters:
        T - The Type of the return.
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be retrieved.
        options - Optional settings for retrieve operation.
        clazz - The Type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • queryState

        public <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, String query, Map<String,String> metadata, Class<T> clazz)
        Query for states using a query string.
        Specified by:
        queryState in interface DaprPreviewClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - String value of the query.
        metadata - Optional metadata passed to the state store.
        clazz - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        public <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, String query, Map<String,String> metadata, TypeRef<T> type)
        Query for states using a query string.
        Specified by:
        queryState in interface DaprPreviewClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - String value of the query.
        metadata - Optional metadata passed to the state store.
        type - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        public <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, String query, Class<T> clazz)
        Query for states using a query string.
        Specified by:
        queryState in interface DaprPreviewClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - String value of the query.
        clazz - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        public <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, String query, TypeRef<T> type)
        Query for states using a query string.
        Specified by:
        queryState in interface DaprPreviewClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - String value of the query.
        type - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        public <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, Query query, Map<String,String> metadata, Class<T> clazz)
        Query for states using a query domain object.
        Specified by:
        queryState in interface DaprPreviewClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - Query value domain object.
        metadata - Optional metadata passed to the state store.
        clazz - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        public <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, Query query, Map<String,String> metadata, TypeRef<T> type)
        Query for states using a query domain object.
        Specified by:
        queryState in interface DaprPreviewClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - Query value domain object.
        metadata - Optional metadata passed to the state store.
        type - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        public <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, Query query, Class<T> clazz)
        Query for states using a query domain object.
        Specified by:
        queryState in interface DaprPreviewClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - Query value domain object.
        clazz - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        public <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, Query query, TypeRef<T> type)
        Query for states using a query domain object.
        Specified by:
        queryState in interface DaprPreviewClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - Query value domain object.
        type - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        public <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(QueryStateRequest request, Class<T> clazz)
        Query for states using a query request.
        Specified by:
        queryState in interface DaprPreviewClient
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        request - Query request object.
        clazz - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • publishEvents

        public <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, List<T> events)
        Publish multiple events to Dapr in a single request.
        Specified by:
        publishEvents in interface DaprClient
        Specified by:
        publishEvents in interface DaprPreviewClient
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        contentType - the content type of the event. Use Mime based types.
        events - the List of events to be published.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • publishEvents

        public <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, T... events)
        Publish multiple events to Dapr in a single request.
        Specified by:
        publishEvents in interface DaprClient
        Specified by:
        publishEvents in interface DaprPreviewClient
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        contentType - the content type of the event. Use Mime based types.
        events - the varargs of events to be published.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • publishEvents

        public <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, Map<String,String> requestMetadata, T... events)
        Publish multiple events to Dapr in a single request.
        Specified by:
        publishEvents in interface DaprClient
        Specified by:
        publishEvents in interface DaprPreviewClient
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        contentType - the content type of the event. Use Mime based types.
        requestMetadata - the metadata to be set at the request level for the BulkPublishRequest.
        events - the varargs of events to be published.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • publishEvents

        public <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, Map<String,String> requestMetadata, List<T> events)
        Publish multiple events to Dapr in a single request.
        Specified by:
        publishEvents in interface DaprClient
        Specified by:
        publishEvents in interface DaprPreviewClient
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        contentType - the content type of the event. Use Mime based types.
        requestMetadata - the metadata to be set at the request level for the BulkPublishRequest.
        events - the List of events to be published.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • getBulkState

        public <T> reactor.core.publisher.Mono<List<State<T>>> getBulkState(String storeName, List<String> keys, TypeRef<T> type)
        Retrieve bulk States based on their keys.
        Specified by:
        getBulkState in interface DaprClient
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        keys - The keys of the State to be retrieved.
        type - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • getBulkState

        public <T> reactor.core.publisher.Mono<List<State<T>>> getBulkState(String storeName, List<String> keys, Class<T> clazz)
        Retrieve bulk States based on their keys.
        Specified by:
        getBulkState in interface DaprClient
        Type Parameters:
        T - The type of the return.
        Parameters:
        storeName - The name of the state store.
        keys - The keys of the State to be retrieved.
        clazz - The type of State needed as return.
        Returns:
        A Mono Plan for the requested State.
      • executeStateTransaction

        public reactor.core.publisher.Mono<Void> executeStateTransaction(String storeName, List<TransactionalStateOperation<?>> operations)
        Execute a transaction.
        Specified by:
        executeStateTransaction in interface DaprClient
        Parameters:
        storeName - The name of the state store.
        operations - The operations to be performed.
        Returns:
        a Mono plan of type Void
      • saveBulkState

        public reactor.core.publisher.Mono<Void> saveBulkState(String storeName, List<State<?>> states)
        Save/Update a list of states.
        Specified by:
        saveBulkState in interface DaprClient
        Parameters:
        storeName - The name of the state store.
        states - The States to be saved.
        Returns:
        a Mono plan of type Void.
      • saveState

        public reactor.core.publisher.Mono<Void> saveState(String storeName, String key, Object value)
        Save/Update a state.
        Specified by:
        saveState in interface DaprClient
        Parameters:
        storeName - The name of the state store.
        key - The key of the state.
        value - The value of the state.
        Returns:
        a Mono plan of type Void.
      • saveState

        public reactor.core.publisher.Mono<Void> saveState(String storeName, String key, String etag, Object value, StateOptions options)
        Save/Update a state.
        Specified by:
        saveState in interface DaprClient
        Parameters:
        storeName - The name of the state store.
        key - The key of the state.
        etag - The etag to be used.
        value - The value of the state.
        options - The Options to use for each state.
        Returns:
        a Mono plan of type Void.
      • saveState

        public reactor.core.publisher.Mono<Void> saveState(String storeName, String key, String etag, Object value, Map<String,String> meta, StateOptions options)
        Save/Update a state.
        Specified by:
        saveState in interface DaprClient
        Parameters:
        storeName - The name of the state store.
        key - The key of the state.
        etag - The etag to be used.
        value - The value of the state.
        meta - The metadata to be set to the state.
        options - The Options to use for each state.
        Returns:
        a Mono plan of type Void.
      • deleteState

        public reactor.core.publisher.Mono<Void> deleteState(String storeName, String key)
        Delete a state.
        Specified by:
        deleteState in interface DaprClient
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be removed.
        Returns:
        a Mono plan of type Void.
      • deleteState

        public reactor.core.publisher.Mono<Void> deleteState(String storeName, String key, String etag, StateOptions options)
        Delete a state.
        Specified by:
        deleteState in interface DaprClient
        Parameters:
        storeName - The name of the state store.
        key - The key of the State to be removed.
        etag - Optional etag for conditional delete.
        options - Optional settings for state operation.
        Returns:
        a Mono plan of type Void.
      • getSecret

        public reactor.core.publisher.Mono<Map<String,String>> getSecret(String storeName, String key, Map<String,String> metadata)
        Fetches a secret from the configured vault.
        Specified by:
        getSecret in interface DaprClient
        Parameters:
        storeName - Name of vault component in Dapr.
        key - Secret to be fetched.
        metadata - Optional metadata.
        Returns:
        Key-value pairs for the secret.
      • getSecret

        public reactor.core.publisher.Mono<Map<String,String>> getSecret(String storeName, String secretName)
        Fetches a secret from the configured vault.
        Specified by:
        getSecret in interface DaprClient
        Parameters:
        storeName - Name of vault component in Dapr.
        secretName - Secret to be fetched.
        Returns:
        Key-value pairs for the secret.
      • getBulkSecret

        public reactor.core.publisher.Mono<Map<String,Map<String,String>>> getBulkSecret(String storeName)
        Fetches all secrets from the configured vault.
        Specified by:
        getBulkSecret in interface DaprClient
        Parameters:
        storeName - Name of vault component in Dapr.
        Returns:
        Key-value pairs for all the secrets in the state store.
      • getBulkSecret

        public reactor.core.publisher.Mono<Map<String,Map<String,String>>> getBulkSecret(String storeName, Map<String,String> metadata)
        Fetches all secrets from the configured vault.
        Specified by:
        getBulkSecret in interface DaprClient
        Parameters:
        storeName - Name of vault component in Dapr.
        metadata - Optional metadata.
        Returns:
        Key-value pairs for all the secrets in the state store.
      • getConfiguration

        public reactor.core.publisher.Mono<ConfigurationItem> getConfiguration(String storeName, String key)
        Retrieve a configuration based on a provided key.
        Specified by:
        getConfiguration in interface DaprClient
        Parameters:
        storeName - Name of the configuration store
        key - key of the configuration item which is to be retrieved
        Returns:
        Mono of the Configuration Item
      • getConfiguration

        public reactor.core.publisher.Mono<ConfigurationItem> getConfiguration(String storeName, String key, Map<String,String> metadata)
        Retrieve a configuration based on a provided key.
        Specified by:
        getConfiguration in interface DaprClient
        Parameters:
        storeName - Name of the configuration store
        key - key of the configuration item which is to be retrieved
        metadata - optional metadata
        Returns:
        Mono of the Configuration Item
      • getConfiguration

        public reactor.core.publisher.Mono<Map<String,ConfigurationItem>> getConfiguration(String storeName, String... keys)
        Retrieve Map of configurations based on a provided variable number of keys.
        Specified by:
        getConfiguration in interface DaprClient
        Parameters:
        storeName - Name of the configuration store
        keys - keys of the configurations which are to be retrieved
        Returns:
        Mono of Map of ConfigurationItems
      • getConfiguration

        public reactor.core.publisher.Mono<Map<String,ConfigurationItem>> getConfiguration(String storeName, List<String> keys, Map<String,String> metadata)
        Retrieve Map of configurations based on a provided variable number of keys.
        Specified by:
        getConfiguration in interface DaprClient
        Parameters:
        storeName - Name of the configuration store
        keys - keys of the configurations which are to be retrieved
        metadata - optional metadata
        Returns:
        Mono of Map of ConfigurationItems
      • subscribeConfiguration

        public reactor.core.publisher.Flux<SubscribeConfigurationResponse> subscribeConfiguration(String storeName, String... keys)
        Subscribe to the keys for any change.
        Specified by:
        subscribeConfiguration in interface DaprClient
        Parameters:
        storeName - Name of the configuration store
        keys - keys of the configurations which are to be subscribed
        Returns:
        Flux of SubscribeConfigurationResponse instance
      • subscribeConfiguration

        public reactor.core.publisher.Flux<SubscribeConfigurationResponse> subscribeConfiguration(String storeName, List<String> keys, Map<String,String> metadata)
        Subscribe to the keys for any change.
        Specified by:
        subscribeConfiguration in interface DaprClient
        Parameters:
        storeName - Name of the configuration store
        keys - keys of the configurations which are to be subscribed
        metadata - optional metadata
        Returns:
        Flux of SubscribeConfigurationResponse instance
      • unsubscribeConfiguration

        public reactor.core.publisher.Mono<UnsubscribeConfigurationResponse> unsubscribeConfiguration(String id, String storeName)
        Unsubscribe from previously subscribed keys.
        Specified by:
        unsubscribeConfiguration in interface DaprClient
        Parameters:
        id - subscription id returned by subscribeConfiguration API.
        storeName - Name of the configuration store.
        Returns:
        Mono of UnsubscribeConfigurationResponse instance.
      • tryLock

        public reactor.core.publisher.Mono<Boolean> tryLock(String storeName, String resourceId, String lockOwner, Integer expiryInSeconds)
        Tries to get a lock with an expiry.
        Specified by:
        tryLock in interface DaprPreviewClient
        Parameters:
        storeName - Name of the store
        resourceId - Lock key
        lockOwner - The identifier of lock owner
        expiryInSeconds - The time before expiry
        Returns:
        Whether the lock is successful
      • unlock

        public reactor.core.publisher.Mono<UnlockResponseStatus> unlock(String storeName, String resourceId, String lockOwner)
        Unlocks a lock.
        Specified by:
        unlock in interface DaprPreviewClient
        Parameters:
        storeName - Name of the store
        resourceId - Lock key
        lockOwner - The identifier of lock owner
        Returns:
        Unlock result

    ================================================ FILE: docs/io/dapr/client/DaprHttp.HttpMethods.html ================================================ DaprHttp.HttpMethods (dapr-sdk-parent 1.17.2 API)

    Enum DaprHttp.HttpMethods

    java.lang.Object
    java.lang.Enum<DaprHttp.HttpMethods>
    io.dapr.client.DaprHttp.HttpMethods
    All Implemented Interfaces:
    Serializable, Comparable<DaprHttp.HttpMethods>
    Enclosing class:
    DaprHttp

    public static enum DaprHttp.HttpMethods extends Enum<DaprHttp.HttpMethods>
    HTTP Methods supported.

    ================================================ FILE: docs/io/dapr/client/DaprHttp.Response.html ================================================ DaprHttp.Response (dapr-sdk-parent 1.17.2 API)

    Class DaprHttp.Response

    java.lang.Object
    io.dapr.client.DaprHttp.Response
    Enclosing class:
    DaprHttp

    public static class DaprHttp.Response extends Object
    • Constructor Details

      • Response

        public Response(byte[] body, Map<String,String> headers, int statusCode)
        Represents a HTTP response.
        Parameters:
        body - The body of the http response.
        headers - The headers of the http response.
        statusCode - The status code of the http response.
    • Method Details

      • getBody

        public byte[] getBody()
      • getHeaders

        public Map<String,String> getHeaders()
      • getStatusCode

        public int getStatusCode()

    ================================================ FILE: docs/io/dapr/client/DaprHttp.html ================================================ DaprHttp (dapr-sdk-parent 1.17.2 API)

    Class DaprHttp

    java.lang.Object
    io.dapr.client.DaprHttp
    All Implemented Interfaces:
    AutoCloseable

    public class DaprHttp extends Object implements AutoCloseable
    • Field Details

    • Method Details

      • invokeApi

        public reactor.core.publisher.Mono<DaprHttp.Response> invokeApi(String method, String[] pathSegments, Map<String,List<String>> urlParameters, Map<String,String> headers, reactor.util.context.ContextView context)
        Invokes an API asynchronously without payload that returns a text payload.
        Parameters:
        method - HTTP method.
        pathSegments - Array of path segments ("/a/b/c" maps to ["a", "b", "c"]).
        urlParameters - URL parameters
        headers - HTTP headers.
        context - OpenTelemetry's Context.
        Returns:
        Asynchronous text
      • invokeApi

        public reactor.core.publisher.Mono<DaprHttp.Response> invokeApi(String method, String[] pathSegments, Map<String,List<String>> urlParameters, String content, Map<String,String> headers, reactor.util.context.ContextView context)
        Invokes an API asynchronously that returns a text payload.
        Parameters:
        method - HTTP method.
        pathSegments - Array of path segments ("/a/b/c" maps to ["a", "b", "c"]).
        urlParameters - Parameters in the URL
        content - payload to be posted.
        headers - HTTP headers.
        context - OpenTelemetry's Context.
        Returns:
        Asynchronous response
      • invokeApi

        public reactor.core.publisher.Mono<DaprHttp.Response> invokeApi(String method, String[] pathSegments, Map<String,List<String>> urlParameters, byte[] content, Map<String,String> headers, reactor.util.context.ContextView context)
        Invokes an API asynchronously that returns a text payload.
        Parameters:
        method - HTTP method.
        pathSegments - Array of path segments ("/a/b/c" maps to ["a", "b", "c"]).
        urlParameters - Parameters in the URL
        content - payload to be posted.
        headers - HTTP headers.
        context - OpenTelemetry's Context.
        Returns:
        Asynchronous response
      • close

        public void close()
        Shutdown call is not necessary for HttpClient.
        Specified by:
        close in interface AutoCloseable
        See Also:

    ================================================ FILE: docs/io/dapr/client/DaprHttpBuilder.html ================================================ DaprHttpBuilder (dapr-sdk-parent 1.17.2 API)

    Class DaprHttpBuilder

    java.lang.Object
    io.dapr.client.DaprHttpBuilder

    public class DaprHttpBuilder extends Object
    A builder for the DaprHttp.
    • Constructor Details

      • DaprHttpBuilder

        public DaprHttpBuilder()
    • Method Details

      • build

        public DaprHttp build(Properties properties)
        Build an instance of the Http client based on the provided setup.
        Parameters:
        properties - to configure the DaprHttp client
        Returns:
        an instance of DaprHttp
        Throws:
        IllegalStateException - if any required field is missing

    ================================================ FILE: docs/io/dapr/client/DaprPreviewClient.html ================================================ DaprPreviewClient (dapr-sdk-parent 1.17.2 API)

    Interface DaprPreviewClient

    All Superinterfaces:
    AutoCloseable
    All Known Implementing Classes:
    DaprClientImpl

    public interface DaprPreviewClient extends AutoCloseable
    Generic client interface for preview or alpha APIs in Dapr, regardless of GRPC or HTTP.
    See Also:
    • Method Details

      • queryState

        <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, String query, Map<String,String> metadata, Class<T> clazz)
        Query for states using a query string.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - String value of the query.
        metadata - Optional metadata passed to the state store.
        clazz - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, String query, Map<String,String> metadata, TypeRef<T> type)
        Query for states using a query string.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - String value of the query.
        metadata - Optional metadata passed to the state store.
        type - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, String query, Class<T> clazz)
        Query for states using a query string.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - String value of the query.
        clazz - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, String query, TypeRef<T> type)
        Query for states using a query string.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - String value of the query.
        type - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, Query query, Map<String,String> metadata, Class<T> clazz)
        Query for states using a query domain object.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - Query value domain object.
        metadata - Optional metadata passed to the state store.
        clazz - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, Query query, Map<String,String> metadata, TypeRef<T> type)
        Query for states using a query domain object.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - Query value domain object.
        metadata - Optional metadata passed to the state store.
        type - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, Query query, Class<T> clazz)
        Query for states using a query domain object.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - Query value domain object.
        clazz - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(String storeName, Query query, TypeRef<T> type)
        Query for states using a query domain object.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        storeName - Name of the state store to query.
        query - Query value domain object.
        type - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(QueryStateRequest request, Class<T> clazz)
        Query for states using a query request.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        request - Query request object.
        clazz - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • queryState

        <T> reactor.core.publisher.Mono<QueryStateResponse<T>> queryState(QueryStateRequest request, TypeRef<T> type)
        Query for states using a query request.
        Type Parameters:
        T - The Type of the return, use byte[] to skip serialization.
        Parameters:
        request - Query request object.
        type - The type needed as return for the call.
        Returns:
        A Mono of QueryStateResponse of type T.
      • publishEvents

        @Deprecated <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(BulkPublishRequest<T> request)
        Deprecated.
        This method is now stable. Use DaprClient.publishEvents(BulkPublishRequest) instead.
        Publish multiple events to Dapr in a single request.
        Type Parameters:
        T - The type of events to publish in the call.
        Parameters:
        request - BulkPublishRequest object.
        Returns:
        A Mono of BulkPublishResponse object.
      • publishEvents

        @Deprecated <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, List<T> events)
        Deprecated.
        This method is now stable. Use DaprClient.publishEvents(String, String, String, List) instead.
        Publish multiple events to Dapr in a single request.
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        events - the List of events to be published.
        contentType - the content type of the event. Use Mime based types.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • publishEvents

        @Deprecated <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, T... events)
        Deprecated.
        This method is now stable. Use DaprClient.publishEvents(String, String, String, Object[]) instead.
        Publish multiple events to Dapr in a single request.
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        events - the varargs of events to be published.
        contentType - the content type of the event. Use Mime based types.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • publishEvents

        @Deprecated <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, Map<String,String> requestMetadata, List<T> events)
        Deprecated.
        This method is now stable. Use DaprClient.publishEvents(String, String, String, Map, List) instead.
        Publish multiple events to Dapr in a single request.
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        events - the List of events to be published.
        contentType - the content type of the event. Use Mime based types.
        requestMetadata - the metadata to be set at the request level for the BulkPublishRequest.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • publishEvents

        @Deprecated <T> reactor.core.publisher.Mono<BulkPublishResponse<T>> publishEvents(String pubsubName, String topicName, String contentType, Map<String,String> requestMetadata, T... events)
        Deprecated.
        Publish multiple events to Dapr in a single request.
        Type Parameters:
        T - The type of the events to publish in the call.
        Parameters:
        pubsubName - the pubsub name we will publish the event to.
        topicName - the topicName where the event will be published.
        events - the varargs of events to be published.
        contentType - the content type of the event. Use Mime based types.
        requestMetadata - the metadata to be set at the request level for the BulkPublishRequest.
        Returns:
        the BulkPublishResponse containing publish status of each event. The "entryID" field in BulkPublishEntry in BulkPublishResponseFailedEntry will be generated based on the order of events in the List.
      • tryLock

        reactor.core.publisher.Mono<Boolean> tryLock(String storeName, String resourceId, String lockOwner, Integer expiryInSeconds)
        Tries to get a lock with an expiry.
        Parameters:
        storeName - Name of the store
        resourceId - Lock key
        lockOwner - The identifier of lock owner
        expiryInSeconds - The time before expiry
        Returns:
        Whether the lock is successful
      • tryLock

        reactor.core.publisher.Mono<Boolean> tryLock(LockRequest request)
        Tries to get a lock with an expiry.
        Parameters:
        request - The request to lock
        Returns:
        Whether the lock is successful
      • unlock

        reactor.core.publisher.Mono<UnlockResponseStatus> unlock(String storeName, String resourceId, String lockOwner)
        Unlocks a lock.
        Parameters:
        storeName - Name of the store
        resourceId - Lock key
        lockOwner - The identifier of lock owner
        Returns:
        Unlock result
      • unlock

        reactor.core.publisher.Mono<UnlockResponseStatus> unlock(UnlockRequest request)
        Unlocks a lock.
        Parameters:
        request - The request to unlock
        Returns:
        Unlock result
      • subscribeToEvents

        @Deprecated <T> Subscription subscribeToEvents(String pubsubName, String topic, SubscriptionListener<T> listener, TypeRef<T> type)
        Deprecated.
        Use subscribeToTopic(String, String, TypeRef) instead for a more reactive approach.
        Subscribe to pubsub via streaming.
        Type Parameters:
        T - Type of object deserialization.
        Parameters:
        pubsubName - Name of the pubsub component.
        topic - Name of the topic to subscribe to.
        listener - Callback methods to process events.
        type - Type for object deserialization.
        Returns:
        An active subscription.
      • subscribeToEvents

        @Deprecated <T> reactor.core.publisher.Flux<T> subscribeToEvents(String pubsubName, String topic, TypeRef<T> type)
        Subscribe to pubsub events via streaming using Project Reactor Flux.
        Type Parameters:
        T - Type of the event payload.
        Parameters:
        pubsubName - Name of the pubsub component.
        topic - Name of the topic to subscribe to.
        type - Type for object deserialization.
        Returns:
        A Flux of deserialized event payloads.
      • subscribeToEvents

        @Deprecated <T> reactor.core.publisher.Flux<T> subscribeToEvents(String pubsubName, String topic, TypeRef<T> type, Map<String,String> metadata)
        Subscribe to pubsub events via streaming using Project Reactor Flux with metadata support.
        Type Parameters:
        T - Type of the event payload.
        Parameters:
        pubsubName - Name of the pubsub component.
        topic - Name of the topic to subscribe to.
        type - Type for object deserialization.
        metadata - Subscription metadata (e.g., {"rawPayload": "true"}).
        Returns:
        A Flux of deserialized event payloads.
      • subscribeToTopic

        <T> reactor.core.publisher.Flux<T> subscribeToTopic(String pubsubName, String topic, TypeRef<T> type)
        Subscribe to pubsub events via streaming using Project Reactor Flux.

        The type parameter determines what is deserialized from the event data:

        • Use TypeRef.STRING or similar for raw payload data
        • Use new TypeRef<CloudEvent<String>>(){} to receive CloudEvent with metadata
        Type Parameters:
        T - Type of the event payload.
        Parameters:
        pubsubName - Name of the pubsub component.
        topic - Name of the topic to subscribe to.
        type - Type for object deserialization.
        Returns:
        A Flux of deserialized event payloads.
      • subscribeToTopic

        <T> reactor.core.publisher.Flux<T> subscribeToTopic(String pubsubName, String topic, TypeRef<T> type, Map<String,String> metadata)
        Subscribe to pubsub events via streaming using Project Reactor Flux with metadata support.

        If metadata is null or empty, this method delegates to subscribeToTopic(String, String, TypeRef). Use metadata {"rawPayload": "true"} for raw payload subscriptions where Dapr delivers messages without CloudEvent wrapping.

        Type Parameters:
        T - Type of the event payload.
        Parameters:
        pubsubName - Name of the pubsub component.
        topic - Name of the topic to subscribe to.
        type - Type for object deserialization.
        metadata - Subscription metadata (e.g., {"rawPayload": "true"}).
        Returns:
        A Flux of deserialized event payloads.
      • converse

        @Deprecated reactor.core.publisher.Mono<ConversationResponse> converse(ConversationRequest conversationRequest)
        Deprecated.
      • converseAlpha2

        reactor.core.publisher.Mono<ConversationResponseAlpha2> converseAlpha2(ConversationRequestAlpha2 conversationRequestAlpha2)
      • encrypt

        reactor.core.publisher.Flux<byte[]> encrypt(EncryptRequestAlpha1 request)
        Encrypt data using the Dapr cryptography building block. This method uses streaming to handle large payloads efficiently.
        Parameters:
        request - The encryption request containing component name, key information, and plaintext stream.
        Returns:
        A Flux of encrypted byte arrays (ciphertext chunks).
        Throws:
        IllegalArgumentException - if required parameters are missing.
      • decrypt

        reactor.core.publisher.Flux<byte[]> decrypt(DecryptRequestAlpha1 request)
        Decrypt data using the Dapr cryptography building block. This method uses streaming to handle large payloads efficiently.
        Parameters:
        request - The decryption request containing component name, optional key name, and ciphertext stream.
        Returns:
        A Flux of decrypted byte arrays (plaintext chunks).
        Throws:
        IllegalArgumentException - if required parameters are missing.

    ================================================ FILE: docs/io/dapr/client/Headers.html ================================================ Headers (dapr-sdk-parent 1.17.2 API)

    Class Headers

    java.lang.Object
    io.dapr.client.Headers

    public final class Headers extends Object
    Common headers for GRPC and HTTP communication.
    • Field Details

    • Constructor Details

      • Headers

        public Headers()

    ================================================ FILE: docs/io/dapr/client/ObjectSerializer.html ================================================ ObjectSerializer (dapr-sdk-parent 1.17.2 API)

    Class ObjectSerializer

    java.lang.Object
    io.dapr.client.ObjectSerializer
    Direct Known Subclasses:
    ActorObjectSerializer, CustomizableObjectSerializer, DefaultObjectSerializer

    public class ObjectSerializer extends Object
    Serializes and deserializes an internal object.
    • Field Summary

      Fields
      Modifier and Type
      Field
      Description
      protected static final com.fasterxml.jackson.databind.ObjectMapper
      Shared Json serializer/deserializer as per Jackson's documentation.
    • Constructor Summary

      Constructors
      Modifier
      Constructor
      Description
      protected
      Default constructor to avoid class from being instantiated outside package but still inherited.
    • Method Summary

      Modifier and Type
      Method
      Description
      <T> T
      deserialize(byte[] content, TypeRef<T> type)
      Deserializes the byte array into the original object.
      <T> T
      deserialize(byte[] content, Class<T> clazz)
      Deserializes the byte array into the original object.
      protected com.fasterxml.jackson.databind.ObjectMapper
       
      com.fasterxml.jackson.databind.JsonNode
      parseNode(byte[] content)
      Parses the JSON content into a node for fine-grained processing.
      byte[]
      Serializes a given state object into byte array.

      Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Details

      • OBJECT_MAPPER

        protected static final com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER
        Shared Json serializer/deserializer as per Jackson's documentation.
    • Constructor Details

      • ObjectSerializer

        protected ObjectSerializer()
        Default constructor to avoid class from being instantiated outside package but still inherited.
    • Method Details

      • getObjectMapper

        protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
      • serialize

        public byte[] serialize(Object state) throws IOException
        Serializes a given state object into byte array.
        Parameters:
        state - State object to be serialized.
        Returns:
        Array of bytes[] with the serialized content.
        Throws:
        IOException - In case state cannot be serialized.
      • deserialize

        public <T> T deserialize(byte[] content, TypeRef<T> type) throws IOException
        Deserializes the byte array into the original object.
        Type Parameters:
        T - Generic type of the object being deserialized.
        Parameters:
        content - Content to be parsed.
        type - Type of the object being deserialized.
        Returns:
        Object of type T.
        Throws:
        IOException - In case content cannot be deserialized.
      • deserialize

        public <T> T deserialize(byte[] content, Class<T> clazz) throws IOException
        Deserializes the byte array into the original object.
        Type Parameters:
        T - Generic type of the object being deserialized.
        Parameters:
        content - Content to be parsed.
        clazz - Type of the object being deserialized.
        Returns:
        Object of type T.
        Throws:
        IOException - In case content cannot be deserialized.
      • parseNode

        public com.fasterxml.jackson.databind.JsonNode parseNode(byte[] content) throws IOException
        Parses the JSON content into a node for fine-grained processing.
        Parameters:
        content - JSON content.
        Returns:
        JsonNode.
        Throws:
        IOException - In case content cannot be parsed.

    ================================================ FILE: docs/io/dapr/client/class-use/DaprClient.html ================================================ Uses of Interface io.dapr.client.DaprClient (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.client.DaprClient

    Packages that use DaprClient

    ================================================ FILE: docs/io/dapr/client/class-use/DaprClientBuilder.html ================================================ Uses of Class io.dapr.client.DaprClientBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.DaprClientBuilder

    Packages that use DaprClientBuilder

    ================================================ FILE: docs/io/dapr/client/class-use/DaprClientImpl.html ================================================ Uses of Class io.dapr.client.DaprClientImpl (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.DaprClientImpl

    No usage of io.dapr.client.DaprClientImpl

    ================================================ FILE: docs/io/dapr/client/class-use/DaprHttp.HttpMethods.html ================================================ Uses of Enum io.dapr.client.DaprHttp.HttpMethods (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.client.DaprHttp.HttpMethods

    Packages that use DaprHttp.HttpMethods
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/class-use/DaprHttp.Response.html ================================================ Uses of Class io.dapr.client.DaprHttp.Response (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.DaprHttp.Response

    Packages that use DaprHttp.Response
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/class-use/DaprHttp.html ================================================ Uses of Class io.dapr.client.DaprHttp (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.DaprHttp

    Packages that use DaprHttp
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/class-use/DaprHttpBuilder.html ================================================ Uses of Class io.dapr.client.DaprHttpBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.DaprHttpBuilder

    No usage of io.dapr.client.DaprHttpBuilder

    ================================================ FILE: docs/io/dapr/client/class-use/DaprPreviewClient.html ================================================ Uses of Interface io.dapr.client.DaprPreviewClient (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.client.DaprPreviewClient

    Packages that use DaprPreviewClient
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/class-use/Headers.html ================================================ Uses of Class io.dapr.client.Headers (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.Headers

    No usage of io.dapr.client.Headers

    ================================================ FILE: docs/io/dapr/client/class-use/ObjectSerializer.html ================================================ Uses of Class io.dapr.client.ObjectSerializer (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.ObjectSerializer

    Packages that use ObjectSerializer
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/ActorMetadata.html ================================================ ActorMetadata (dapr-sdk-parent 1.17.2 API)

    Class ActorMetadata

    java.lang.Object
    io.dapr.client.domain.ActorMetadata

    public final class ActorMetadata extends Object
    ActorMetadata describes a registered Dapr Actor.
    • Constructor Details

      • ActorMetadata

        public ActorMetadata(String type, int count)
        Constructor for a ActorMetadata.
        Parameters:
        type - of the actor
        count - number of actors of a particular type
    • Method Details

      • getType

        public String getType()
      • getCount

        public int getCount()

    ================================================ FILE: docs/io/dapr/client/domain/AppConnectionPropertiesHealthMetadata.html ================================================ AppConnectionPropertiesHealthMetadata (dapr-sdk-parent 1.17.2 API)

    Class AppConnectionPropertiesHealthMetadata

    java.lang.Object
    io.dapr.client.domain.AppConnectionPropertiesHealthMetadata

    public final class AppConnectionPropertiesHealthMetadata extends Object
    AppConnectionPropertiesHealthMetadata describes the application health properties.
    • Constructor Details

      • AppConnectionPropertiesHealthMetadata

        public AppConnectionPropertiesHealthMetadata(String healthCheckPath, String healthProbeInterval, String healthProbeTimeout, int healthThreshold)
        Constructor for a AppConnectionPropertiesHealthMetadata.
        Parameters:
        healthCheckPath - of the application
        healthProbeInterval - time interval between health probes
        healthProbeTimeout - timeout for each health probe
        healthThreshold - max number of failed health probes
    • Method Details

      • getHealthCheckPath

        public String getHealthCheckPath()
      • getHealthProbeInterval

        public String getHealthProbeInterval()
      • getHealthProbeTimeout

        public String getHealthProbeTimeout()
      • getHealthThreshold

        public int getHealthThreshold()

    ================================================ FILE: docs/io/dapr/client/domain/AppConnectionPropertiesMetadata.html ================================================ AppConnectionPropertiesMetadata (dapr-sdk-parent 1.17.2 API)

    Class AppConnectionPropertiesMetadata

    java.lang.Object
    io.dapr.client.domain.AppConnectionPropertiesMetadata

    public final class AppConnectionPropertiesMetadata extends Object
    AppConnectionPropertiesMetadata describes the application connection properties.
    • Constructor Details

      • AppConnectionPropertiesMetadata

        public AppConnectionPropertiesMetadata(int port, String protocol, String channelAddress, int maxConcurrency, AppConnectionPropertiesHealthMetadata health)
        Constructor for a AppConnectionPropertiesMetadata.
        Parameters:
        port - of the application
        protocol - of the application
        channelAddress - host address of the application
        maxConcurrency - number of concurrent requests the app can handle
        health - health check details of the application
    • Method Details

      • getPort

        public int getPort()
      • getProtocol

        public String getProtocol()
      • getChannelAddress

        public String getChannelAddress()
      • getMaxConcurrency

        public int getMaxConcurrency()
      • getHealth


    ================================================ FILE: docs/io/dapr/client/domain/BulkPublishEntry.html ================================================ BulkPublishEntry (dapr-sdk-parent 1.17.2 API)

    Class BulkPublishEntry<T>

    java.lang.Object
    io.dapr.client.domain.BulkPublishEntry<T>
    Type Parameters:
    T - Type of the event that is part of the request.

    public final class BulkPublishEntry<T> extends Object
    Class representing an entry in the BulkPublishRequest or BulkPublishResponse.
    • Constructor Details

      • BulkPublishEntry

        public BulkPublishEntry(String entryId, T event, String contentType)
        Constructor for the BulkPublishRequestEntry object.
        Parameters:
        entryId - A request scoped ID uniquely identifying this entry in the BulkPublishRequest.
        event - Event to be published.
        contentType - Content Type of the event to be published in MIME format.
      • BulkPublishEntry

        public BulkPublishEntry(String entryId, T event, String contentType, Map<String,String> metadata)
        Constructor for the BulkPublishRequestEntry object.
        Parameters:
        entryId - A request scoped ID uniquely identifying this entry in the BulkPublishRequest.
        event - Event to be published.
        contentType - Content Type of the event to be published in MIME format.
        metadata - Metadata for the event.
    • Method Details

      • getEntryId

        public String getEntryId()
      • getEvent

        public T getEvent()
      • getContentType

        public String getContentType()
      • getMetadata

        public Map<String,String> getMetadata()

    ================================================ FILE: docs/io/dapr/client/domain/BulkPublishRequest.html ================================================ BulkPublishRequest (dapr-sdk-parent 1.17.2 API)

    Class BulkPublishRequest<T>

    java.lang.Object
    io.dapr.client.domain.BulkPublishRequest<T>
    Type Parameters:
    T - Type parameter of the event.

    public final class BulkPublishRequest<T> extends Object
    A request to bulk publish multiples events in a single call to Dapr.
    • Constructor Details

      • BulkPublishRequest

        public BulkPublishRequest(String pubsubName, String topic, List<BulkPublishEntry<T>> entries)
        Constructor for BulkPublishRequest.
        Parameters:
        pubsubName - Name of the pubsub to publish to.
        topic - Name of the topic to publish to.
        entries - List of BulkPublishEntry objects.
      • BulkPublishRequest

        public BulkPublishRequest(String pubsubName, String topic, List<BulkPublishEntry<T>> entries, Map<String,String> metadata)
        Constructor for the BulkPublishRequest.
        Parameters:
        pubsubName - Name of the pubsub to publish to.
        topic - Name of the topic to publish to.
        entries - List of BulkPublishEntry objects.
        metadata - Metadata for the request.
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/BulkPublishResponse.html ================================================ BulkPublishResponse (dapr-sdk-parent 1.17.2 API)

    Class BulkPublishResponse<T>

    java.lang.Object
    io.dapr.client.domain.BulkPublishResponse<T>

    public class BulkPublishResponse<T> extends Object
    Class representing the response returned on bulk publishing events.
    • Constructor Details

      • BulkPublishResponse

        public BulkPublishResponse()
        Default constructor for class.
      • BulkPublishResponse

        public BulkPublishResponse(List<BulkPublishResponseFailedEntry<T>> failedEntries)
        Constructor for the BulkPublishResponse object.
        Parameters:
        failedEntries - The List of BulkPublishResponseEntries representing the list of events that failed to be published.
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/BulkPublishResponseFailedEntry.html ================================================ BulkPublishResponseFailedEntry (dapr-sdk-parent 1.17.2 API)

    Class BulkPublishResponseFailedEntry<T>

    java.lang.Object
    io.dapr.client.domain.BulkPublishResponseFailedEntry<T>

    public final class BulkPublishResponseFailedEntry<T> extends Object
    Class representing the entry that failed to be published using BulkPublishRequest.
    • Constructor Details

      • BulkPublishResponseFailedEntry

        public BulkPublishResponseFailedEntry(BulkPublishEntry<T> entry, String errorMessage)
        Constructor for BulkPublishResponseFailedEntry.
        Parameters:
        entry - The entry that has failed.
        errorMessage - The error message for why the entry failed.
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/BulkSubscribeAppResponse.html ================================================ BulkSubscribeAppResponse (dapr-sdk-parent 1.17.2 API)

    Class BulkSubscribeAppResponse

    java.lang.Object
    io.dapr.client.domain.BulkSubscribeAppResponse

    public final class BulkSubscribeAppResponse extends Object
    Response from the application containing status for each entry from the bulk publish message.

    ================================================ FILE: docs/io/dapr/client/domain/BulkSubscribeAppResponseEntry.html ================================================ BulkSubscribeAppResponseEntry (dapr-sdk-parent 1.17.2 API)

    Class BulkSubscribeAppResponseEntry

    java.lang.Object
    io.dapr.client.domain.BulkSubscribeAppResponseEntry

    public final class BulkSubscribeAppResponseEntry extends Object
    • Constructor Details

      • BulkSubscribeAppResponseEntry

        public BulkSubscribeAppResponseEntry(String entryId, BulkSubscribeAppResponseStatus status)
        Instantiate a BulkSubscribeAppResponseEntry.
        Parameters:
        entryId - entry ID of the event.
        status - status of the event processing in application.
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/BulkSubscribeAppResponseStatus.html ================================================ BulkSubscribeAppResponseStatus (dapr-sdk-parent 1.17.2 API)

    Enum BulkSubscribeAppResponseStatus

    java.lang.Object
    java.lang.Enum<BulkSubscribeAppResponseStatus>
    io.dapr.client.domain.BulkSubscribeAppResponseStatus
    All Implemented Interfaces:
    Serializable, Comparable<BulkSubscribeAppResponseStatus>

    public enum BulkSubscribeAppResponseStatus extends Enum<BulkSubscribeAppResponseStatus>
    Status of the message handled in bulk subscribe handler.
    • Enum Constant Details

    • Method Details

      • values

        public static BulkSubscribeAppResponseStatus[] values()
        Returns an array containing the constants of this enum type, in the order they are declared.
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static BulkSubscribeAppResponseStatus valueOf(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null

    ================================================ FILE: docs/io/dapr/client/domain/BulkSubscribeMessage.html ================================================ BulkSubscribeMessage (dapr-sdk-parent 1.17.2 API)

    Class BulkSubscribeMessage<T>

    java.lang.Object
    io.dapr.client.domain.BulkSubscribeMessage<T>

    public final class BulkSubscribeMessage<T> extends Object
    Represents a bulk of messages received from the message bus.

    ================================================ FILE: docs/io/dapr/client/domain/BulkSubscribeMessageEntry.html ================================================ BulkSubscribeMessageEntry (dapr-sdk-parent 1.17.2 API)

    Class BulkSubscribeMessageEntry<T>

    java.lang.Object
    io.dapr.client.domain.BulkSubscribeMessageEntry<T>
    Type Parameters:
    T - Type of event.

    public final class BulkSubscribeMessageEntry<T> extends Object
    Represents a single event from a BulkSubscribeMessage.
    • Constructor Details

      • BulkSubscribeMessageEntry

        public BulkSubscribeMessageEntry(String entryId, T event, String contentType, Map<String,String> metadata)
        Instantiate a BulkPubSubMessageEntry.
        Parameters:
        entryId - unique identifier for the event.
        event - pubSub event.
        contentType - content type of the event.
        metadata - metadata for the event.
    • Method Details

      • getEntryId

        public String getEntryId()
      • getEvent

        public T getEvent()
      • getContentType

        public String getContentType()
      • getMetadata

        public Map<String,String> getMetadata()

    ================================================ FILE: docs/io/dapr/client/domain/CloudEvent.html ================================================ CloudEvent (dapr-sdk-parent 1.17.2 API)

    Class CloudEvent<T>

    java.lang.Object
    io.dapr.client.domain.CloudEvent<T>
    Type Parameters:
    T - The type of the payload.

    public class CloudEvent<T> extends Object
    A cloud event in Dapr.
    • Field Details

      • CONTENT_TYPE

        public static final String CONTENT_TYPE
        Mime type used for CloudEvent.
        See Also:
      • OBJECT_MAPPER

        protected static final com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER
        Shared Json serializer/deserializer as per Jackson's documentation.
    • Constructor Details

      • CloudEvent

        public CloudEvent()
        Instantiates a CloudEvent.
      • CloudEvent

        public CloudEvent(String id, String source, String type, String specversion, String datacontenttype, T data)
        Instantiates a CloudEvent.
        Parameters:
        id - Identifier of the message being processed.
        source - Source for this event.
        type - Type of event.
        specversion - Version of the event spec.
        datacontenttype - Type of the payload.
        data - Payload.
      • CloudEvent

        public CloudEvent(String id, String source, String type, String specversion, byte[] binaryData)
        Instantiates a CloudEvent.
        Parameters:
        id - Identifier of the message being processed.
        source - Source for this event.
        type - Type of event.
        specversion - Version of the event spec.
        binaryData - Payload.
    • Method Details

      • deserialize

        public static CloudEvent<?> deserialize(byte[] payload) throws IOException
        Deserialize a message topic from Dapr.
        Parameters:
        payload - Payload sent from Dapr.
        Returns:
        Message (can be null if input is null)
        Throws:
        IOException - If cannot parse.
      • getId

        public String getId()
        Gets the identifier of the message being processed.
        Returns:
        Identifier of the message being processed.
      • setId

        public void setId(String id)
        Sets the identifier of the message being processed.
        Parameters:
        id - Identifier of the message being processed.
      • getSource

        public String getSource()
        Gets the event's source.
        Returns:
        Event's source.
      • setSource

        public void setSource(String source)
        Sets the event's source.
        Parameters:
        source - Event's source.
      • getType

        public String getType()
        Gets the envelope type.
        Returns:
        Envelope type.
      • setType

        public void setType(String type)
        Sets the envelope type.
        Parameters:
        type - Envelope type.
      • getSpecversion

        public String getSpecversion()
        Gets the version of the specification.
        Returns:
        Version of the specification.
      • setSpecversion

        public void setSpecversion(String specversion)
        Sets the version of the specification.
        Parameters:
        specversion - Version of the specification.
      • getDatacontenttype

        public String getDatacontenttype()
        Gets the type of the data's content.
        Returns:
        Type of the data's content.
      • setDatacontenttype

        public void setDatacontenttype(String datacontenttype)
        Sets the type of the data's content.
        Parameters:
        datacontenttype - Type of the data's content.
      • getData

        public T getData()
        Gets the cloud event data.
        Returns:
        Cloud event's data. As per specs, data can be a JSON object or string.
      • setData

        public void setData(T data)
        Sets the cloud event data. As per specs, data can be a JSON object or string.
        Parameters:
        data - Cloud event's data. As per specs, data can be a JSON object or string.
      • getBinaryData

        public byte[] getBinaryData()
        Gets the cloud event's binary data.
        Returns:
        Cloud event's binary data.
      • setBinaryData

        public void setBinaryData(byte[] binaryData)
        Sets the cloud event's binary data.
        Parameters:
        binaryData - Cloud event's binary data.
      • getPubsubName

        public String getPubsubName()
        Gets the pubsub component name.
        Returns:
        the pubsub component name.
      • setPubsubName

        public void setPubsubName(String pubsubName)
        Sets the pubsub component name.
        Parameters:
        pubsubName - the pubsub component name.
      • getTopic

        public String getTopic()
        Gets the topic name.
        Returns:
        the topic name.
      • setTopic

        public void setTopic(String topic)
        Sets the topic name.
        Parameters:
        topic - the topic name.
      • getTime

        public OffsetDateTime getTime()
        Gets the time.
        Returns:
        the time.
      • setTime

        public void setTime(OffsetDateTime time)
        Sets the time.
        Parameters:
        time - the time.
      • getTraceId

        @Deprecated public String getTraceId()
        Deprecated.
        Gets the trace id which is the legacy name for trace parent.
        Returns:
        the trace id.
      • setTraceId

        @Deprecated public void setTraceId(String traceId)
        Deprecated.
        Sets the trace id which is the legacy name for trace parent.
        Parameters:
        traceId - the trace id.
      • getTraceParent

        public String getTraceParent()
        Gets the trace parent.
        Returns:
        the trace parent.
      • setTraceParent

        public void setTraceParent(String traceParent)
        Sets the trace parent.
        Parameters:
        traceParent - the trace parent.
      • getTraceState

        public String getTraceState()
        Gets the trace state.
        Returns:
        the trace state.
      • setTraceState

        public void setTraceState(String traceState)
        Sets the trace state.
        Parameters:
        traceState - the trace state.
      • equals

        public boolean equals(Object o)
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object

    ================================================ FILE: docs/io/dapr/client/domain/ComponentMetadata.html ================================================ ComponentMetadata (dapr-sdk-parent 1.17.2 API)

    Class ComponentMetadata

    java.lang.Object
    io.dapr.client.domain.ComponentMetadata

    public final class ComponentMetadata extends Object
    ComponentMetadata describes a Dapr Component.
    • Constructor Details

      • ComponentMetadata

        public ComponentMetadata(String name, String type, String version, List<String> capabilities)
        Constructor for a ComponentMetadata.
        Parameters:
        name - of the component
        type - component type
        version - version of the component
        capabilities - capabilities of the component
    • Method Details

      • getName

        public String getName()
      • getType

        public String getType()
      • getVersion

        public String getVersion()
      • getCapabilities

        public List<String> getCapabilities()

    ================================================ FILE: docs/io/dapr/client/domain/ConfigurationItem.html ================================================ ConfigurationItem (dapr-sdk-parent 1.17.2 API)

    Class ConfigurationItem

    java.lang.Object
    io.dapr.client.domain.ConfigurationItem

    public class ConfigurationItem extends Object
    A configuration item from Dapr's configuration store.
    • Constructor Details

      • ConfigurationItem

        public ConfigurationItem(String key, String value, String version, Map<String,String> metadata)
        Constructor for a configuration Item.
        Parameters:
        key - key of the configuration item
        value - value for the provided key
        version - version of the configuration item
        metadata - additional information
      • ConfigurationItem

        public ConfigurationItem(String key, String value, String version)
        Constructor for a configuration Item.
        Parameters:
        key - key of the configuration item
        value - value for the provided key
        version - version of the configuration item
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/DaprMetadata.html ================================================ DaprMetadata (dapr-sdk-parent 1.17.2 API)

    Class DaprMetadata

    java.lang.Object
    io.dapr.client.domain.DaprMetadata

    public final class DaprMetadata extends Object
    DaprMetadata describes the Dapr Metadata.

    ================================================ FILE: docs/io/dapr/client/domain/DeleteStateRequest.html ================================================ DeleteStateRequest (dapr-sdk-parent 1.17.2 API)

    Class DeleteStateRequest

    java.lang.Object
    io.dapr.client.domain.DeleteStateRequest

    public class DeleteStateRequest extends Object
    A request to delete a state by key.

    ================================================ FILE: docs/io/dapr/client/domain/ExecuteStateTransactionRequest.html ================================================ ExecuteStateTransactionRequest (dapr-sdk-parent 1.17.2 API)

    Class ExecuteStateTransactionRequest

    java.lang.Object
    io.dapr.client.domain.ExecuteStateTransactionRequest

    public class ExecuteStateTransactionRequest extends Object
    A request for executing state transaction operations.

    ================================================ FILE: docs/io/dapr/client/domain/GetBulkSecretRequest.html ================================================ GetBulkSecretRequest (dapr-sdk-parent 1.17.2 API)

    Class GetBulkSecretRequest

    java.lang.Object
    io.dapr.client.domain.GetBulkSecretRequest

    public class GetBulkSecretRequest extends Object
    A request to get a secret by key.
    • Constructor Details

      • GetBulkSecretRequest

        public GetBulkSecretRequest(String storeName)
        Constructor for GetBulkSecretRequest.
        Parameters:
        storeName - Name of the secret store
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/GetBulkStateRequest.html ================================================ GetBulkStateRequest (dapr-sdk-parent 1.17.2 API)

    Class GetBulkStateRequest

    java.lang.Object
    io.dapr.client.domain.GetBulkStateRequest

    public class GetBulkStateRequest extends Object
    A request to get bulk state by keys.
    • Constructor Details

      • GetBulkStateRequest

        public GetBulkStateRequest(String storeName, List<String> keys)
        Constructor for GetBulkStateRequest.
        Parameters:
        storeName - Name of the state store
        keys - keys for the state objects
      • GetBulkStateRequest

        public GetBulkStateRequest(String storeName, String... keys)
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/GetConfigurationRequest.html ================================================ GetConfigurationRequest (dapr-sdk-parent 1.17.2 API)

    Class GetConfigurationRequest

    java.lang.Object
    io.dapr.client.domain.GetConfigurationRequest

    public class GetConfigurationRequest extends Object
    Request to get one or more configuration items from Dapr's configuration store.
    • Constructor Details

      • GetConfigurationRequest

        public GetConfigurationRequest(String storeName, List<String> keys)
        Constructor for GetConfigurationRequest.
        Parameters:
        storeName - Name of the configuration store
        keys - Keys for the configuration objects
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/GetSecretRequest.html ================================================ GetSecretRequest (dapr-sdk-parent 1.17.2 API)

    Class GetSecretRequest

    java.lang.Object
    io.dapr.client.domain.GetSecretRequest

    public class GetSecretRequest extends Object
    A request to get a secret by key.
    • Constructor Details

      • GetSecretRequest

        public GetSecretRequest(String storeName, String key)
        Constructor for GetSecretRequest.
        Parameters:
        storeName - Name of the Secret Store
        key - Key for retrieving the secret
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/GetStateRequest.html ================================================ GetStateRequest (dapr-sdk-parent 1.17.2 API)

    Class GetStateRequest

    java.lang.Object
    io.dapr.client.domain.GetStateRequest

    public class GetStateRequest extends Object
    A request to get a state by key.
    • Constructor Details

      • GetStateRequest

        public GetStateRequest(String storeName, String key)
        Constructor for GetStateRequest.
        Parameters:
        storeName - Name of the state store
        key - Key of the state object
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/HttpEndpointMetadata.html ================================================ HttpEndpointMetadata (dapr-sdk-parent 1.17.2 API)

    Class HttpEndpointMetadata

    java.lang.Object
    io.dapr.client.domain.HttpEndpointMetadata

    public final class HttpEndpointMetadata extends Object
    HttpEndpointMetadata describes a registered Dapr HTTP endpoint.
    • Constructor Details

      • HttpEndpointMetadata

        public HttpEndpointMetadata(String name)
        Constructor for a HttpEndpointMetadata.
        Parameters:
        name - of the HTTP endpoint
    • Method Details

      • getName

        public String getName()

    ================================================ FILE: docs/io/dapr/client/domain/HttpExtension.html ================================================ HttpExtension (dapr-sdk-parent 1.17.2 API)

    Class HttpExtension

    java.lang.Object
    io.dapr.client.domain.HttpExtension

    public final class HttpExtension extends Object
    HTTP Extension class. This class is only needed if the app you are calling is listening on HTTP. It contains properties that represent data that may be populated for an HTTP receiver.

    ================================================ FILE: docs/io/dapr/client/domain/InvokeBindingRequest.html ================================================ InvokeBindingRequest (dapr-sdk-parent 1.17.2 API)

    Class InvokeBindingRequest

    java.lang.Object
    io.dapr.client.domain.InvokeBindingRequest

    public class InvokeBindingRequest extends Object
    A request to invoke binding.
    • Constructor Details

      • InvokeBindingRequest

        public InvokeBindingRequest(String bindingName, String operation)
        Constructor for InvokeBindingRequest.
        Parameters:
        bindingName - Name of the binding
        operation - Name of the binding operation
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/InvokeMethodRequest.html ================================================ InvokeMethodRequest (dapr-sdk-parent 1.17.2 API)

    Class InvokeMethodRequest

    java.lang.Object
    io.dapr.client.domain.InvokeMethodRequest

    public class InvokeMethodRequest extends Object
    A request to invoke a service.

    ================================================ FILE: docs/io/dapr/client/domain/LockRequest.html ================================================ LockRequest (dapr-sdk-parent 1.17.2 API)

    Class LockRequest

    java.lang.Object
    io.dapr.client.domain.LockRequest
    All Implemented Interfaces:
    Serializable

    public class LockRequest extends Object implements Serializable
    A request to lock.
    See Also:
    • Constructor Details

      • LockRequest

        public LockRequest(String storeName, String resourceId, String lockOwner, Integer expiryInSeconds)
        Constructor of LockRequest.
        Parameters:
        storeName - Name of the store
        resourceId - Lock key
        lockOwner - The identifier of lock owner
        expiryInSeconds - The time before expiry
    • Method Details

      • getStoreName

        public String getStoreName()
      • getResourceId

        public String getResourceId()
      • getLockOwner

        public String getLockOwner()
      • getExpiryInSeconds

        public Integer getExpiryInSeconds()

    ================================================ FILE: docs/io/dapr/client/domain/Metadata.html ================================================ Metadata (dapr-sdk-parent 1.17.2 API)

    Class Metadata

    java.lang.Object
    io.dapr.client.domain.Metadata

    public final class Metadata extends Object
    Enumerates commonly used metadata attributes.

    ================================================ FILE: docs/io/dapr/client/domain/PublishEventRequest.html ================================================ PublishEventRequest (dapr-sdk-parent 1.17.2 API)

    Class PublishEventRequest

    java.lang.Object
    io.dapr.client.domain.PublishEventRequest

    public class PublishEventRequest extends Object
    A request to publish an event.
    • Constructor Details

      • PublishEventRequest

        public PublishEventRequest(String pubsubName, String topic, Object data)
        Constructor for PublishEventRequest.
        Parameters:
        pubsubName - name of the pubsub
        topic - name of the topic in the pubsub
        data - data to published
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/QueryStateItem.html ================================================ QueryStateItem (dapr-sdk-parent 1.17.2 API)

    Class QueryStateItem<T>

    java.lang.Object
    io.dapr.client.domain.QueryStateItem<T>

    public class QueryStateItem<T> extends Object
    • Constructor Details

      • QueryStateItem

        public QueryStateItem(String key)
        Create an immutable state reference to be retrieved or deleted. This Constructor CAN be used anytime you need to retrieve or delete a state.
        Parameters:
        key - - The key of the state
      • QueryStateItem

        public QueryStateItem(String key, String etag, String error)
        Create an immutable state reference to be retrieved or deleted. This Constructor CAN be used anytime you need to retrieve or delete a state.
        Parameters:
        key - - The key of the state
        etag - - The etag of the state - Keep in mind that for some state stores (like redis) only numbers are supported.
        error - - Error when fetching the state.
      • QueryStateItem

        public QueryStateItem(String key, T value, String etag)
        Create an immutable state. This Constructor CAN be used anytime you want the state to be saved.
        Parameters:
        key - - The key of the state.
        value - - The value of the state.
        etag - - The etag of the state - for some state stores (like redis) only numbers are supported.
    • Method Details

      • getValue

        public T getValue()
        Retrieves the Value of the state.
        Returns:
        The value of the state
      • getKey

        public String getKey()
        Retrieves the Key of the state.
        Returns:
        The key of the state
      • getEtag

        public String getEtag()
        Retrieve the ETag of this state.
        Returns:
        The etag of the state
      • getError

        public String getError()
        Retrieve the error for this state.
        Returns:
        The error for this state.
      • equals

        public boolean equals(Object o)
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • toString

        public String toString()
        Overrides:
        toString in class Object

    ================================================ FILE: docs/io/dapr/client/domain/QueryStateRequest.html ================================================ QueryStateRequest (dapr-sdk-parent 1.17.2 API)

    Class QueryStateRequest

    java.lang.Object
    io.dapr.client.domain.QueryStateRequest

    public class QueryStateRequest extends Object
    • Constructor Details

      • QueryStateRequest

        public QueryStateRequest(String storeName)
    • Method Details

      • getStoreName

        public String getStoreName()
      • getQuery

        public Query getQuery()
      • setQuery

        public QueryStateRequest setQuery(Query query)
        Validate and set the query field. Mutually exclusive with the queryString field in this instance.
        Parameters:
        query - Valid Query domain object.
        Returns:
        This instance.
      • getQueryString

        public String getQueryString()
      • setQueryString

        public QueryStateRequest setQueryString(String queryString)
        Validate and set the queryString field. Mutually exclusive with the query field in this instance.
        Parameters:
        queryString - String value of the query.
        Returns:
        This request object for fluent API.
      • getMetadata

        public Map<String,String> getMetadata()
      • setMetadata

        public QueryStateRequest setMetadata(Map<String,String> metadata)

    ================================================ FILE: docs/io/dapr/client/domain/QueryStateResponse.html ================================================ QueryStateResponse (dapr-sdk-parent 1.17.2 API)

    Class QueryStateResponse<T>

    java.lang.Object
    io.dapr.client.domain.QueryStateResponse<T>

    public class QueryStateResponse<T> extends Object

    ================================================ FILE: docs/io/dapr/client/domain/RuleMetadata.html ================================================ RuleMetadata (dapr-sdk-parent 1.17.2 API)

    Class RuleMetadata

    java.lang.Object
    io.dapr.client.domain.RuleMetadata

    public final class RuleMetadata extends Object
    RuleMetadata describes the Subscription Rule's Metadata.
    • Constructor Details

      • RuleMetadata

        public RuleMetadata(String match, String path)
        Constructor for a RuleMetadata.
        Parameters:
        match - CEL expression to match the message
        path - path to route the message
    • Method Details

      • getMatch

        public String getMatch()
      • getPath

        public String getPath()

    ================================================ FILE: docs/io/dapr/client/domain/SaveStateRequest.html ================================================ SaveStateRequest (dapr-sdk-parent 1.17.2 API)

    Class SaveStateRequest

    java.lang.Object
    io.dapr.client.domain.SaveStateRequest

    public class SaveStateRequest extends Object
    A request to save states to state store.
    • Constructor Details

      • SaveStateRequest

        public SaveStateRequest(String storeName)
        Constructor for SaveStateRequest.
        Parameters:
        storeName - Name of the state store
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/State.html ================================================ State (dapr-sdk-parent 1.17.2 API)

    Class State<T>

    java.lang.Object
    io.dapr.client.domain.State<T>
    Type Parameters:
    T - The type of the value of the sate

    public class State<T> extends Object
    This class represents what a State is.
    • Constructor Details

      • State

        public State(String key)
        Create an immutable state reference to be retrieved or deleted. This Constructor CAN be used anytime you need to retrieve or delete a state.
        Parameters:
        key - - The key of the state
      • State

        public State(String key, String etag, StateOptions options)
        Create an immutable state reference to be retrieved or deleted. This Constructor CAN be used anytime you need to retrieve or delete a state.
        Parameters:
        key - - The key of the state
        etag - - The etag of the state - Keep in mind that for some state stores (like redis) only numbers are supported.
        options - - REQUIRED when saving a state.
      • State

        public State(String key, T value, String etag, StateOptions options)
        Create an immutable state. This Constructor CAN be used anytime you want the state to be saved.
        Parameters:
        key - - The key of the state.
        value - - The value of the state.
        etag - - The etag of the state - for some state stores (like redis) only numbers are supported.
        options - - REQUIRED when saving a state.
      • State

        public State(String key, T value, String etag, Map<String,String> metadata, StateOptions options)
        Create an immutable state. This Constructor CAN be used anytime you want the state to be saved.
        Parameters:
        key - - The key of the state.
        value - - The value of the state.
        etag - - The etag of the state - for some state stores (like redis) only numbers are supported.
        metadata - - The metadata of the state.
        options - - REQUIRED when saving a state.
      • State

        public State(String key, T value, String etag)
        Create an immutable state. This Constructor CAN be used anytime you want the state to be saved.
        Parameters:
        key - - The key of the state.
        value - - The value of the state.
        etag - - The etag of the state - some state stores (like redis) only numbers are supported.
      • State

        public State(String key, String error)
        Create an immutable state. This Constructor MUST be used anytime the key could not be retrieved and contains an error.
        Parameters:
        key - - The key of the state.
        error - - Error when fetching the state.
    • Method Details

      • getValue

        public T getValue()
        Retrieves the Value of the state.
        Returns:
        The value of the state
      • getKey

        public String getKey()
        Retrieves the Key of the state.
        Returns:
        The key of the state
      • getEtag

        public String getEtag()
        Retrieve the ETag of this state.
        Returns:
        The etag of the state
      • getMetadata

        public Map<String,String> getMetadata()
        Retrieve the metadata of this state.
        Returns:
        the metadata of this state
      • getError

        public String getError()
        Retrieve the error for this state.
        Returns:
        The error for this state.
      • getOptions

        public StateOptions getOptions()
        Retrieve the Options used for saving the state.
        Returns:
        The options to save the state
      • equals

        public boolean equals(Object o)
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • toString

        public String toString()
        Overrides:
        toString in class Object

    ================================================ FILE: docs/io/dapr/client/domain/StateOptions.Concurrency.html ================================================ StateOptions.Concurrency (dapr-sdk-parent 1.17.2 API)

    Enum StateOptions.Concurrency

    java.lang.Object
    java.lang.Enum<StateOptions.Concurrency>
    io.dapr.client.domain.StateOptions.Concurrency
    All Implemented Interfaces:
    Serializable, Comparable<StateOptions.Concurrency>
    Enclosing class:
    StateOptions

    public static enum StateOptions.Concurrency extends Enum<StateOptions.Concurrency>
    Options for Concurrency.
    • Enum Constant Details

    • Method Details

      • values

        public static StateOptions.Concurrency[] values()
        Returns an array containing the constants of this enum type, in the order they are declared.
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static StateOptions.Concurrency valueOf(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getValue

        public String getValue()
      • fromValue

        public static StateOptions.Concurrency fromValue(String value)

    ================================================ FILE: docs/io/dapr/client/domain/StateOptions.Consistency.html ================================================ StateOptions.Consistency (dapr-sdk-parent 1.17.2 API)

    Enum StateOptions.Consistency

    java.lang.Object
    java.lang.Enum<StateOptions.Consistency>
    io.dapr.client.domain.StateOptions.Consistency
    All Implemented Interfaces:
    Serializable, Comparable<StateOptions.Consistency>
    Enclosing class:
    StateOptions

    public static enum StateOptions.Consistency extends Enum<StateOptions.Consistency>
    Options for Consistency.
    • Enum Constant Details

    • Method Details

      • values

        public static StateOptions.Consistency[] values()
        Returns an array containing the constants of this enum type, in the order they are declared.
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static StateOptions.Consistency valueOf(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getValue

        public String getValue()
      • fromValue

        public static StateOptions.Consistency fromValue(String value)

    ================================================ FILE: docs/io/dapr/client/domain/StateOptions.StateOptionDurationDeserializer.html ================================================ StateOptions.StateOptionDurationDeserializer (dapr-sdk-parent 1.17.2 API)

    Class StateOptions.StateOptionDurationDeserializer

    java.lang.Object
    com.fasterxml.jackson.databind.JsonDeserializer<T>
    com.fasterxml.jackson.databind.deser.std.StdDeserializer<Duration>
    io.dapr.client.domain.StateOptions.StateOptionDurationDeserializer
    All Implemented Interfaces:
    com.fasterxml.jackson.databind.deser.NullValueProvider, com.fasterxml.jackson.databind.deser.ValueInstantiator.Gettable, Serializable
    Enclosing class:
    StateOptions

    public static class StateOptions.StateOptionDurationDeserializer extends com.fasterxml.jackson.databind.deser.std.StdDeserializer<Duration>
    See Also:
    • Nested Class Summary

      Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer

      com.fasterxml.jackson.databind.JsonDeserializer.None
    • Field Summary

      Fields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

      _valueClass, _valueType, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS
    • Constructor Summary

      Constructors
      Constructor
      Description
       
    • Method Summary

      Modifier and Type
      Method
      Description
      deserialize(com.fasterxml.jackson.core.JsonParser jsonParser, com.fasterxml.jackson.databind.DeserializationContext deserializationContext)
       

      Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

      _byteOverflow, _checkBooleanToStringCoercion, _checkCoercionFail, _checkDoubleSpecialValue, _checkFloatSpecialValue, _checkFloatToIntCoercion, _checkFloatToStringCoercion, _checkFromStringCoercion, _checkFromStringCoercion, _checkIntToFloatCoercion, _checkIntToStringCoercion, _checkTextualNull, _checkToStringCoercion, _coerceBooleanFromInt, _coercedTypeDesc, _coercedTypeDesc, _coerceEmptyString, _coerceIntegral, _coerceNullToken, _coerceTextualNull, _deserializeFromArray, _deserializeFromEmpty, _deserializeFromEmptyString, _deserializeFromString, _deserializeWrappedValue, _failDoubleToIntCoercion, _findCoercionFromBlankString, _findCoercionFromEmptyArray, _findCoercionFromEmptyString, _findNullProvider, _hasTextualNull, _intOverflow, _isBlank, _isEmptyOrTextualNull, _isFalse, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _isTrue, _neitherNull, _nonNullNumber, _parseBoolean, _parseBooleanFromInt, _parseBooleanPrimitive, _parseBooleanPrimitive, _parseBytePrimitive, _parseDate, _parseDate, _parseDateFromArray, _parseDouble, _parseDouble, _parseDoublePrimitive, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseInteger, _parseInteger, _parseInteger, _parseIntPrimitive, _parseIntPrimitive, _parseIntPrimitive, _parseLong, _parseLong, _parseLong, _parseLongPrimitive, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _parseString, _parseString, _reportFailedNullCoerce, _shortOverflow, _streamReadConstraints, _verifyEndArrayForSingle, _verifyNullForPrimitive, _verifyNullForPrimitiveCoercion, _verifyNullForScalarCoercion, _verifyNumberForScalarCoercion, _verifyStringForScalarCoercion, deserializeWithType, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, getValueInstantiator, getValueType, getValueType, handledType, handleMissingEndArrayForSingle, handleNestedArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer

      Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

      deserialize, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, logicalType, replaceDelegatee, supportsUpdate, unwrappingDeserializer

      Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Details

      • StateOptionDurationDeserializer

        public StateOptionDurationDeserializer(Class<?> vc)
    • Method Details

      • deserialize

        public Duration deserialize(com.fasterxml.jackson.core.JsonParser jsonParser, com.fasterxml.jackson.databind.DeserializationContext deserializationContext) throws IOException
        Specified by:
        deserialize in class com.fasterxml.jackson.databind.JsonDeserializer<Duration>
        Throws:
        IOException

    ================================================ FILE: docs/io/dapr/client/domain/StateOptions.StateOptionDurationSerializer.html ================================================ StateOptions.StateOptionDurationSerializer (dapr-sdk-parent 1.17.2 API)

    Class StateOptions.StateOptionDurationSerializer

    java.lang.Object
    com.fasterxml.jackson.databind.JsonSerializer<T>
    com.fasterxml.jackson.databind.ser.std.StdSerializer<Duration>
    io.dapr.client.domain.StateOptions.StateOptionDurationSerializer
    All Implemented Interfaces:
    com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable, com.fasterxml.jackson.databind.jsonschema.SchemaAware, Serializable
    Enclosing class:
    StateOptions

    public static class StateOptions.StateOptionDurationSerializer extends com.fasterxml.jackson.databind.ser.std.StdSerializer<Duration>
    See Also:
    • Nested Class Summary

      Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer

      com.fasterxml.jackson.databind.JsonSerializer.None
    • Field Summary

      Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

      _handledType
    • Constructor Summary

      Constructors
    • Method Summary

      Modifier and Type
      Method
      Description
      void
      serialize(Duration duration, com.fasterxml.jackson.core.JsonGenerator jsonGenerator, com.fasterxml.jackson.databind.SerializerProvider serializerProvider)
       

      Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

      _neitherNull, _nonEmpty, acceptJsonFormatVisitor, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow

      Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer

      getDelegatee, isEmpty, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, serializeWithType, unwrappingSerializer, usesObjectId, withFilterId, withIgnoredProperties

      Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Details

      • StateOptionDurationSerializer

        public StateOptionDurationSerializer()
      • StateOptionDurationSerializer

        public StateOptionDurationSerializer(Class<Duration> t)
    • Method Details

      • serialize

        public void serialize(Duration duration, com.fasterxml.jackson.core.JsonGenerator jsonGenerator, com.fasterxml.jackson.databind.SerializerProvider serializerProvider) throws IOException
        Specified by:
        serialize in class com.fasterxml.jackson.databind.ser.std.StdSerializer<Duration>
        Throws:
        IOException

    ================================================ FILE: docs/io/dapr/client/domain/StateOptions.html ================================================ StateOptions (dapr-sdk-parent 1.17.2 API)

    Class StateOptions

    java.lang.Object
    io.dapr.client.domain.StateOptions

    public class StateOptions extends Object
    A class representing the state options for Dapr state API.
    • Constructor Details

      • StateOptions

        public StateOptions(StateOptions.Consistency consistency, StateOptions.Concurrency concurrency)
        Represents options for a Dapr state API call.
        Parameters:
        consistency - The consistency mode.
        concurrency - The concurrency mode.
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/SubscribeConfigurationRequest.html ================================================ SubscribeConfigurationRequest (dapr-sdk-parent 1.17.2 API)

    Class SubscribeConfigurationRequest

    java.lang.Object
    io.dapr.client.domain.SubscribeConfigurationRequest

    public class SubscribeConfigurationRequest extends Object
    Request to subscribe to one or more configuration items.
    • Constructor Details

      • SubscribeConfigurationRequest

        public SubscribeConfigurationRequest(String storeName, List<String> keys)
        Constructor for SubscribeConfigurationRequest.
        Parameters:
        storeName - Name of the configuration store
        keys - Keys of the configurations values to subscribe to
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/SubscribeConfigurationResponse.html ================================================ SubscribeConfigurationResponse (dapr-sdk-parent 1.17.2 API)

    Class SubscribeConfigurationResponse

    java.lang.Object
    io.dapr.client.domain.SubscribeConfigurationResponse

    public class SubscribeConfigurationResponse extends Object
    Domain object for response from subscribeConfiguration API.
    • Constructor Details

      • SubscribeConfigurationResponse

        public SubscribeConfigurationResponse(String id, Map<String,ConfigurationItem> items)
        Constructor for SubscribeConfigurationResponse.
        Parameters:
        id - Subscription id for the items subscribed to.This id is returned by subscribeToConfiguration API.
        items - Map of configuration items user subscribed to.
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/SubscriptionMetadata.html ================================================ SubscriptionMetadata (dapr-sdk-parent 1.17.2 API)

    Class SubscriptionMetadata

    java.lang.Object
    io.dapr.client.domain.SubscriptionMetadata

    public final class SubscriptionMetadata extends Object
    SubscriptionMetadata describes the Subscription Metadata.
    • Constructor Details

      • SubscriptionMetadata

        public SubscriptionMetadata(String pubsubname, String topic, Map<String,String> metadata, List<RuleMetadata> rules, String deadLetterTopic)
        Constructor for a SubscriptionMetadata.
        Parameters:
        pubsubname - component name
        topic - of the pubsub component
        metadata - of the pubsub component
        rules - subscription path rules
        deadLetterTopic - dead letter topic
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/TransactionalStateOperation.OperationType.html ================================================ TransactionalStateOperation.OperationType (dapr-sdk-parent 1.17.2 API)

    Enum TransactionalStateOperation.OperationType

    java.lang.Object
    java.lang.Enum<TransactionalStateOperation.OperationType>
    io.dapr.client.domain.TransactionalStateOperation.OperationType
    All Implemented Interfaces:
    Serializable, Comparable<TransactionalStateOperation.OperationType>
    Enclosing class:
    TransactionalStateOperation<T>

    public static enum TransactionalStateOperation.OperationType extends Enum<TransactionalStateOperation.OperationType>
    Options for type of operation.

    ================================================ FILE: docs/io/dapr/client/domain/TransactionalStateOperation.html ================================================ TransactionalStateOperation (dapr-sdk-parent 1.17.2 API)

    Class TransactionalStateOperation<T>

    java.lang.Object
    io.dapr.client.domain.TransactionalStateOperation<T>
    Type Parameters:
    T - Type of the state value

    public class TransactionalStateOperation<T> extends Object
    Class to represent transactional state operations.

    ================================================ FILE: docs/io/dapr/client/domain/TransactionalStateRequest.html ================================================ TransactionalStateRequest (dapr-sdk-parent 1.17.2 API)

    Class TransactionalStateRequest<T>

    java.lang.Object
    io.dapr.client.domain.TransactionalStateRequest<T>
    Type Parameters:
    T - Type of state value in TransactionalStateOperation

    public class TransactionalStateRequest<T> extends Object
    A class to represent request for transactional state.
    • Constructor Details

      • TransactionalStateRequest

        public TransactionalStateRequest(List<TransactionalStateOperation<T>> operations, Map<String,String> metadata)
        Constructor to create immutable transactional state request object.
        Parameters:
        operations - List of operations to be performed.
        metadata - Metadata used for transactional operations.
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/UnlockRequest.html ================================================ UnlockRequest (dapr-sdk-parent 1.17.2 API)

    Class UnlockRequest

    java.lang.Object
    io.dapr.client.domain.UnlockRequest
    All Implemented Interfaces:
    Serializable

    public class UnlockRequest extends Object implements Serializable
    A request to unlock.
    See Also:
    • Constructor Details

      • UnlockRequest

        public UnlockRequest(String storeName, String resourceId, String lockOwner)
        Constructor for UnlockRequest.
        Parameters:
        storeName - Name of the store
        resourceId - Lock key
        lockOwner - The identifier of lock owner.
    • Method Details

      • getStoreName

        public String getStoreName()
      • getResourceId

        public String getResourceId()
      • getLockOwner

        public String getLockOwner()

    ================================================ FILE: docs/io/dapr/client/domain/UnlockResponseStatus.html ================================================ UnlockResponseStatus (dapr-sdk-parent 1.17.2 API)

    Enum UnlockResponseStatus

    java.lang.Object
    java.lang.Enum<UnlockResponseStatus>
    io.dapr.client.domain.UnlockResponseStatus
    All Implemented Interfaces:
    Serializable, Comparable<UnlockResponseStatus>

    public enum UnlockResponseStatus extends Enum<UnlockResponseStatus>
    • Enum Constant Details

      • SUCCESS

        public static final UnlockResponseStatus SUCCESS
        The unlock operation succeeded.
      • LOCK_UNEXIST

        public static final UnlockResponseStatus LOCK_UNEXIST
        The target you want to unlock does not exist.
      • LOCK_BELONG_TO_OTHERS

        public static final UnlockResponseStatus LOCK_BELONG_TO_OTHERS
        The desired target does not match.
      • INTERNAL_ERROR

        public static final UnlockResponseStatus INTERNAL_ERROR
        Internal error.
    • Method Details

      • values

        public static UnlockResponseStatus[] values()
        Returns an array containing the constants of this enum type, in the order they are declared.
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static UnlockResponseStatus valueOf(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getCode

        public Integer getCode()
      • valueOf

        public static UnlockResponseStatus valueOf(int code)
        Convert the status code to a UnlockResponseStatus object.
        Parameters:
        code - status code
        Returns:
        UnlockResponseStatus

    ================================================ FILE: docs/io/dapr/client/domain/UnsubscribeConfigurationRequest.html ================================================ UnsubscribeConfigurationRequest (dapr-sdk-parent 1.17.2 API)

    Class UnsubscribeConfigurationRequest

    java.lang.Object
    io.dapr.client.domain.UnsubscribeConfigurationRequest

    public class UnsubscribeConfigurationRequest extends Object
    Request to unsubscribe to one or more configuration items using subscription id.
    • Constructor Details

      • UnsubscribeConfigurationRequest

        public UnsubscribeConfigurationRequest(String id, String storeName)
        Constructor for UnsubscribeConfigurationRequest.
        Parameters:
        id - Subscription id for the items subscribed to.This id is returned by subscribeConfiguration API.
        storeName - Name of the configuration store.
    • Method Details

      • getStoreName

        public String getStoreName()
      • getSubscriptionId

        public String getSubscriptionId()

    ================================================ FILE: docs/io/dapr/client/domain/UnsubscribeConfigurationResponse.html ================================================ UnsubscribeConfigurationResponse (dapr-sdk-parent 1.17.2 API)

    Class UnsubscribeConfigurationResponse

    java.lang.Object
    io.dapr.client.domain.UnsubscribeConfigurationResponse

    public class UnsubscribeConfigurationResponse extends Object
    Domain object for unsubscribe response.
    • Constructor Details

      • UnsubscribeConfigurationResponse

        public UnsubscribeConfigurationResponse(boolean isUnsubscribed, String message)
        Constructor for UnsubscribeConfigurationResponse.
        Parameters:
        isUnsubscribed - boolean denoting unsubscribe API response.
        message - unsubscribe API response message.
    • Method Details

      • getIsUnsubscribed

        public boolean getIsUnsubscribed()
      • getMessage

        public String getMessage()

    ================================================ FILE: docs/io/dapr/client/domain/class-use/ActorMetadata.html ================================================ Uses of Class io.dapr.client.domain.ActorMetadata (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.ActorMetadata

    Packages that use ActorMetadata
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/AppConnectionPropertiesHealthMetadata.html ================================================ Uses of Class io.dapr.client.domain.AppConnectionPropertiesHealthMetadata (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.AppConnectionPropertiesHealthMetadata

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/AppConnectionPropertiesMetadata.html ================================================ Uses of Class io.dapr.client.domain.AppConnectionPropertiesMetadata (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.AppConnectionPropertiesMetadata

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/BulkPublishEntry.html ================================================ Uses of Class io.dapr.client.domain.BulkPublishEntry (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.BulkPublishEntry

    Packages that use BulkPublishEntry
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/BulkPublishRequest.html ================================================ Uses of Class io.dapr.client.domain.BulkPublishRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.BulkPublishRequest

    Packages that use BulkPublishRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/BulkPublishResponse.html ================================================ Uses of Class io.dapr.client.domain.BulkPublishResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.BulkPublishResponse

    Packages that use BulkPublishResponse
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/BulkPublishResponseFailedEntry.html ================================================ Uses of Class io.dapr.client.domain.BulkPublishResponseFailedEntry (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.BulkPublishResponseFailedEntry

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/BulkSubscribeAppResponse.html ================================================ Uses of Class io.dapr.client.domain.BulkSubscribeAppResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.BulkSubscribeAppResponse

    No usage of io.dapr.client.domain.BulkSubscribeAppResponse

    ================================================ FILE: docs/io/dapr/client/domain/class-use/BulkSubscribeAppResponseEntry.html ================================================ Uses of Class io.dapr.client.domain.BulkSubscribeAppResponseEntry (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.BulkSubscribeAppResponseEntry

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/BulkSubscribeAppResponseStatus.html ================================================ Uses of Enum io.dapr.client.domain.BulkSubscribeAppResponseStatus (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.client.domain.BulkSubscribeAppResponseStatus

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/BulkSubscribeMessage.html ================================================ Uses of Class io.dapr.client.domain.BulkSubscribeMessage (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.BulkSubscribeMessage

    No usage of io.dapr.client.domain.BulkSubscribeMessage

    ================================================ FILE: docs/io/dapr/client/domain/class-use/BulkSubscribeMessageEntry.html ================================================ Uses of Class io.dapr.client.domain.BulkSubscribeMessageEntry (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.BulkSubscribeMessageEntry

    Packages that use BulkSubscribeMessageEntry
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/CloudEvent.html ================================================ Uses of Class io.dapr.client.domain.CloudEvent (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.CloudEvent

    Packages that use CloudEvent
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/ComponentMetadata.html ================================================ Uses of Class io.dapr.client.domain.ComponentMetadata (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.ComponentMetadata

    Packages that use ComponentMetadata
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/ConfigurationItem.html ================================================ Uses of Class io.dapr.client.domain.ConfigurationItem (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.ConfigurationItem

    Packages that use ConfigurationItem
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/DaprMetadata.html ================================================ Uses of Class io.dapr.client.domain.DaprMetadata (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.DaprMetadata

    Packages that use DaprMetadata
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/DeleteStateRequest.html ================================================ Uses of Class io.dapr.client.domain.DeleteStateRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.DeleteStateRequest

    Packages that use DeleteStateRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/ExecuteStateTransactionRequest.html ================================================ Uses of Class io.dapr.client.domain.ExecuteStateTransactionRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.ExecuteStateTransactionRequest

    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/GetBulkSecretRequest.html ================================================ Uses of Class io.dapr.client.domain.GetBulkSecretRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.GetBulkSecretRequest

    Packages that use GetBulkSecretRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/GetBulkStateRequest.html ================================================ Uses of Class io.dapr.client.domain.GetBulkStateRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.GetBulkStateRequest

    Packages that use GetBulkStateRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/GetConfigurationRequest.html ================================================ Uses of Class io.dapr.client.domain.GetConfigurationRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.GetConfigurationRequest

    Packages that use GetConfigurationRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/GetSecretRequest.html ================================================ Uses of Class io.dapr.client.domain.GetSecretRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.GetSecretRequest

    Packages that use GetSecretRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/GetStateRequest.html ================================================ Uses of Class io.dapr.client.domain.GetStateRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.GetStateRequest

    Packages that use GetStateRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/HttpEndpointMetadata.html ================================================ Uses of Class io.dapr.client.domain.HttpEndpointMetadata (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.HttpEndpointMetadata

    Packages that use HttpEndpointMetadata
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/HttpExtension.html ================================================ Uses of Class io.dapr.client.domain.HttpExtension (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.HttpExtension

    Packages that use HttpExtension
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/InvokeBindingRequest.html ================================================ Uses of Class io.dapr.client.domain.InvokeBindingRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.InvokeBindingRequest

    Packages that use InvokeBindingRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/InvokeMethodRequest.html ================================================ Uses of Class io.dapr.client.domain.InvokeMethodRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.InvokeMethodRequest

    Packages that use InvokeMethodRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/LockRequest.html ================================================ Uses of Class io.dapr.client.domain.LockRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.LockRequest

    Packages that use LockRequest
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/Metadata.html ================================================ Uses of Class io.dapr.client.domain.Metadata (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.Metadata

    No usage of io.dapr.client.domain.Metadata

    ================================================ FILE: docs/io/dapr/client/domain/class-use/PublishEventRequest.html ================================================ Uses of Class io.dapr.client.domain.PublishEventRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.PublishEventRequest

    Packages that use PublishEventRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/QueryStateItem.html ================================================ Uses of Class io.dapr.client.domain.QueryStateItem (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.QueryStateItem

    Packages that use QueryStateItem
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/QueryStateRequest.html ================================================ Uses of Class io.dapr.client.domain.QueryStateRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.QueryStateRequest

    Packages that use QueryStateRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/QueryStateResponse.html ================================================ Uses of Class io.dapr.client.domain.QueryStateResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.QueryStateResponse

    Packages that use QueryStateResponse
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/RuleMetadata.html ================================================ Uses of Class io.dapr.client.domain.RuleMetadata (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.RuleMetadata

    Packages that use RuleMetadata
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/SaveStateRequest.html ================================================ Uses of Class io.dapr.client.domain.SaveStateRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.SaveStateRequest

    Packages that use SaveStateRequest
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/State.html ================================================ Uses of Class io.dapr.client.domain.State (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.State

    Packages that use State
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/StateOptions.Concurrency.html ================================================ Uses of Enum io.dapr.client.domain.StateOptions.Concurrency (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.client.domain.StateOptions.Concurrency

    Packages that use StateOptions.Concurrency
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/StateOptions.Consistency.html ================================================ Uses of Enum io.dapr.client.domain.StateOptions.Consistency (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.client.domain.StateOptions.Consistency

    Packages that use StateOptions.Consistency
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/StateOptions.StateOptionDurationDeserializer.html ================================================ Uses of Class io.dapr.client.domain.StateOptions.StateOptionDurationDeserializer (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.StateOptions.StateOptionDurationDeserializer

    No usage of io.dapr.client.domain.StateOptions.StateOptionDurationDeserializer

    ================================================ FILE: docs/io/dapr/client/domain/class-use/StateOptions.StateOptionDurationSerializer.html ================================================ Uses of Class io.dapr.client.domain.StateOptions.StateOptionDurationSerializer (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.StateOptions.StateOptionDurationSerializer

    No usage of io.dapr.client.domain.StateOptions.StateOptionDurationSerializer

    ================================================ FILE: docs/io/dapr/client/domain/class-use/StateOptions.html ================================================ Uses of Class io.dapr.client.domain.StateOptions (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.StateOptions

    Packages that use StateOptions
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/SubscribeConfigurationRequest.html ================================================ Uses of Class io.dapr.client.domain.SubscribeConfigurationRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.SubscribeConfigurationRequest

    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/SubscribeConfigurationResponse.html ================================================ Uses of Class io.dapr.client.domain.SubscribeConfigurationResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.SubscribeConfigurationResponse

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/SubscriptionMetadata.html ================================================ Uses of Class io.dapr.client.domain.SubscriptionMetadata (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.SubscriptionMetadata

    Packages that use SubscriptionMetadata
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/TransactionalStateOperation.OperationType.html ================================================ Uses of Enum io.dapr.client.domain.TransactionalStateOperation.OperationType (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.client.domain.TransactionalStateOperation.OperationType

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/TransactionalStateOperation.html ================================================ Uses of Class io.dapr.client.domain.TransactionalStateOperation (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.TransactionalStateOperation

    Packages that use TransactionalStateOperation
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/TransactionalStateRequest.html ================================================ Uses of Class io.dapr.client.domain.TransactionalStateRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.TransactionalStateRequest

    No usage of io.dapr.client.domain.TransactionalStateRequest

    ================================================ FILE: docs/io/dapr/client/domain/class-use/UnlockRequest.html ================================================ Uses of Class io.dapr.client.domain.UnlockRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.UnlockRequest

    Packages that use UnlockRequest
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/UnlockResponseStatus.html ================================================ Uses of Enum io.dapr.client.domain.UnlockResponseStatus (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.client.domain.UnlockResponseStatus

    Packages that use UnlockResponseStatus
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/UnsubscribeConfigurationRequest.html ================================================ Uses of Class io.dapr.client.domain.UnsubscribeConfigurationRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.UnsubscribeConfigurationRequest

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/class-use/UnsubscribeConfigurationResponse.html ================================================ Uses of Class io.dapr.client.domain.UnsubscribeConfigurationResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.UnsubscribeConfigurationResponse

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/package-summary.html ================================================ io.dapr.client.domain (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.client.domain


    package io.dapr.client.domain

    ================================================ FILE: docs/io/dapr/client/domain/package-tree.html ================================================ io.dapr.client.domain Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.client.domain

    Package Hierarchies:

    Class Hierarchy

    Interface Hierarchy

    Enum Hierarchy


    ================================================ FILE: docs/io/dapr/client/domain/package-use.html ================================================ Uses of Package io.dapr.client.domain (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.client.domain

    Packages that use io.dapr.client.domain
    Package
    Description
     
     
     

    ================================================ FILE: docs/io/dapr/client/domain/query/Pagination.html ================================================ Pagination (dapr-sdk-parent 1.17.2 API)

    Class Pagination

    java.lang.Object
    io.dapr.client.domain.query.Pagination

    public class Pagination extends Object
    • Constructor Details

      • Pagination

        public Pagination(int limit, String token)
    • Method Details

      • getLimit

        public int getLimit()
      • getToken

        public String getToken()

    ================================================ FILE: docs/io/dapr/client/domain/query/Query.html ================================================ Query (dapr-sdk-parent 1.17.2 API)

    Class Query

    java.lang.Object
    io.dapr.client.domain.query.Query

    public class Query extends Object
    • Constructor Details

      • Query

        public Query()
    • Method Details

      • getFilter

        public Filter<?> getFilter()
      • setFilter

        public Query setFilter(Filter<?> filter)
        Set the filter field in the instance.
        Parameters:
        filter - Valid filter value.
        Returns:
        this instance.
      • getSort

        public List<Sorting> getSort()
      • setSort

        public Query setSort(List<Sorting> sort)
        Validate and set sorting field.
        Parameters:
        sort - List of sorting objects.
        Returns:
        This instance.
      • getPagination

        public Pagination getPagination()
      • setPagination

        public Query setPagination(Pagination pagination)

    ================================================ FILE: docs/io/dapr/client/domain/query/Sorting.Order.html ================================================ Sorting.Order (dapr-sdk-parent 1.17.2 API)

    Enum Sorting.Order

    java.lang.Object
    java.lang.Enum<Sorting.Order>
    io.dapr.client.domain.query.Sorting.Order
    All Implemented Interfaces:
    Serializable, Comparable<Sorting.Order>
    Enclosing class:
    Sorting

    public static enum Sorting.Order extends Enum<Sorting.Order>
    • Enum Constant Details

    • Method Details

      • values

        public static Sorting.Order[] values()
        Returns an array containing the constants of this enum type, in the order they are declared.
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Sorting.Order valueOf(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getValue

        public String getValue()
      • fromValue

        public static Sorting.Order fromValue(String value)

    ================================================ FILE: docs/io/dapr/client/domain/query/Sorting.html ================================================ Sorting (dapr-sdk-parent 1.17.2 API)

    Class Sorting

    java.lang.Object
    io.dapr.client.domain.query.Sorting

    public class Sorting extends Object

    ================================================ FILE: docs/io/dapr/client/domain/query/class-use/Pagination.html ================================================ Uses of Class io.dapr.client.domain.query.Pagination (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.query.Pagination

    Packages that use Pagination
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/query/class-use/Query.html ================================================ Uses of Class io.dapr.client.domain.query.Query (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.query.Query

    Packages that use Query

    ================================================ FILE: docs/io/dapr/client/domain/query/class-use/Sorting.Order.html ================================================ Uses of Enum io.dapr.client.domain.query.Sorting.Order (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.client.domain.query.Sorting.Order

    Packages that use Sorting.Order
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/query/class-use/Sorting.html ================================================ Uses of Class io.dapr.client.domain.query.Sorting (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.query.Sorting

    Packages that use Sorting
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/query/filters/AndFilter.html ================================================ AndFilter (dapr-sdk-parent 1.17.2 API)

    Class AndFilter

    java.lang.Object
    io.dapr.client.domain.query.filters.Filter<Void>
    io.dapr.client.domain.query.filters.AndFilter

    public class AndFilter extends Filter<Void>

    ================================================ FILE: docs/io/dapr/client/domain/query/filters/EqFilter.html ================================================ EqFilter (dapr-sdk-parent 1.17.2 API)

    Class EqFilter<T>

    java.lang.Object
    io.dapr.client.domain.query.filters.Filter<T>
    io.dapr.client.domain.query.filters.EqFilter<T>

    public class EqFilter<T> extends Filter<T>
    • Constructor Details

      • EqFilter

        public EqFilter()
      • EqFilter

        public EqFilter(String key, T value)
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/query/filters/Filter.html ================================================ Filter (dapr-sdk-parent 1.17.2 API)

    Class Filter<T>

    java.lang.Object
    io.dapr.client.domain.query.filters.Filter<T>
    Direct Known Subclasses:
    AndFilter, EqFilter, InFilter, OrFilter

    public abstract class Filter<T> extends Object
    • Constructor Details

      • Filter

        public Filter(String name)
    • Method Details

      • getName

        public String getName()
      • getRepresentation

        public abstract String getRepresentation()
      • isValid

        public abstract Boolean isValid()

    ================================================ FILE: docs/io/dapr/client/domain/query/filters/InFilter.html ================================================ InFilter (dapr-sdk-parent 1.17.2 API)

    Class InFilter<T>

    java.lang.Object
    io.dapr.client.domain.query.filters.Filter<T>
    io.dapr.client.domain.query.filters.InFilter<T>

    public class InFilter<T> extends Filter<T>
    • Constructor Details

      • InFilter

        public InFilter()
      • InFilter

        public InFilter(String key, List<T> value)
      • InFilter

        public InFilter(String key, T... values)
        constructor for InFilter.
        Parameters:
        key - value of the key in the state store.
        values - var args values list.
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/query/filters/OrFilter.html ================================================ OrFilter (dapr-sdk-parent 1.17.2 API)

    Class OrFilter

    java.lang.Object
    io.dapr.client.domain.query.filters.Filter
    io.dapr.client.domain.query.filters.OrFilter

    public class OrFilter extends Filter
    • Constructor Details

      • OrFilter

        public OrFilter()
    • Method Details


    ================================================ FILE: docs/io/dapr/client/domain/query/filters/class-use/AndFilter.html ================================================ Uses of Class io.dapr.client.domain.query.filters.AndFilter (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.query.filters.AndFilter

    Packages that use AndFilter
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/query/filters/class-use/EqFilter.html ================================================ Uses of Class io.dapr.client.domain.query.filters.EqFilter (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.query.filters.EqFilter

    No usage of io.dapr.client.domain.query.filters.EqFilter

    ================================================ FILE: docs/io/dapr/client/domain/query/filters/class-use/Filter.html ================================================ Uses of Class io.dapr.client.domain.query.filters.Filter (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.query.filters.Filter

    Packages that use Filter

    ================================================ FILE: docs/io/dapr/client/domain/query/filters/class-use/InFilter.html ================================================ Uses of Class io.dapr.client.domain.query.filters.InFilter (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.query.filters.InFilter

    No usage of io.dapr.client.domain.query.filters.InFilter

    ================================================ FILE: docs/io/dapr/client/domain/query/filters/class-use/OrFilter.html ================================================ Uses of Class io.dapr.client.domain.query.filters.OrFilter (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.domain.query.filters.OrFilter

    Packages that use OrFilter
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/client/domain/query/filters/package-summary.html ================================================ io.dapr.client.domain.query.filters (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.client.domain.query.filters


    package io.dapr.client.domain.query.filters

    ================================================ FILE: docs/io/dapr/client/domain/query/filters/package-tree.html ================================================ io.dapr.client.domain.query.filters Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.client.domain.query.filters

    Package Hierarchies:

    Class Hierarchy

    • java.lang.Object
      • io.dapr.client.domain.query.filters.Filter<T>
        • io.dapr.client.domain.query.filters.AndFilter
        • io.dapr.client.domain.query.filters.EqFilter<T>
        • io.dapr.client.domain.query.filters.InFilter<T>
        • io.dapr.client.domain.query.filters.OrFilter

    ================================================ FILE: docs/io/dapr/client/domain/query/filters/package-use.html ================================================ Uses of Package io.dapr.client.domain.query.filters (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.client.domain.query.filters


    ================================================ FILE: docs/io/dapr/client/domain/query/package-summary.html ================================================ io.dapr.client.domain.query (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.client.domain.query


    package io.dapr.client.domain.query

    ================================================ FILE: docs/io/dapr/client/domain/query/package-tree.html ================================================ io.dapr.client.domain.query Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.client.domain.query

    Package Hierarchies:

    Class Hierarchy

    Enum Hierarchy


    ================================================ FILE: docs/io/dapr/client/domain/query/package-use.html ================================================ Uses of Package io.dapr.client.domain.query (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.client.domain.query

    Packages that use io.dapr.client.domain.query

    ================================================ FILE: docs/io/dapr/client/package-summary.html ================================================ io.dapr.client (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.client


    package io.dapr.client

    ================================================ FILE: docs/io/dapr/client/package-tree.html ================================================ io.dapr.client Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.client

    Package Hierarchies:

    Class Hierarchy

    Interface Hierarchy

    Enum Hierarchy


    ================================================ FILE: docs/io/dapr/client/package-use.html ================================================ Uses of Package io.dapr.client (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.client

    Packages that use io.dapr.client

    ================================================ FILE: docs/io/dapr/client/resiliency/ResiliencyOptions.html ================================================ ResiliencyOptions (dapr-sdk-parent 1.17.2 API)

    Class ResiliencyOptions

    java.lang.Object
    io.dapr.client.resiliency.ResiliencyOptions

    public final class ResiliencyOptions extends Object
    Resiliency policy for SDK communication to Dapr API.

    ================================================ FILE: docs/io/dapr/client/resiliency/class-use/ResiliencyOptions.html ================================================ Uses of Class io.dapr.client.resiliency.ResiliencyOptions (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.client.resiliency.ResiliencyOptions

    Packages that use ResiliencyOptions

    ================================================ FILE: docs/io/dapr/client/resiliency/package-summary.html ================================================ io.dapr.client.resiliency (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.client.resiliency


    package io.dapr.client.resiliency

    ================================================ FILE: docs/io/dapr/client/resiliency/package-tree.html ================================================ io.dapr.client.resiliency Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.client.resiliency

    Package Hierarchies:

    Class Hierarchy


    ================================================ FILE: docs/io/dapr/client/resiliency/package-use.html ================================================ Uses of Package io.dapr.client.resiliency (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.client.resiliency

    Packages that use io.dapr.client.resiliency

    ================================================ FILE: docs/io/dapr/config/BooleanProperty.html ================================================ BooleanProperty (dapr-sdk-parent 1.17.2 API)

    Class BooleanProperty

    java.lang.Object
    io.dapr.config.Property<Boolean>
    io.dapr.config.BooleanProperty

    public class BooleanProperty extends Property<Boolean>
    Boolean configuration property.
    • Method Details

      • parse

        protected Boolean parse(String value)
        Parses the value to the specific type.
        Specified by:
        parse in class Property<Boolean>
        Parameters:
        value - String value to be parsed.
        Returns:
        Value in the specific type.

    ================================================ FILE: docs/io/dapr/config/GenericProperty.html ================================================ GenericProperty (dapr-sdk-parent 1.17.2 API)

    Class GenericProperty<T>

    java.lang.Object
    io.dapr.config.Property<T>
    io.dapr.config.GenericProperty<T>

    public class GenericProperty<T> extends Property<T>
    Configuration property for any type.
    • Method Details

      • parse

        protected T parse(String value)
        Parses the value to the specific type.
        Specified by:
        parse in class Property<T>
        Parameters:
        value - String value to be parsed.
        Returns:
        Value in the specific type.

    ================================================ FILE: docs/io/dapr/config/IntegerProperty.html ================================================ IntegerProperty (dapr-sdk-parent 1.17.2 API)

    Class IntegerProperty

    java.lang.Object
    io.dapr.config.Property<Integer>
    io.dapr.config.IntegerProperty

    public class IntegerProperty extends Property<Integer>
    Integer configuration property.
    • Method Details

      • parse

        protected Integer parse(String value)
        Parses the value to the specific type.
        Specified by:
        parse in class Property<Integer>
        Parameters:
        value - String value to be parsed.
        Returns:
        Value in the specific type.

    ================================================ FILE: docs/io/dapr/config/MillisecondsDurationProperty.html ================================================ MillisecondsDurationProperty (dapr-sdk-parent 1.17.2 API)

    Class MillisecondsDurationProperty

    java.lang.Object
    io.dapr.config.Property<Duration>
    io.dapr.config.MillisecondsDurationProperty

    public class MillisecondsDurationProperty extends Property<Duration>
    Integer configuration property.
    • Method Details

      • parse

        protected Duration parse(String value)
        Parses the value to the specific type.
        Specified by:
        parse in class Property<Duration>
        Parameters:
        value - String value to be parsed.
        Returns:
        Value in the specific type.

    ================================================ FILE: docs/io/dapr/config/Properties.html ================================================ Properties (dapr-sdk-parent 1.17.2 API)

    Class Properties

    java.lang.Object
    io.dapr.config.Properties

    public class Properties extends Object
    Global properties for Dapr's SDK, using Supplier so they are dynamically resolved.
    • Field Details

      • SIDECAR_IP

        public static final Property<String> SIDECAR_IP
        IP for Dapr's sidecar.
      • HTTP_PORT

        public static final Property<Integer> HTTP_PORT
        HTTP port for Dapr after checking system property and environment variable.
      • GRPC_PORT

        public static final Property<Integer> GRPC_PORT
        GRPC port for Dapr after checking system property and environment variable.
      • GRPC_TLS_CERT_PATH

        public static final Property<String> GRPC_TLS_CERT_PATH
        GRPC TLS cert path for Dapr after checking system property and environment variable.
      • GRPC_TLS_KEY_PATH

        public static final Property<String> GRPC_TLS_KEY_PATH
        GRPC TLS key path for Dapr after checking system property and environment variable.
      • GRPC_TLS_CA_PATH

        public static final Property<String> GRPC_TLS_CA_PATH
        GRPC TLS CA cert path for Dapr after checking system property and environment variable. This is used for TLS connections to servers with self-signed certificates.
      • GRPC_TLS_INSECURE

        public static final Property<Boolean> GRPC_TLS_INSECURE
        Use insecure TLS mode which still uses TLS but doesn't verify certificates. This uses InsecureTrustManagerFactory to trust all certificates. This should only be used for testing or in secure environments.
      • GRPC_ENDPOINT

        public static final Property<String> GRPC_ENDPOINT
        GRPC endpoint for remote sidecar connectivity.
      • GRPC_ENABLE_KEEP_ALIVE

        public static final Property<Boolean> GRPC_ENABLE_KEEP_ALIVE
        GRPC enable keep alive. Environment variable: DAPR_GRPC_ENABLE_KEEP_ALIVE System property: dapr.grpc.enable.keep.alive Default: false
      • GRPC_KEEP_ALIVE_TIME_SECONDS

        public static final Property<Duration> GRPC_KEEP_ALIVE_TIME_SECONDS
        GRPC keep alive time in seconds. Environment variable: DAPR_GRPC_KEEP_ALIVE_TIME_SECONDS System property: dapr.grpc.keep.alive.time.seconds Default: 10 seconds
      • GRPC_KEEP_ALIVE_TIMEOUT_SECONDS

        public static final Property<Duration> GRPC_KEEP_ALIVE_TIMEOUT_SECONDS
        GRPC keep alive timeout in seconds. Environment variable: DAPR_GRPC_KEEP_ALIVE_TIMEOUT_SECONDS System property: dapr.grpc.keep.alive.timeout.seconds Default: 5 seconds
      • GRPC_KEEP_ALIVE_WITHOUT_CALLS

        public static final Property<Boolean> GRPC_KEEP_ALIVE_WITHOUT_CALLS
        GRPC keep alive without calls. Environment variable: DAPR_GRPC_KEEP_ALIVE_WITHOUT_CALLS System property: dapr.grpc.keep.alive.without.calls Default: true
      • HTTP_ENDPOINT

        public static final Property<String> HTTP_ENDPOINT
        GRPC endpoint for remote sidecar connectivity.
      • MAX_RETRIES

        public static final Property<Integer> MAX_RETRIES
        Maximum number of retries for retriable exceptions.
      • TIMEOUT

        public static final Property<Duration> TIMEOUT
        Timeout for API calls.
      • API_TOKEN

        public static final Property<String> API_TOKEN
        API token for authentication between App and Dapr's side car.
      • STRING_CHARSET

        public static final Property<Charset> STRING_CHARSET
        Determines which string encoding is used in Dapr's Java SDK.
      • HTTP_CLIENT_READ_TIMEOUT_SECONDS

        public static final Property<Integer> HTTP_CLIENT_READ_TIMEOUT_SECONDS
        Dapr's timeout in seconds for HTTP client reads.
      • HTTP_CLIENT_MAX_REQUESTS

        public static final Property<Integer> HTTP_CLIENT_MAX_REQUESTS
        Dapr's default maximum number of requests for HTTP client to execute concurrently.
      • HTTP_CLIENT_MAX_IDLE_CONNECTIONS

        public static final Property<Integer> HTTP_CLIENT_MAX_IDLE_CONNECTIONS
        Dapr's default maximum number of idle connections for HTTP connection pool.
      • GRPC_MAX_INBOUND_MESSAGE_SIZE_BYTES

        public static final Property<Integer> GRPC_MAX_INBOUND_MESSAGE_SIZE_BYTES
        Dapr's default maximum inbound message size for GRPC in bytes.
      • GRPC_MAX_INBOUND_METADATA_SIZE_BYTES

        public static final Property<Integer> GRPC_MAX_INBOUND_METADATA_SIZE_BYTES
        Dapr's default maximum inbound metadata size for GRPC in bytes.
    • Constructor Details

      • Properties

        public Properties()
        Creates a new instance to handle Properties per instance.
      • Properties

        public Properties(Map<?,String> overridesInput)
        Creates a new instance to handle Properties per instance.
        Parameters:
        overridesInput - to override static properties
    • Method Details

      • getValue

        public <T> T getValue(Property<T> property)
        Gets a property value taking in consideration the override values.
        Type Parameters:
        T - type of the property that we want to get the value from
        Parameters:
        property - to override static property value from overrides
        Returns:
        the property's value

    ================================================ FILE: docs/io/dapr/config/Property.html ================================================ Property (dapr-sdk-parent 1.17.2 API)

    Class Property<T>

    java.lang.Object
    io.dapr.config.Property<T>
    Direct Known Subclasses:
    BooleanProperty, GenericProperty, IntegerProperty, MillisecondsDurationProperty, SecondsDurationProperty, StringProperty

    public abstract class Property<T> extends Object
    A configuration property in the Dapr's SDK.
    • Method Details

      • getName

        public String getName()
        Gets the Java property's name.
        Returns:
        Name.
      • toString

        public String toString()
        Overrides:
        toString in class Object
      • getEnvName

        public String getEnvName()
        Gets the environment variable's name.
        Returns:
        Name.
      • get

        public T get()
        Gets the value defined by system property first, then env variable or sticks to default.
        Returns:
        Value from system property (1st) or env variable (2nd) or default (last).
      • get

        public T get(String override)
        Gets the value defined by system property first, then env variable or sticks to default.
        Parameters:
        override - overrides the property value
        Returns:
        Value from system property (1st) or env variable (2nd) or default (last).
      • parse

        protected abstract T parse(String value)
        Parses the value to the specific type.
        Parameters:
        value - String value to be parsed.
        Returns:
        Value in the specific type.

    ================================================ FILE: docs/io/dapr/config/StringProperty.html ================================================ StringProperty (dapr-sdk-parent 1.17.2 API)

    Class StringProperty

    java.lang.Object
    io.dapr.config.Property<String>
    io.dapr.config.StringProperty

    public class StringProperty extends Property<String>
    String configuration property.
    • Method Details

      • parse

        protected String parse(String value)
        Parses the value to the specific type.
        Specified by:
        parse in class Property<String>
        Parameters:
        value - String value to be parsed.
        Returns:
        Value in the specific type.

    ================================================ FILE: docs/io/dapr/config/class-use/BooleanProperty.html ================================================ Uses of Class io.dapr.config.BooleanProperty (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.config.BooleanProperty

    No usage of io.dapr.config.BooleanProperty

    ================================================ FILE: docs/io/dapr/config/class-use/GenericProperty.html ================================================ Uses of Class io.dapr.config.GenericProperty (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.config.GenericProperty

    No usage of io.dapr.config.GenericProperty

    ================================================ FILE: docs/io/dapr/config/class-use/IntegerProperty.html ================================================ Uses of Class io.dapr.config.IntegerProperty (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.config.IntegerProperty

    No usage of io.dapr.config.IntegerProperty

    ================================================ FILE: docs/io/dapr/config/class-use/MillisecondsDurationProperty.html ================================================ Uses of Class io.dapr.config.MillisecondsDurationProperty (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.config.MillisecondsDurationProperty

    No usage of io.dapr.config.MillisecondsDurationProperty

    ================================================ FILE: docs/io/dapr/config/class-use/Properties.html ================================================ Uses of Class io.dapr.config.Properties (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.config.Properties

    Packages that use Properties

    ================================================ FILE: docs/io/dapr/config/class-use/Property.html ================================================ Uses of Class io.dapr.config.Property (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.config.Property

    Packages that use Property
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/config/class-use/StringProperty.html ================================================ Uses of Class io.dapr.config.StringProperty (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.config.StringProperty

    No usage of io.dapr.config.StringProperty

    ================================================ FILE: docs/io/dapr/config/package-summary.html ================================================ io.dapr.config (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.config


    package io.dapr.config

    ================================================ FILE: docs/io/dapr/config/package-tree.html ================================================ io.dapr.config Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.config

    Package Hierarchies:

    Class Hierarchy


    ================================================ FILE: docs/io/dapr/config/package-use.html ================================================ Uses of Package io.dapr.config (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.config

    Packages that use io.dapr.config

    ================================================ FILE: docs/io/dapr/exceptions/DaprError.html ================================================ DaprError (dapr-sdk-parent 1.17.2 API)

    Class DaprError

    java.lang.Object
    io.dapr.exceptions.DaprError

    public class DaprError extends Object
    Represents an error message from Dapr.
    • Constructor Details

      • DaprError

        public DaprError()
    • Method Details

      • getErrorCode

        public String getErrorCode()
        Gets the error code.
        Returns:
        Error code.
      • setErrorCode

        public DaprError setErrorCode(String errorCode)
        Sets the error code.
        Parameters:
        errorCode - Error code.
        Returns:
        This instance.
      • getMessage

        public String getMessage()
        Gets the error message.
        Returns:
        Error message.
      • setMessage

        public DaprError setMessage(String message)
        Sets the error message.
        Parameters:
        message - Error message.
        Returns:
        This instance.
      • getDetails

        public List<Map<String,Object>> getDetails()
        Gets the error details.
        Returns:
        Error details.
      • setDetails

        public DaprError setDetails(List<Map<String,Object>> details)
        Sets the error details.
        Parameters:
        details - Error details.
        Returns:
        This instance.

    ================================================ FILE: docs/io/dapr/exceptions/DaprErrorDetails.ErrorDetailType.html ================================================ DaprErrorDetails.ErrorDetailType (dapr-sdk-parent 1.17.2 API)

    Enum DaprErrorDetails.ErrorDetailType

    java.lang.Object
    java.lang.Enum<DaprErrorDetails.ErrorDetailType>
    io.dapr.exceptions.DaprErrorDetails.ErrorDetailType
    All Implemented Interfaces:
    Serializable, Comparable<DaprErrorDetails.ErrorDetailType>
    Enclosing class:
    DaprErrorDetails

    public static enum DaprErrorDetails.ErrorDetailType extends Enum<DaprErrorDetails.ErrorDetailType>

    ================================================ FILE: docs/io/dapr/exceptions/DaprErrorDetails.html ================================================ DaprErrorDetails (dapr-sdk-parent 1.17.2 API)

    Class DaprErrorDetails

    java.lang.Object
    io.dapr.exceptions.DaprErrorDetails

    public class DaprErrorDetails extends Object
    • Constructor Details

      • DaprErrorDetails

        public DaprErrorDetails(com.google.rpc.Status grpcStatus)
      • DaprErrorDetails

        public DaprErrorDetails(List<Map<String,Object>> entries)
    • Method Details

      • get

        public <T> T get(DaprErrorDetails.ErrorDetailType errorDetailType, String errAttribute, TypeRef<T> typeRef)
        Gets an attribute of an error detail.
        Type Parameters:
        T - Type of the value to be returned.
        Parameters:
        errorDetailType - Type of the error detail.
        errAttribute - Attribute of the error detail.
        typeRef - Type of the value expected to be returned.
        Returns:
        Value of the attribute or null if not found.
      • equals

        public boolean equals(Object o)
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object

    ================================================ FILE: docs/io/dapr/exceptions/DaprException.html ================================================ DaprException (dapr-sdk-parent 1.17.2 API)

    Class DaprException

    All Implemented Interfaces:
    Serializable

    public class DaprException extends RuntimeException
    A Dapr's specific exception.
    See Also:
    • Constructor Details

      • DaprException

        public DaprException(DaprError daprError, byte[] payload, int httpStatusCode)
        New exception from a server-side generated error code and message.
        Parameters:
        daprError - Server-side error.
        payload - Optional payload containing the error.
        httpStatusCode - Optional http Status Code (0 if not set).
      • DaprException

        public DaprException(DaprError daprError, Throwable cause)
        New exception from a server-side generated error code and message.
        Parameters:
        daprError - Client-side error.
        cause - the cause (which is saved for later retrieval by the Throwable.getCause() method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)
      • DaprException

        public DaprException(Throwable exception)
        Wraps an exception into a DaprException.
        Parameters:
        exception - the exception to be wrapped.
      • DaprException

        public DaprException(String errorCode, String message, byte[] payload, int httpStatusCode)
        New Exception from a client-side generated error code and message.
        Parameters:
        errorCode - Client-side error code.
        message - Client-side error message.
        payload - Optional payload containing the error.
        httpStatusCode - Optional http Status Code (0 if not set).
      • DaprException

        public DaprException(String errorCode, String message, List<Map<String,Object>> errorDetails, byte[] payload, int httpStatusCode)
        New Exception from a client-side generated error code and message.
        Parameters:
        errorCode - Client-side error code.
        message - Client-side error message.
        errorDetails - Details of the error from runtime.
        payload - Optional payload containing the error.
        httpStatusCode - Optional http Status Code (0 if not set).
      • DaprException

        public DaprException(String errorCode, String message, DaprErrorDetails errorDetails, byte[] payload)
        New Exception from a client-side generated error code and message.
        Parameters:
        errorCode - Client-side error code.
        message - Client-side error message.
        errorDetails - Details of the error from runtime.
        payload - Optional payload containing the error.
      • DaprException

        public DaprException(String errorCode, String message, DaprErrorDetails errorDetails, byte[] payload, int httpStatusCode)
        New Exception from a client-side generated error code and message.
        Parameters:
        errorCode - Client-side error code.
        message - Client-side error message.
        errorDetails - Details of the error from runtime.
        payload - Optional payload containing the error.
        httpStatusCode - Optional http Status Code (0 if not set).
      • DaprException

        public DaprException(String errorCode, String message, Throwable cause)
        New exception from a server-side generated error code and message.
        Parameters:
        errorCode - Client-side error code.
        message - Client-side error message.
        cause - the cause (which is saved for later retrieval by the Throwable.getCause() method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)
      • DaprException

        public DaprException(String errorCode, String message, Throwable cause, DaprErrorDetails errorDetails, byte[] payload)
        New exception from a server-side generated error code and message.
        Parameters:
        errorCode - Client-side error code.
        message - Client-side error message.
        cause - the cause (which is saved for later retrieval by the Throwable.getCause() method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)
        errorDetails - the status details for the error.
        payload - Raw error payload.
    • Method Details

      • getErrorCode

        public String getErrorCode()
        Returns the exception's error code.
        Returns:
        Error code.
      • getErrorDetails

        public DaprErrorDetails getErrorDetails()
        Returns the exception's error details.
        Returns:
        Error details.
      • getPayload

        public byte[] getPayload()
        Returns the exception's error payload (optional).
        Returns:
        Error's payload.
      • getHttpStatusCode

        public int getHttpStatusCode()
        Returns the exception's http status code, 0 if not applicable.
        Returns:
        Http status code (0 if not applicable).
      • wrap

        public static void wrap(Throwable exception)
        Wraps an exception into DaprException (if not already DaprException).
        Parameters:
        exception - Exception to be wrapped.
      • wrap

        public static <T> Callable<T> wrap(Callable<T> callable)
        Wraps a callable with a try-catch to throw DaprException.
        Type Parameters:
        T - type to be returned
        Parameters:
        callable - callable to be invoked.
        Returns:
        object of type T.
      • wrap

        public static Runnable wrap(Runnable runnable)
        Wraps a runnable with a try-catch to throw DaprException.
        Parameters:
        runnable - runnable to be invoked.
        Returns:
        object of type T.
      • wrapMono

        public static <T> reactor.core.publisher.Mono<T> wrapMono(Exception exception)
        Wraps an exception into DaprException (if not already DaprException).
        Type Parameters:
        T - Mono's response type.
        Parameters:
        exception - Exception to be wrapped.
        Returns:
        Mono containing DaprException.
      • wrapFlux

        public static <T> reactor.core.publisher.Flux<T> wrapFlux(Exception exception)
        Wraps an exception into DaprException (if not already DaprException).
        Type Parameters:
        T - Flux's response type.
        Parameters:
        exception - Exception to be wrapped.
        Returns:
        Flux containing DaprException.
      • propagate

        public static RuntimeException propagate(Throwable exception)
        Wraps an exception into DaprException (if not already DaprException).
        Parameters:
        exception - Exception to be wrapped.
        Returns:
        wrapped RuntimeException

    ================================================ FILE: docs/io/dapr/exceptions/class-use/DaprError.html ================================================ Uses of Class io.dapr.exceptions.DaprError (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.exceptions.DaprError

    Packages that use DaprError
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/exceptions/class-use/DaprErrorDetails.ErrorDetailType.html ================================================ Uses of Enum io.dapr.exceptions.DaprErrorDetails.ErrorDetailType (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.exceptions.DaprErrorDetails.ErrorDetailType

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/exceptions/class-use/DaprErrorDetails.html ================================================ Uses of Class io.dapr.exceptions.DaprErrorDetails (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.exceptions.DaprErrorDetails

    Packages that use DaprErrorDetails
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/exceptions/class-use/DaprException.html ================================================ Uses of Class io.dapr.exceptions.DaprException (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.exceptions.DaprException

    No usage of io.dapr.exceptions.DaprException

    ================================================ FILE: docs/io/dapr/exceptions/package-summary.html ================================================ io.dapr.exceptions (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.exceptions


    package io.dapr.exceptions

    ================================================ FILE: docs/io/dapr/exceptions/package-tree.html ================================================ io.dapr.exceptions Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.exceptions

    Package Hierarchies:

    Class Hierarchy

    Enum Hierarchy


    ================================================ FILE: docs/io/dapr/exceptions/package-use.html ================================================ Uses of Package io.dapr.exceptions (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.exceptions

    Packages that use io.dapr.exceptions
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/internal/grpc/DaprClientGrpcInterceptors.html ================================================ DaprClientGrpcInterceptors (dapr-sdk-parent 1.17.2 API)

    Class DaprClientGrpcInterceptors

    java.lang.Object
    io.dapr.internal.grpc.DaprClientGrpcInterceptors

    public class DaprClientGrpcInterceptors extends Object
    Class to be used as part of your service's client stub interceptor. Usage: myClientStub = DaprClientGrpcInterceptors.intercept(myClientStub);
    • Constructor Summary

      Constructors
      Constructor
      Description
      Instantiates a holder of all gRPC interceptors.
      DaprClientGrpcInterceptors(String daprApiToken, TimeoutPolicy timeoutPolicy)
      Instantiates a holder of all gRPC interceptors.
    • Method Summary

      Modifier and Type
      Method
      Description
      <T extends io.grpc.stub.AbstractStub<T>>
      T
      intercept(String appId, T client)
      Adds all Dapr interceptors to a gRPC async stub.
      <T extends io.grpc.stub.AbstractStub<T>>
      T
      intercept(String appId, T client, reactor.util.context.ContextView context, Consumer<io.grpc.Metadata> metadataConsumer)
      Adds all Dapr interceptors to a gRPC async stub.
      <T extends io.grpc.stub.AbstractStub<T>>
      T
      intercept(T client)
      Adds all Dapr interceptors to a gRPC async stub.
      <T extends io.grpc.stub.AbstractStub<T>>
      T
      intercept(T client, reactor.util.context.ContextView context)
      Adds all Dapr interceptors to a gRPC async stub.
      <T extends io.grpc.stub.AbstractStub<T>>
      T
      intercept(T client, reactor.util.context.ContextView context, Consumer<io.grpc.Metadata> metadataConsumer)
      Adds all Dapr interceptors to a gRPC async stub.

      Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Details

      • DaprClientGrpcInterceptors

        public DaprClientGrpcInterceptors()
        Instantiates a holder of all gRPC interceptors.
      • DaprClientGrpcInterceptors

        public DaprClientGrpcInterceptors(String daprApiToken, TimeoutPolicy timeoutPolicy)
        Instantiates a holder of all gRPC interceptors.
        Parameters:
        daprApiToken - Dapr API token.
        timeoutPolicy - Timeout Policy.
    • Method Details

      • intercept

        public <T extends io.grpc.stub.AbstractStub<T>> T intercept(T client)
        Adds all Dapr interceptors to a gRPC async stub.
        Type Parameters:
        T - async client type
        Parameters:
        client - gRPC client
        Returns:
        async client instance with interceptors
      • intercept

        public <T extends io.grpc.stub.AbstractStub<T>> T intercept(String appId, T client)
        Adds all Dapr interceptors to a gRPC async stub.
        Type Parameters:
        T - async client type
        Parameters:
        appId - Application ID to invoke.
        client - gRPC client
        Returns:
        async client instance with interceptors
      • intercept

        public <T extends io.grpc.stub.AbstractStub<T>> T intercept(T client, reactor.util.context.ContextView context)
        Adds all Dapr interceptors to a gRPC async stub.
        Type Parameters:
        T - async client type
        Parameters:
        client - gRPC client
        context - Reactor context for tracing
        Returns:
        async client instance with interceptors
      • intercept

        public <T extends io.grpc.stub.AbstractStub<T>> T intercept(T client, reactor.util.context.ContextView context, Consumer<io.grpc.Metadata> metadataConsumer)
        Adds all Dapr interceptors to a gRPC async stub.
        Type Parameters:
        T - async client type
        Parameters:
        client - gRPC client
        context - Reactor context for tracing
        metadataConsumer - Consumer of the gRPC metadata
        Returns:
        async client instance with interceptors
      • intercept

        public <T extends io.grpc.stub.AbstractStub<T>> T intercept(String appId, T client, reactor.util.context.ContextView context, Consumer<io.grpc.Metadata> metadataConsumer)
        Adds all Dapr interceptors to a gRPC async stub.
        Type Parameters:
        T - async client type
        Parameters:
        appId - Application ID to invoke.
        client - gRPC client
        context - Reactor context for tracing
        metadataConsumer - Consumer of the gRPC metadata
        Returns:
        async client instance with interceptors

    ================================================ FILE: docs/io/dapr/internal/grpc/class-use/DaprClientGrpcInterceptors.html ================================================ Uses of Class io.dapr.internal.grpc.DaprClientGrpcInterceptors (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.internal.grpc.DaprClientGrpcInterceptors

    No usage of io.dapr.internal.grpc.DaprClientGrpcInterceptors

    ================================================ FILE: docs/io/dapr/internal/grpc/interceptors/DaprApiTokenInterceptor.html ================================================ DaprApiTokenInterceptor (dapr-sdk-parent 1.17.2 API)

    Class DaprApiTokenInterceptor

    java.lang.Object
    io.dapr.internal.grpc.interceptors.DaprApiTokenInterceptor
    All Implemented Interfaces:
    io.grpc.ClientInterceptor

    public class DaprApiTokenInterceptor extends Object implements io.grpc.ClientInterceptor
    Class to be used as part of your service's client stub interceptor to include the Dapr API token.
    • Constructor Details

      • DaprApiTokenInterceptor

        public DaprApiTokenInterceptor(String token)
        Instantiates an interceptor to inject the Dapr API Token.
        Parameters:
        token - Dapr API Token.
    • Method Details

      • interceptCall

        public <ReqT, RespT> io.grpc.ClientCall<ReqT,RespT> interceptCall(io.grpc.MethodDescriptor<ReqT,RespT> methodDescriptor, io.grpc.CallOptions options, io.grpc.Channel channel)
        Specified by:
        interceptCall in interface io.grpc.ClientInterceptor

    ================================================ FILE: docs/io/dapr/internal/grpc/interceptors/DaprAppIdInterceptor.html ================================================ DaprAppIdInterceptor (dapr-sdk-parent 1.17.2 API)

    Class DaprAppIdInterceptor

    java.lang.Object
    io.dapr.internal.grpc.interceptors.DaprAppIdInterceptor
    All Implemented Interfaces:
    io.grpc.ClientInterceptor

    public class DaprAppIdInterceptor extends Object implements io.grpc.ClientInterceptor
    Class to be used as part of your service's client stub interceptor to include Dapr App Id metadata.
    • Constructor Details

      • DaprAppIdInterceptor

        public DaprAppIdInterceptor(String appId)
    • Method Details

      • interceptCall

        public <ReqT, RespT> io.grpc.ClientCall<ReqT,RespT> interceptCall(io.grpc.MethodDescriptor<ReqT,RespT> methodDescriptor, io.grpc.CallOptions options, io.grpc.Channel channel)
        Specified by:
        interceptCall in interface io.grpc.ClientInterceptor

    ================================================ FILE: docs/io/dapr/internal/grpc/interceptors/DaprTimeoutInterceptor.html ================================================ DaprTimeoutInterceptor (dapr-sdk-parent 1.17.2 API)

    Class DaprTimeoutInterceptor

    java.lang.Object
    io.dapr.internal.grpc.interceptors.DaprTimeoutInterceptor
    All Implemented Interfaces:
    io.grpc.ClientInterceptor

    public class DaprTimeoutInterceptor extends Object implements io.grpc.ClientInterceptor
    Class to be used as part of your service's client stub interceptor to include timeout.
    • Constructor Details

      • DaprTimeoutInterceptor

        public DaprTimeoutInterceptor(TimeoutPolicy timeoutPolicy)
    • Method Details

      • interceptCall

        public <ReqT, RespT> io.grpc.ClientCall<ReqT,RespT> interceptCall(io.grpc.MethodDescriptor<ReqT,RespT> methodDescriptor, io.grpc.CallOptions options, io.grpc.Channel channel)
        Specified by:
        interceptCall in interface io.grpc.ClientInterceptor

    ================================================ FILE: docs/io/dapr/internal/grpc/interceptors/DaprTracingInterceptor.html ================================================ DaprTracingInterceptor (dapr-sdk-parent 1.17.2 API)

    Class DaprTracingInterceptor

    java.lang.Object
    io.dapr.internal.grpc.interceptors.DaprTracingInterceptor
    All Implemented Interfaces:
    io.grpc.ClientInterceptor

    public class DaprTracingInterceptor extends Object implements io.grpc.ClientInterceptor
    Injects tracing headers to gRPC metadata.
    • Constructor Summary

      Constructors
      Constructor
      Description
      DaprTracingInterceptor(reactor.util.context.ContextView context)
      Creates an instance of the injector for gRPC context from Reactor's context.
    • Method Summary

      Modifier and Type
      Method
      Description
      <ReqT, RespT>
      io.grpc.ClientCall<ReqT,RespT>
      interceptCall(io.grpc.MethodDescriptor<ReqT,RespT> methodDescriptor, io.grpc.CallOptions callOptions, io.grpc.Channel channel)
       

      Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Details

      • DaprTracingInterceptor

        public DaprTracingInterceptor(reactor.util.context.ContextView context)
        Creates an instance of the injector for gRPC context from Reactor's context.
        Parameters:
        context - Reactor's context
    • Method Details

      • interceptCall

        public <ReqT, RespT> io.grpc.ClientCall<ReqT,RespT> interceptCall(io.grpc.MethodDescriptor<ReqT,RespT> methodDescriptor, io.grpc.CallOptions callOptions, io.grpc.Channel channel)
        Specified by:
        interceptCall in interface io.grpc.ClientInterceptor

    ================================================ FILE: docs/io/dapr/internal/grpc/interceptors/class-use/DaprApiTokenInterceptor.html ================================================ Uses of Class io.dapr.internal.grpc.interceptors.DaprApiTokenInterceptor (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.internal.grpc.interceptors.DaprApiTokenInterceptor

    No usage of io.dapr.internal.grpc.interceptors.DaprApiTokenInterceptor

    ================================================ FILE: docs/io/dapr/internal/grpc/interceptors/class-use/DaprAppIdInterceptor.html ================================================ Uses of Class io.dapr.internal.grpc.interceptors.DaprAppIdInterceptor (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.internal.grpc.interceptors.DaprAppIdInterceptor

    No usage of io.dapr.internal.grpc.interceptors.DaprAppIdInterceptor

    ================================================ FILE: docs/io/dapr/internal/grpc/interceptors/class-use/DaprTimeoutInterceptor.html ================================================ Uses of Class io.dapr.internal.grpc.interceptors.DaprTimeoutInterceptor (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.internal.grpc.interceptors.DaprTimeoutInterceptor

    No usage of io.dapr.internal.grpc.interceptors.DaprTimeoutInterceptor

    ================================================ FILE: docs/io/dapr/internal/grpc/interceptors/class-use/DaprTracingInterceptor.html ================================================ Uses of Class io.dapr.internal.grpc.interceptors.DaprTracingInterceptor (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.internal.grpc.interceptors.DaprTracingInterceptor

    No usage of io.dapr.internal.grpc.interceptors.DaprTracingInterceptor

    ================================================ FILE: docs/io/dapr/internal/grpc/interceptors/package-summary.html ================================================ io.dapr.internal.grpc.interceptors (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.internal.grpc.interceptors


    package io.dapr.internal.grpc.interceptors

    ================================================ FILE: docs/io/dapr/internal/grpc/interceptors/package-tree.html ================================================ io.dapr.internal.grpc.interceptors Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.internal.grpc.interceptors

    Package Hierarchies:

    Class Hierarchy


    ================================================ FILE: docs/io/dapr/internal/grpc/interceptors/package-use.html ================================================ Uses of Package io.dapr.internal.grpc.interceptors (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.internal.grpc.interceptors

    No usage of io.dapr.internal.grpc.interceptors

    ================================================ FILE: docs/io/dapr/internal/grpc/package-summary.html ================================================ io.dapr.internal.grpc (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.internal.grpc


    package io.dapr.internal.grpc

    ================================================ FILE: docs/io/dapr/internal/grpc/package-tree.html ================================================ io.dapr.internal.grpc Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.internal.grpc

    Package Hierarchies:

    Class Hierarchy


    ================================================ FILE: docs/io/dapr/internal/grpc/package-use.html ================================================ Uses of Package io.dapr.internal.grpc (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.internal.grpc

    No usage of io.dapr.internal.grpc

    ================================================ FILE: docs/io/dapr/internal/opencensus/GrpcHelper.html ================================================ GrpcHelper (dapr-sdk-parent 1.17.2 API)

    Class GrpcHelper

    java.lang.Object
    io.dapr.internal.opencensus.GrpcHelper

    public final class GrpcHelper extends Object
    Helper to extract tracing information for gRPC calls.
    • Method Details

      • populateMetadata

        public static void populateMetadata(reactor.util.context.ContextView context, io.grpc.Metadata metadata)
        Populates GRPC client's metadata with tracing headers.
        Parameters:
        context - Reactor's context.
        metadata - GRPC client metadata to be populated.

    ================================================ FILE: docs/io/dapr/internal/opencensus/class-use/GrpcHelper.html ================================================ Uses of Class io.dapr.internal.opencensus.GrpcHelper (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.internal.opencensus.GrpcHelper

    No usage of io.dapr.internal.opencensus.GrpcHelper

    ================================================ FILE: docs/io/dapr/internal/opencensus/package-summary.html ================================================ io.dapr.internal.opencensus (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.internal.opencensus


    package io.dapr.internal.opencensus
    • Classes
      Class
      Description
      Helper to extract tracing information for gRPC calls.

    ================================================ FILE: docs/io/dapr/internal/opencensus/package-tree.html ================================================ io.dapr.internal.opencensus Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.internal.opencensus

    Package Hierarchies:

    Class Hierarchy


    ================================================ FILE: docs/io/dapr/internal/opencensus/package-use.html ================================================ Uses of Package io.dapr.internal.opencensus (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.internal.opencensus

    No usage of io.dapr.internal.opencensus

    ================================================ FILE: docs/io/dapr/internal/resiliency/RetryPolicy.html ================================================ RetryPolicy (dapr-sdk-parent 1.17.2 API)

    Class RetryPolicy

    java.lang.Object
    io.dapr.internal.resiliency.RetryPolicy

    public final class RetryPolicy extends Object
    Retry policy for SDK communication to Dapr API.
    • Constructor Summary

      Constructors
      Constructor
      Description
       
      RetryPolicy(Integer maxRetries)
       
    • Method Summary

      Modifier and Type
      Method
      Description
      <T> reactor.core.publisher.Flux<T>
      apply(reactor.core.publisher.Flux<T> response)
      Applies the retry policy to an expected Flux action.
      <T> reactor.core.publisher.Mono<T>
      apply(reactor.core.publisher.Mono<T> response)
      Applies the retry policy to an expected Mono action.

      Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Details

      • RetryPolicy

        public RetryPolicy()
      • RetryPolicy

        public RetryPolicy(Integer maxRetries)
    • Method Details

      • apply

        public <T> reactor.core.publisher.Mono<T> apply(reactor.core.publisher.Mono<T> response)
        Applies the retry policy to an expected Mono action.
        Type Parameters:
        T - Type expected for the action's response
        Parameters:
        response - Response
        Returns:
        action with retry
      • apply

        public <T> reactor.core.publisher.Flux<T> apply(reactor.core.publisher.Flux<T> response)
        Applies the retry policy to an expected Flux action.
        Type Parameters:
        T - Type expected for the action's response
        Parameters:
        response - Response
        Returns:
        action with retry

    ================================================ FILE: docs/io/dapr/internal/resiliency/TimeoutPolicy.html ================================================ TimeoutPolicy (dapr-sdk-parent 1.17.2 API)

    Class TimeoutPolicy

    java.lang.Object
    io.dapr.internal.resiliency.TimeoutPolicy

    public final class TimeoutPolicy extends Object
    Timeout policy for SDK communication to Dapr API.
    • Constructor Details

      • TimeoutPolicy

        public TimeoutPolicy(Duration timeout)
        Instantiates a new timeout policy with override value.
        Parameters:
        timeout - Override timeout value.
      • TimeoutPolicy

        public TimeoutPolicy()
        Instantiates a new timeout policy with default value.
    • Method Details

      • apply

        public io.grpc.CallOptions apply(io.grpc.CallOptions options)
        Applies the timeout policy to a gRPC call options.
        Parameters:
        options - Call options
        Returns:
        Call options with retry policy applied

    ================================================ FILE: docs/io/dapr/internal/resiliency/class-use/RetryPolicy.html ================================================ Uses of Class io.dapr.internal.resiliency.RetryPolicy (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.internal.resiliency.RetryPolicy

    No usage of io.dapr.internal.resiliency.RetryPolicy

    ================================================ FILE: docs/io/dapr/internal/resiliency/class-use/TimeoutPolicy.html ================================================ Uses of Class io.dapr.internal.resiliency.TimeoutPolicy (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.internal.resiliency.TimeoutPolicy

    Packages that use TimeoutPolicy

    ================================================ FILE: docs/io/dapr/internal/resiliency/package-summary.html ================================================ io.dapr.internal.resiliency (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.internal.resiliency


    package io.dapr.internal.resiliency
    • Classes
      Class
      Description
      Retry policy for SDK communication to Dapr API.
      Timeout policy for SDK communication to Dapr API.

    ================================================ FILE: docs/io/dapr/internal/resiliency/package-tree.html ================================================ io.dapr.internal.resiliency Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.internal.resiliency

    Package Hierarchies:

    Class Hierarchy


    ================================================ FILE: docs/io/dapr/internal/resiliency/package-use.html ================================================ Uses of Package io.dapr.internal.resiliency (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.internal.resiliency

    Packages that use io.dapr.internal.resiliency

    ================================================ FILE: docs/io/dapr/package-summary.html ================================================ io.dapr (dapr-sdk-parent 1.17.2 API)

    Package io.dapr


    package io.dapr

    ================================================ FILE: docs/io/dapr/package-tree.html ================================================ io.dapr Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr

    Package Hierarchies:

    Annotation Type Hierarchy


    ================================================ FILE: docs/io/dapr/package-use.html ================================================ Uses of Package io.dapr (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr

    No usage of io.dapr

    ================================================ FILE: docs/io/dapr/serializer/DaprObjectSerializer.html ================================================ DaprObjectSerializer (dapr-sdk-parent 1.17.2 API)

    Interface DaprObjectSerializer

    All Known Implementing Classes:
    CustomizableObjectSerializer, DefaultObjectSerializer, Jackson3ObjectSerializer

    public interface DaprObjectSerializer
    Serializes and deserializes application's objects.
    • Method Summary

      Modifier and Type
      Method
      Description
      <T> T
      deserialize(byte[] data, TypeRef<T> type)
      Deserializes the given byte[] into a object.
      Returns the content type of the request.
      byte[]
      Serializes the given object as byte[].
    • Method Details

      • serialize

        byte[] serialize(Object o) throws IOException
        Serializes the given object as byte[].
        Parameters:
        o - Object to be serialized.
        Returns:
        Serialized object.
        Throws:
        IOException - If cannot serialize.
      • deserialize

        <T> T deserialize(byte[] data, TypeRef<T> type) throws IOException
        Deserializes the given byte[] into a object.
        Type Parameters:
        T - Type of object to be deserialized.
        Parameters:
        data - Data to be deserialized.
        type - Type of object to be deserialized.
        Returns:
        Deserialized object.
        Throws:
        IOException - If cannot deserialize object.
      • getContentType

        String getContentType()
        Returns the content type of the request.
        Returns:
        content type of the request

    ================================================ FILE: docs/io/dapr/serializer/DefaultObjectSerializer.html ================================================ DefaultObjectSerializer (dapr-sdk-parent 1.17.2 API)

    Class DefaultObjectSerializer

    java.lang.Object
    io.dapr.client.ObjectSerializer
    io.dapr.serializer.DefaultObjectSerializer
    All Implemented Interfaces:
    DaprObjectSerializer

    public class DefaultObjectSerializer extends ObjectSerializer implements DaprObjectSerializer
    Default serializer/deserializer for request/response objects and for state objects too.
    • Constructor Details

      • DefaultObjectSerializer

        public DefaultObjectSerializer()
    • Method Details

      • serialize

        public byte[] serialize(Object o) throws IOException
        Serializes a given state object into byte array.
        Specified by:
        serialize in interface DaprObjectSerializer
        Overrides:
        serialize in class ObjectSerializer
        Parameters:
        o - State object to be serialized.
        Returns:
        Array of bytes[] with the serialized content.
        Throws:
        IOException - In case state cannot be serialized.
      • deserialize

        public <T> T deserialize(byte[] data, TypeRef<T> type) throws IOException
        Deserializes the byte array into the original object.
        Specified by:
        deserialize in interface DaprObjectSerializer
        Overrides:
        deserialize in class ObjectSerializer
        Type Parameters:
        T - Generic type of the object being deserialized.
        Parameters:
        data - Content to be parsed.
        type - Type of the object being deserialized.
        Returns:
        Object of type T.
        Throws:
        IOException - In case content cannot be deserialized.
      • getContentType

        public String getContentType()
        Returns the content type of the request.
        Specified by:
        getContentType in interface DaprObjectSerializer
        Returns:
        content type of the request

    ================================================ FILE: docs/io/dapr/serializer/class-use/DaprObjectSerializer.html ================================================ Uses of Interface io.dapr.serializer.DaprObjectSerializer (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.serializer.DaprObjectSerializer

    Packages that use DaprObjectSerializer

    ================================================ FILE: docs/io/dapr/serializer/class-use/DefaultObjectSerializer.html ================================================ Uses of Class io.dapr.serializer.DefaultObjectSerializer (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.serializer.DefaultObjectSerializer

    No usage of io.dapr.serializer.DefaultObjectSerializer

    ================================================ FILE: docs/io/dapr/serializer/package-summary.html ================================================ io.dapr.serializer (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.serializer


    package io.dapr.serializer

    ================================================ FILE: docs/io/dapr/serializer/package-tree.html ================================================ io.dapr.serializer Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.serializer

    Package Hierarchies:

    Class Hierarchy

    Interface Hierarchy


    ================================================ FILE: docs/io/dapr/serializer/package-use.html ================================================ Uses of Package io.dapr.serializer (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.serializer

    Packages that use io.dapr.serializer

    ================================================ FILE: docs/io/dapr/utils/DefaultContentTypeConverter.html ================================================ DefaultContentTypeConverter (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.utils

    Class DefaultContentTypeConverter

    java.lang.Object
    io.dapr.utils.DefaultContentTypeConverter

    public class DefaultContentTypeConverter extends Object
    A utility class for converting event to bytes based on content type or given serializer. When an application/json or application/cloudevents+json is given as content type, the object serializer is used to serialize the data into bytes
    • Constructor Details

      • DefaultContentTypeConverter

        public DefaultContentTypeConverter()
    • Method Details

      • convertEventToBytesForHttp

        public static <T> byte[] convertEventToBytesForHttp(T event, String contentType) throws IllegalArgumentException, IOException
        Function to convert a given event to bytes for HTTP calls.
        Type Parameters:
        T - The type of the event
        Parameters:
        event - The input event
        contentType - The content type of the event
        Returns:
        the event as bytes
        Throws:
        IllegalArgumentException - on mismatch between contentType and event types
        IOException - on serialization
      • convertEventToBytesForGrpc

        public static <T> byte[] convertEventToBytesForGrpc(T event, String contentType) throws IllegalArgumentException, IOException
        Function to convert a given event to bytes for gRPC calls.
        Type Parameters:
        T - The type of the event
        Parameters:
        event - The input event
        contentType - The content type of the event
        Returns:
        the event as bytes
        Throws:
        IllegalArgumentException - on mismatch between contentType and event types
        IOException - on serialization
      • convertBytesToEventFromHttp

        public static <T> T convertBytesToEventFromHttp(byte[] event, String contentType, TypeRef<T> typeRef) throws IllegalArgumentException, IOException
        Function to convert a bytes array from HTTP input into event based on given object deserializer.
        Type Parameters:
        T - The type of the event
        Parameters:
        event - The input event
        contentType - The content type of the event
        typeRef - The type to convert the event to
        Returns:
        the event as bytes
        Throws:
        IllegalArgumentException - on mismatch between contentType and event types
        IOException - on serialization
      • convertBytesToEventFromGrpc

        public static <T> T convertBytesToEventFromGrpc(byte[] event, String contentType, TypeRef<T> typeRef) throws IllegalArgumentException, IOException
        Function to convert a bytes array from gRPC input into event based on given object deserializer.
        Type Parameters:
        T - The type of the event
        Parameters:
        event - The input event
        contentType - The content type of the event
        typeRef - The type to convert the event to
        Returns:
        the event as bytes
        Throws:
        IllegalArgumentException - on mismatch between contentType and event types
        IOException - on serialization
      • isCloudEventContentType

        public static boolean isCloudEventContentType(String contentType)
      • isJsonContentType

        public static boolean isJsonContentType(String contentType)
      • isStringContentType

        public static boolean isStringContentType(String contentType)
      • isBinaryContentType

        public static boolean isBinaryContentType(String contentType)

    ================================================ FILE: docs/io/dapr/utils/DurationUtils.html ================================================ DurationUtils (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.utils

    Class DurationUtils

    java.lang.Object
    io.dapr.utils.DurationUtils

    public class DurationUtils extends Object
    • Constructor Details

      • DurationUtils

        public DurationUtils()
    • Method Details

      • convertDurationFromDaprFormat

        public static Duration convertDurationFromDaprFormat(String valueString)
        Converts time from the String format used by Dapr into a Duration.
        Parameters:
        valueString - A String representing time in the Dapr runtime's format (e.g. 4h15m50s60ms).
        Returns:
        A Duration
      • convertDurationToDaprFormat

        public static String convertDurationToDaprFormat(Duration value)
        Converts a Duration to the format used by the Dapr runtime.
        Parameters:
        value - Duration
        Returns:
        The Duration formatted as a String in the format the Dapr runtime uses (e.g. 4h15m50s60ms)

    ================================================ FILE: docs/io/dapr/utils/NetworkUtils.html ================================================ NetworkUtils (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.utils

    Class NetworkUtils

    java.lang.Object
    io.dapr.utils.NetworkUtils

    public final class NetworkUtils extends Object
    Utility methods for network, internal to Dapr SDK.
    • Method Details

      • waitForSocket

        public static void waitForSocket(String host, int port, int timeoutInMilliseconds) throws InterruptedException
        Tries to connect to a socket, retrying every 1 second.
        Parameters:
        host - Host to connect to.
        port - Port to connect to.
        timeoutInMilliseconds - Timeout in milliseconds to give up trying.
        Throws:
        InterruptedException - If retry is interrupted.
      • buildGrpcManagedChannel

        public static io.grpc.ManagedChannel buildGrpcManagedChannel(Properties properties, io.grpc.ClientInterceptor... interceptors)
        Creates a GRPC managed channel.
        Parameters:
        properties - instance to set up the GrpcEndpoint
        interceptors - Optional interceptors to add to the channel.
        Returns:
        GRPC managed channel to communicate with the sidecar.
      • getHostLoopbackAddress

        public static String getHostLoopbackAddress()
        Retrieve loopback address for the host.
        Returns:
        The loopback address String

    ================================================ FILE: docs/io/dapr/utils/TypeRef.html ================================================ TypeRef (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.utils

    Class TypeRef<T>

    java.lang.Object
    io.dapr.utils.TypeRef<T>
    Type Parameters:
    T - Type to be deserialized.

    public abstract class TypeRef<T> extends Object
    Used to reference a type.

    Usage: new TypeRef<MyClass>(){}

    • Field Details

    • Constructor Details

      • TypeRef

        public TypeRef()
        Constructor.
    • Method Details

      • getType

        public Type getType()
        Gets the type referenced.
        Returns:
        type referenced.
      • get

        public static <T> TypeRef<T> get(Class<T> clazz)
        Creates a reference to a given class type.
        Type Parameters:
        T - Type to be referenced.
        Parameters:
        clazz - Class type to be referenced.
        Returns:
        Class type reference.
      • get

        public static <T> TypeRef<T> get(Type type)
        Creates a reference to a given class type.
        Type Parameters:
        T - Type to be referenced.
        Parameters:
        type - Type to be referenced.
        Returns:
        Class type reference.
      • isPrimitive

        public static <T> boolean isPrimitive(TypeRef<T> typeRef)
        Checks if the given TypeRef is of a primitive type Similar to implementation of deserializePrimitives in the class ObjectSerializer It considers only those types as primitives.
        Type Parameters:
        T - Type to be referenced.
        Parameters:
        typeRef - Type to be referenced.
        Returns:
        truth value of whether the given type ref is a primitive reference or not.

    ================================================ FILE: docs/io/dapr/utils/Version.html ================================================ Version (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.utils

    Class Version

    java.lang.Object
    io.dapr.utils.Version

    public final class Version extends Object
    • Constructor Details

      • Version

        public Version()
    • Method Details

      • getSdkVersion

        public static String getSdkVersion()
        Retrieves sdk version from resources.
        Returns:
        String version of sdk.

    ================================================ FILE: docs/io/dapr/utils/class-use/DefaultContentTypeConverter.html ================================================ Uses of Class io.dapr.utils.DefaultContentTypeConverter (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.utils.DefaultContentTypeConverter

    No usage of io.dapr.utils.DefaultContentTypeConverter

    ================================================ FILE: docs/io/dapr/utils/class-use/DurationUtils.html ================================================ Uses of Class io.dapr.utils.DurationUtils (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.utils.DurationUtils

    No usage of io.dapr.utils.DurationUtils

    ================================================ FILE: docs/io/dapr/utils/class-use/NetworkUtils.html ================================================ Uses of Class io.dapr.utils.NetworkUtils (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.utils.NetworkUtils

    No usage of io.dapr.utils.NetworkUtils

    ================================================ FILE: docs/io/dapr/utils/class-use/TypeRef.html ================================================ Uses of Class io.dapr.utils.TypeRef (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.utils.TypeRef

    Packages that use TypeRef

    ================================================ FILE: docs/io/dapr/utils/class-use/Version.html ================================================ Uses of Class io.dapr.utils.Version (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.utils.Version

    No usage of io.dapr.utils.Version

    ================================================ FILE: docs/io/dapr/utils/package-summary.html ================================================ io.dapr.utils (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.utils


    package io.dapr.utils

    ================================================ FILE: docs/io/dapr/utils/package-tree.html ================================================ io.dapr.utils Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.utils

    Package Hierarchies:

    Class Hierarchy


    ================================================ FILE: docs/io/dapr/utils/package-use.html ================================================ Uses of Package io.dapr.utils (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.utils

    Packages that use io.dapr.utils

    ================================================ FILE: docs/io/dapr/v1/AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub.html ================================================ AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractBlockingStub<AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub>
    io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub
    Enclosing class:
    AppCallbackAlphaGrpc

    public static final class AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub extends io.grpc.stub.AbstractBlockingStub<AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub>
    A stub to allow clients to do limited synchronous rpc calls to service AppCallbackAlpha.
     AppCallbackAlpha V1 is an optional extension to AppCallback V1 to opt
     for Alpha RPCs.
     

    ================================================ FILE: docs/io/dapr/v1/AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub.html ================================================ AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractFutureStub<AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub>
    io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub
    Enclosing class:
    AppCallbackAlphaGrpc

    public static final class AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub extends io.grpc.stub.AbstractFutureStub<AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub>
    A stub to allow clients to do ListenableFuture-style rpc calls to service AppCallbackAlpha.
     AppCallbackAlpha V1 is an optional extension to AppCallback V1 to opt
     for Alpha RPCs.
     

    ================================================ FILE: docs/io/dapr/v1/AppCallbackAlphaGrpc.AppCallbackAlphaImplBase.html ================================================ AppCallbackAlphaGrpc.AppCallbackAlphaImplBase (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackAlphaGrpc.AppCallbackAlphaImplBase

    java.lang.Object
    io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaImplBase
    All Implemented Interfaces:
    AppCallbackAlphaGrpc.AsyncService, io.grpc.BindableService
    Enclosing class:
    AppCallbackAlphaGrpc

    public abstract static class AppCallbackAlphaGrpc.AppCallbackAlphaImplBase extends Object implements io.grpc.BindableService, AppCallbackAlphaGrpc.AsyncService
    Base class for the server implementation of the service AppCallbackAlpha.
     AppCallbackAlpha V1 is an optional extension to AppCallback V1 to opt
     for Alpha RPCs.
     
    • Constructor Details

      • AppCallbackAlphaImplBase

        public AppCallbackAlphaImplBase()
    • Method Details

      • bindService

        public final io.grpc.ServerServiceDefinition bindService()
        Specified by:
        bindService in interface io.grpc.BindableService

    ================================================ FILE: docs/io/dapr/v1/AppCallbackAlphaGrpc.AppCallbackAlphaStub.html ================================================ AppCallbackAlphaGrpc.AppCallbackAlphaStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackAlphaGrpc.AppCallbackAlphaStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractAsyncStub<AppCallbackAlphaGrpc.AppCallbackAlphaStub>
    io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaStub
    Enclosing class:
    AppCallbackAlphaGrpc

    public static final class AppCallbackAlphaGrpc.AppCallbackAlphaStub extends io.grpc.stub.AbstractAsyncStub<AppCallbackAlphaGrpc.AppCallbackAlphaStub>
    A stub to allow clients to do asynchronous rpc calls to service AppCallbackAlpha.
     AppCallbackAlpha V1 is an optional extension to AppCallback V1 to opt
     for Alpha RPCs.
     

    ================================================ FILE: docs/io/dapr/v1/AppCallbackAlphaGrpc.AsyncService.html ================================================ AppCallbackAlphaGrpc.AsyncService (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface AppCallbackAlphaGrpc.AsyncService

    All Known Implementing Classes:
    AppCallbackAlphaGrpc.AppCallbackAlphaImplBase
    Enclosing class:
    AppCallbackAlphaGrpc

    public static interface AppCallbackAlphaGrpc.AsyncService
     AppCallbackAlpha V1 is an optional extension to AppCallback V1 to opt
     for Alpha RPCs.
     

    ================================================ FILE: docs/io/dapr/v1/AppCallbackAlphaGrpc.html ================================================ AppCallbackAlphaGrpc (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackAlphaGrpc

    java.lang.Object
    io.dapr.v1.AppCallbackAlphaGrpc

    public final class AppCallbackAlphaGrpc extends Object
     AppCallbackAlpha V1 is an optional extension to AppCallback V1 to opt
     for Alpha RPCs.
     

    ================================================ FILE: docs/io/dapr/v1/AppCallbackGrpc.AppCallbackBlockingStub.html ================================================ AppCallbackGrpc.AppCallbackBlockingStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackGrpc.AppCallbackBlockingStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractBlockingStub<AppCallbackGrpc.AppCallbackBlockingStub>
    io.dapr.v1.AppCallbackGrpc.AppCallbackBlockingStub
    Enclosing class:
    AppCallbackGrpc

    public static final class AppCallbackGrpc.AppCallbackBlockingStub extends io.grpc.stub.AbstractBlockingStub<AppCallbackGrpc.AppCallbackBlockingStub>
    A stub to allow clients to do limited synchronous rpc calls to service AppCallback.
     AppCallback V1 allows user application to interact with Dapr runtime.
     User application needs to implement AppCallback service if it needs to
     receive message from dapr runtime.
     

    ================================================ FILE: docs/io/dapr/v1/AppCallbackGrpc.AppCallbackFutureStub.html ================================================ AppCallbackGrpc.AppCallbackFutureStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackGrpc.AppCallbackFutureStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractFutureStub<AppCallbackGrpc.AppCallbackFutureStub>
    io.dapr.v1.AppCallbackGrpc.AppCallbackFutureStub
    Enclosing class:
    AppCallbackGrpc

    public static final class AppCallbackGrpc.AppCallbackFutureStub extends io.grpc.stub.AbstractFutureStub<AppCallbackGrpc.AppCallbackFutureStub>
    A stub to allow clients to do ListenableFuture-style rpc calls to service AppCallback.
     AppCallback V1 allows user application to interact with Dapr runtime.
     User application needs to implement AppCallback service if it needs to
     receive message from dapr runtime.
     

    ================================================ FILE: docs/io/dapr/v1/AppCallbackGrpc.AppCallbackImplBase.html ================================================ AppCallbackGrpc.AppCallbackImplBase (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackGrpc.AppCallbackImplBase

    java.lang.Object
    io.dapr.v1.AppCallbackGrpc.AppCallbackImplBase
    All Implemented Interfaces:
    AppCallbackGrpc.AsyncService, io.grpc.BindableService
    Enclosing class:
    AppCallbackGrpc

    public abstract static class AppCallbackGrpc.AppCallbackImplBase extends Object implements io.grpc.BindableService, AppCallbackGrpc.AsyncService
    Base class for the server implementation of the service AppCallback.
     AppCallback V1 allows user application to interact with Dapr runtime.
     User application needs to implement AppCallback service if it needs to
     receive message from dapr runtime.
     
    • Constructor Details

      • AppCallbackImplBase

        public AppCallbackImplBase()
    • Method Details

      • bindService

        public final io.grpc.ServerServiceDefinition bindService()
        Specified by:
        bindService in interface io.grpc.BindableService

    ================================================ FILE: docs/io/dapr/v1/AppCallbackGrpc.AppCallbackStub.html ================================================ AppCallbackGrpc.AppCallbackStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackGrpc.AppCallbackStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractAsyncStub<AppCallbackGrpc.AppCallbackStub>
    io.dapr.v1.AppCallbackGrpc.AppCallbackStub
    Enclosing class:
    AppCallbackGrpc

    public static final class AppCallbackGrpc.AppCallbackStub extends io.grpc.stub.AbstractAsyncStub<AppCallbackGrpc.AppCallbackStub>
    A stub to allow clients to do asynchronous rpc calls to service AppCallback.
     AppCallback V1 allows user application to interact with Dapr runtime.
     User application needs to implement AppCallback service if it needs to
     receive message from dapr runtime.
     

    ================================================ FILE: docs/io/dapr/v1/AppCallbackGrpc.AsyncService.html ================================================ AppCallbackGrpc.AsyncService (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface AppCallbackGrpc.AsyncService

    All Known Implementing Classes:
    AppCallbackGrpc.AppCallbackImplBase
    Enclosing class:
    AppCallbackGrpc

    public static interface AppCallbackGrpc.AsyncService
     AppCallback V1 allows user application to interact with Dapr runtime.
     User application needs to implement AppCallback service if it needs to
     receive message from dapr runtime.
     

    ================================================ FILE: docs/io/dapr/v1/AppCallbackGrpc.html ================================================ AppCallbackGrpc (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackGrpc

    java.lang.Object
    io.dapr.v1.AppCallbackGrpc

    public final class AppCallbackGrpc extends Object
     AppCallback V1 allows user application to interact with Dapr runtime.
     User application needs to implement AppCallback service if it needs to
     receive message from dapr runtime.
     

    ================================================ FILE: docs/io/dapr/v1/AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub.html ================================================ AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractBlockingStub<AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub>
    io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub
    Enclosing class:
    AppCallbackHealthCheckGrpc

    public static final class AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub extends io.grpc.stub.AbstractBlockingStub<AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub>
    A stub to allow clients to do limited synchronous rpc calls to service AppCallbackHealthCheck.
     AppCallbackHealthCheck V1 is an optional extension to AppCallback V1 to implement
     the HealthCheck method.
     
    • Nested Class Summary

      Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub

      io.grpc.stub.AbstractStub.StubFactory<T extends io.grpc.stub.AbstractStub<T>>
    • Method Summary

      Modifier and Type
      Method
      Description
      build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
       
      healthCheck(com.google.protobuf.Empty request)
      Health check.

      Methods inherited from class io.grpc.stub.AbstractBlockingStub

      newStub, newStub

      Methods inherited from class io.grpc.stub.AbstractStub

      getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReady

      Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    ================================================ FILE: docs/io/dapr/v1/AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub.html ================================================ AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractFutureStub<AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub>
    io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub
    Enclosing class:
    AppCallbackHealthCheckGrpc

    public static final class AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub extends io.grpc.stub.AbstractFutureStub<AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub>
    A stub to allow clients to do ListenableFuture-style rpc calls to service AppCallbackHealthCheck.
     AppCallbackHealthCheck V1 is an optional extension to AppCallback V1 to implement
     the HealthCheck method.
     
    • Nested Class Summary

      Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub

      io.grpc.stub.AbstractStub.StubFactory<T extends io.grpc.stub.AbstractStub<T>>
    • Method Summary

      Modifier and Type
      Method
      Description
      build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
       
      com.google.common.util.concurrent.ListenableFuture<DaprAppCallbackProtos.HealthCheckResponse>
      healthCheck(com.google.protobuf.Empty request)
      Health check.

      Methods inherited from class io.grpc.stub.AbstractFutureStub

      newStub, newStub

      Methods inherited from class io.grpc.stub.AbstractStub

      getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReady

      Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    ================================================ FILE: docs/io/dapr/v1/AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase.html ================================================ AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase

    java.lang.Object
    io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase
    All Implemented Interfaces:
    AppCallbackHealthCheckGrpc.AsyncService, io.grpc.BindableService
    Enclosing class:
    AppCallbackHealthCheckGrpc

    public abstract static class AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase extends Object implements io.grpc.BindableService, AppCallbackHealthCheckGrpc.AsyncService
    Base class for the server implementation of the service AppCallbackHealthCheck.
     AppCallbackHealthCheck V1 is an optional extension to AppCallback V1 to implement
     the HealthCheck method.
     
    • Constructor Details

      • AppCallbackHealthCheckImplBase

        public AppCallbackHealthCheckImplBase()
    • Method Details

      • bindService

        public final io.grpc.ServerServiceDefinition bindService()
        Specified by:
        bindService in interface io.grpc.BindableService

    ================================================ FILE: docs/io/dapr/v1/AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub.html ================================================ AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractAsyncStub<AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub>
    io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub
    Enclosing class:
    AppCallbackHealthCheckGrpc

    public static final class AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub extends io.grpc.stub.AbstractAsyncStub<AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub>
    A stub to allow clients to do asynchronous rpc calls to service AppCallbackHealthCheck.
     AppCallbackHealthCheck V1 is an optional extension to AppCallback V1 to implement
     the HealthCheck method.
     
    • Nested Class Summary

      Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub

      io.grpc.stub.AbstractStub.StubFactory<T extends io.grpc.stub.AbstractStub<T>>
    • Method Summary

      Modifier and Type
      Method
      Description
      build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
       
      void
      healthCheck(com.google.protobuf.Empty request, io.grpc.stub.StreamObserver<DaprAppCallbackProtos.HealthCheckResponse> responseObserver)
      Health check.

      Methods inherited from class io.grpc.stub.AbstractAsyncStub

      newStub, newStub

      Methods inherited from class io.grpc.stub.AbstractStub

      getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReady

      Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    ================================================ FILE: docs/io/dapr/v1/AppCallbackHealthCheckGrpc.AsyncService.html ================================================ AppCallbackHealthCheckGrpc.AsyncService (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface AppCallbackHealthCheckGrpc.AsyncService

    All Known Implementing Classes:
    AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase
    Enclosing class:
    AppCallbackHealthCheckGrpc

    public static interface AppCallbackHealthCheckGrpc.AsyncService
     AppCallbackHealthCheck V1 is an optional extension to AppCallback V1 to implement
     the HealthCheck method.
     
    • Method Summary

      Modifier and Type
      Method
      Description
      default void
      healthCheck(com.google.protobuf.Empty request, io.grpc.stub.StreamObserver<DaprAppCallbackProtos.HealthCheckResponse> responseObserver)
      Health check.

    ================================================ FILE: docs/io/dapr/v1/AppCallbackHealthCheckGrpc.html ================================================ AppCallbackHealthCheckGrpc (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class AppCallbackHealthCheckGrpc

    java.lang.Object
    io.dapr.v1.AppCallbackHealthCheckGrpc

    public final class AppCallbackHealthCheckGrpc extends Object
     AppCallbackHealthCheck V1 is an optional extension to AppCallback V1 to implement
     the HealthCheck method.
     

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.ConfigurationItem.Builder.html ================================================ CommonProtos.ConfigurationItem.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.ConfigurationItem.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.ConfigurationItem.Builder>
    io.dapr.v1.CommonProtos.ConfigurationItem.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.ConfigurationItemOrBuilder, Cloneable
    Enclosing class:
    CommonProtos.ConfigurationItem

    public static final class CommonProtos.ConfigurationItem.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.ConfigurationItem.Builder> implements CommonProtos.ConfigurationItemOrBuilder
     ConfigurationItem represents all the configuration with its name(key).
     
    Protobuf type dapr.proto.common.v1.ConfigurationItem

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.ConfigurationItem.html ================================================ CommonProtos.ConfigurationItem (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.ConfigurationItem

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.CommonProtos.ConfigurationItem
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.ConfigurationItemOrBuilder, Serializable
    Enclosing class:
    CommonProtos

    public static final class CommonProtos.ConfigurationItem extends com.google.protobuf.GeneratedMessageV3 implements CommonProtos.ConfigurationItemOrBuilder
     ConfigurationItem represents all the configuration with its name(key).
     
    Protobuf type dapr.proto.common.v1.ConfigurationItem
    See Also:
    • Field Details

    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetMapFieldReflection

        protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number)
        Overrides:
        internalGetMapFieldReflection in class com.google.protobuf.GeneratedMessageV3
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getValue

        public String getValue()
         Required. The value of configuration item.
         
        string value = 1;
        Specified by:
        getValue in interface CommonProtos.ConfigurationItemOrBuilder
        Returns:
        The value.
      • getValueBytes

        public com.google.protobuf.ByteString getValueBytes()
         Required. The value of configuration item.
         
        string value = 1;
        Specified by:
        getValueBytes in interface CommonProtos.ConfigurationItemOrBuilder
        Returns:
        The bytes for value.
      • getVersion

        public String getVersion()
         Version is response only and cannot be fetched. Store is not expected to keep all versions available
         
        string version = 2;
        Specified by:
        getVersion in interface CommonProtos.ConfigurationItemOrBuilder
        Returns:
        The version.
      • getVersionBytes

        public com.google.protobuf.ByteString getVersionBytes()
         Version is response only and cannot be fetched. Store is not expected to keep all versions available
         
        string version = 2;
        Specified by:
        getVersionBytes in interface CommonProtos.ConfigurationItemOrBuilder
        Returns:
        The bytes for version.
      • getMetadataCount

        public int getMetadataCount()
        Description copied from interface: CommonProtos.ConfigurationItemOrBuilder
         the metadata which will be passed to/from configuration store component.
         
        map<string, string> metadata = 3;
        Specified by:
        getMetadataCount in interface CommonProtos.ConfigurationItemOrBuilder
      • containsMetadata

        public boolean containsMetadata(String key)
         the metadata which will be passed to/from configuration store component.
         
        map<string, string> metadata = 3;
        Specified by:
        containsMetadata in interface CommonProtos.ConfigurationItemOrBuilder
      • getMetadata

        @Deprecated public Map<String,String> getMetadata()
        Deprecated.
        Use getMetadataMap() instead.
        Specified by:
        getMetadata in interface CommonProtos.ConfigurationItemOrBuilder
      • getMetadataMap

        public Map<String,String> getMetadataMap()
         the metadata which will be passed to/from configuration store component.
         
        map<string, string> metadata = 3;
        Specified by:
        getMetadataMap in interface CommonProtos.ConfigurationItemOrBuilder
      • getMetadataOrDefault

        public String getMetadataOrDefault(String key, String defaultValue)
         the metadata which will be passed to/from configuration store component.
         
        map<string, string> metadata = 3;
        Specified by:
        getMetadataOrDefault in interface CommonProtos.ConfigurationItemOrBuilder
      • getMetadataOrThrow

        public String getMetadataOrThrow(String key)
         the metadata which will be passed to/from configuration store component.
         
        map<string, string> metadata = 3;
        Specified by:
        getMetadataOrThrow in interface CommonProtos.ConfigurationItemOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static CommonProtos.ConfigurationItem parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.ConfigurationItem parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.ConfigurationItem parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.ConfigurationItem parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.ConfigurationItem parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.ConfigurationItem parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.ConfigurationItem parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.ConfigurationItem parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.ConfigurationItem parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.ConfigurationItem parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.ConfigurationItem parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.ConfigurationItem parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        public CommonProtos.ConfigurationItem.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

        public static CommonProtos.ConfigurationItem.Builder newBuilder()
      • newBuilder

      • toBuilder

        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected CommonProtos.ConfigurationItem.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static CommonProtos.ConfigurationItem getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<CommonProtos.ConfigurationItem> parser()
      • getParserForType

        public com.google.protobuf.Parser<CommonProtos.ConfigurationItem> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public CommonProtos.ConfigurationItem getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.ConfigurationItemOrBuilder.html ================================================ CommonProtos.ConfigurationItemOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface CommonProtos.ConfigurationItemOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    CommonProtos.ConfigurationItem, CommonProtos.ConfigurationItem.Builder
    Enclosing class:
    CommonProtos

    public static interface CommonProtos.ConfigurationItemOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      boolean
      the metadata which will be passed to/from configuration store component.
      Deprecated.
      int
      the metadata which will be passed to/from configuration store component.
      the metadata which will be passed to/from configuration store component.
      getMetadataOrDefault(String key, String defaultValue)
      the metadata which will be passed to/from configuration store component.
      the metadata which will be passed to/from configuration store component.
      Required.
      com.google.protobuf.ByteString
      Required.
      Version is response only and cannot be fetched.
      com.google.protobuf.ByteString
      Version is response only and cannot be fetched.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getValue

        String getValue()
         Required. The value of configuration item.
         
        string value = 1;
        Returns:
        The value.
      • getValueBytes

        com.google.protobuf.ByteString getValueBytes()
         Required. The value of configuration item.
         
        string value = 1;
        Returns:
        The bytes for value.
      • getVersion

        String getVersion()
         Version is response only and cannot be fetched. Store is not expected to keep all versions available
         
        string version = 2;
        Returns:
        The version.
      • getVersionBytes

        com.google.protobuf.ByteString getVersionBytes()
         Version is response only and cannot be fetched. Store is not expected to keep all versions available
         
        string version = 2;
        Returns:
        The bytes for version.
      • getMetadataCount

        int getMetadataCount()
         the metadata which will be passed to/from configuration store component.
         
        map<string, string> metadata = 3;
      • containsMetadata

        boolean containsMetadata(String key)
         the metadata which will be passed to/from configuration store component.
         
        map<string, string> metadata = 3;
      • getMetadata

        @Deprecated Map<String,String> getMetadata()
        Deprecated.
        Use getMetadataMap() instead.
      • getMetadataMap

        Map<String,String> getMetadataMap()
         the metadata which will be passed to/from configuration store component.
         
        map<string, string> metadata = 3;
      • getMetadataOrDefault

        String getMetadataOrDefault(String key, String defaultValue)
         the metadata which will be passed to/from configuration store component.
         
        map<string, string> metadata = 3;
      • getMetadataOrThrow

        String getMetadataOrThrow(String key)
         the metadata which will be passed to/from configuration store component.
         
        map<string, string> metadata = 3;

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.Etag.Builder.html ================================================ CommonProtos.Etag.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.Etag.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
    io.dapr.v1.CommonProtos.Etag.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.EtagOrBuilder, Cloneable
    Enclosing class:
    CommonProtos.Etag

    public static final class CommonProtos.Etag.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder> implements CommonProtos.EtagOrBuilder
     Etag represents a state item version
     
    Protobuf type dapr.proto.common.v1.Etag
    • Method Details

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
      • clear

        public CommonProtos.Etag.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
      • getDefaultInstanceForType

        public CommonProtos.Etag getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public CommonProtos.Etag build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public CommonProtos.Etag buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        public CommonProtos.Etag.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
      • setField

        public CommonProtos.Etag.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
      • clearField

        public CommonProtos.Etag.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
      • clearOneof

        public CommonProtos.Etag.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
      • setRepeatedField

        public CommonProtos.Etag.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
      • addRepeatedField

        public CommonProtos.Etag.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
      • mergeFrom

        public CommonProtos.Etag.Builder mergeFrom(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.Etag.Builder>
      • mergeFrom

        public CommonProtos.Etag.Builder mergeFrom(CommonProtos.Etag other)
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
      • mergeFrom

        public CommonProtos.Etag.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.Etag.Builder>
        Throws:
        IOException
      • getValue

        public String getValue()
         value sets the etag value
         
        string value = 1;
        Specified by:
        getValue in interface CommonProtos.EtagOrBuilder
        Returns:
        The value.
      • getValueBytes

        public com.google.protobuf.ByteString getValueBytes()
         value sets the etag value
         
        string value = 1;
        Specified by:
        getValueBytes in interface CommonProtos.EtagOrBuilder
        Returns:
        The bytes for value.
      • setValue

        public CommonProtos.Etag.Builder setValue(String value)
         value sets the etag value
         
        string value = 1;
        Parameters:
        value - The value to set.
        Returns:
        This builder for chaining.
      • clearValue

        public CommonProtos.Etag.Builder clearValue()
         value sets the etag value
         
        string value = 1;
        Returns:
        This builder for chaining.
      • setValueBytes

        public CommonProtos.Etag.Builder setValueBytes(com.google.protobuf.ByteString value)
         value sets the etag value
         
        string value = 1;
        Parameters:
        value - The bytes for value to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final CommonProtos.Etag.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>
      • mergeUnknownFields

        public final CommonProtos.Etag.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.Etag.Builder>

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.Etag.html ================================================ CommonProtos.Etag (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.Etag

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.CommonProtos.Etag
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.EtagOrBuilder, Serializable
    Enclosing class:
    CommonProtos

    public static final class CommonProtos.Etag extends com.google.protobuf.GeneratedMessageV3 implements CommonProtos.EtagOrBuilder
     Etag represents a state item version
     
    Protobuf type dapr.proto.common.v1.Etag
    See Also:
    • Nested Class Summary

      Nested Classes
      Modifier and Type
      Class
      Description
      static final class 
      Etag represents a state item version

      Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

      com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter

      Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

      com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Summary

      Fields
      Modifier and Type
      Field
      Description
      static final int
       

      Fields inherited from class com.google.protobuf.GeneratedMessageV3

      alwaysUseFieldBuilders, unknownFields

      Fields inherited from class com.google.protobuf.AbstractMessage

      memoizedSize

      Fields inherited from class com.google.protobuf.AbstractMessageLite

      memoizedHashCode
    • Method Summary

      Modifier and Type
      Method
      Description
      boolean
       
       
       
      static final com.google.protobuf.Descriptors.Descriptor
       
      com.google.protobuf.Parser<CommonProtos.Etag>
       
      int
       
      value sets the etag value
      com.google.protobuf.ByteString
      value sets the etag value
      int
       
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       
      final boolean
       
       
       
       
      newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
       
      protected Object
      newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
       
       
      parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      parseFrom(byte[] data)
       
      parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      parseFrom(com.google.protobuf.ByteString data)
       
      parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      parseFrom(com.google.protobuf.CodedInputStream input)
       
      parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
       
      parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
       
      parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      static com.google.protobuf.Parser<CommonProtos.Etag>
       
       
      void
      writeTo(com.google.protobuf.CodedOutputStream output)
       

      Methods inherited from class com.google.protobuf.GeneratedMessageV3

      canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag

      Methods inherited from class com.google.protobuf.AbstractMessage

      findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString

      Methods inherited from class com.google.protobuf.AbstractMessageLite

      addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo

      Methods inherited from class java.lang.Object

      clone, finalize, getClass, notify, notifyAll, wait, wait, wait

      Methods inherited from interface com.google.protobuf.MessageLite

      toByteArray, toByteString, writeDelimitedTo, writeTo

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Field Details

    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getValue

        public String getValue()
         value sets the etag value
         
        string value = 1;
        Specified by:
        getValue in interface CommonProtos.EtagOrBuilder
        Returns:
        The value.
      • getValueBytes

        public com.google.protobuf.ByteString getValueBytes()
         value sets the etag value
         
        string value = 1;
        Specified by:
        getValueBytes in interface CommonProtos.EtagOrBuilder
        Returns:
        The bytes for value.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static CommonProtos.Etag parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.Etag parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.Etag parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.Etag parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.Etag parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.Etag parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.Etag parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.Etag parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.Etag parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.Etag parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.Etag parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.Etag parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        public CommonProtos.Etag.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

        public static CommonProtos.Etag.Builder newBuilder()
      • newBuilder

        public static CommonProtos.Etag.Builder newBuilder(CommonProtos.Etag prototype)
      • toBuilder

        public CommonProtos.Etag.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected CommonProtos.Etag.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static CommonProtos.Etag getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<CommonProtos.Etag> parser()
      • getParserForType

        public com.google.protobuf.Parser<CommonProtos.Etag> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public CommonProtos.Etag getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.EtagOrBuilder.html ================================================ CommonProtos.EtagOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface CommonProtos.EtagOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    CommonProtos.Etag, CommonProtos.Etag.Builder
    Enclosing class:
    CommonProtos

    public static interface CommonProtos.EtagOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      value sets the etag value
      com.google.protobuf.ByteString
      value sets the etag value

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getValue

        String getValue()
         value sets the etag value
         
        string value = 1;
        Returns:
        The value.
      • getValueBytes

        com.google.protobuf.ByteString getValueBytes()
         value sets the etag value
         
        string value = 1;
        Returns:
        The bytes for value.

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.HTTPExtension.Builder.html ================================================ CommonProtos.HTTPExtension.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.HTTPExtension.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
    io.dapr.v1.CommonProtos.HTTPExtension.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.HTTPExtensionOrBuilder, Cloneable
    Enclosing class:
    CommonProtos.HTTPExtension

    public static final class CommonProtos.HTTPExtension.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder> implements CommonProtos.HTTPExtensionOrBuilder
     HTTPExtension includes HTTP verb and querystring
     when Dapr runtime delivers HTTP content.
    
     For example, when callers calls http invoke api
     `POST http://localhost:3500/v1.0/invoke/<app_id>/method/<method>?query1=value1&query2=value2`
    
     Dapr runtime will parse POST as a verb and extract querystring to quersytring map.
     
    Protobuf type dapr.proto.common.v1.HTTPExtension
    • Method Details

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
      • clear

        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
      • getDefaultInstanceForType

        public CommonProtos.HTTPExtension getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public CommonProtos.HTTPExtension buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
      • setField

        public CommonProtos.HTTPExtension.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
      • clearField

        public CommonProtos.HTTPExtension.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
      • clearOneof

        public CommonProtos.HTTPExtension.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
      • setRepeatedField

        public CommonProtos.HTTPExtension.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
      • addRepeatedField

        public CommonProtos.HTTPExtension.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
      • mergeFrom

        public CommonProtos.HTTPExtension.Builder mergeFrom(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.HTTPExtension.Builder>
      • mergeFrom

      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
      • mergeFrom

        public CommonProtos.HTTPExtension.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.HTTPExtension.Builder>
        Throws:
        IOException
      • getVerbValue

        public int getVerbValue()
         Required. HTTP verb.
         
        .dapr.proto.common.v1.HTTPExtension.Verb verb = 1;
        Specified by:
        getVerbValue in interface CommonProtos.HTTPExtensionOrBuilder
        Returns:
        The enum numeric value on the wire for verb.
      • setVerbValue

        public CommonProtos.HTTPExtension.Builder setVerbValue(int value)
         Required. HTTP verb.
         
        .dapr.proto.common.v1.HTTPExtension.Verb verb = 1;
        Parameters:
        value - The enum numeric value on the wire for verb to set.
        Returns:
        This builder for chaining.
      • getVerb

         Required. HTTP verb.
         
        .dapr.proto.common.v1.HTTPExtension.Verb verb = 1;
        Specified by:
        getVerb in interface CommonProtos.HTTPExtensionOrBuilder
        Returns:
        The verb.
      • setVerb

         Required. HTTP verb.
         
        .dapr.proto.common.v1.HTTPExtension.Verb verb = 1;
        Parameters:
        value - The verb to set.
        Returns:
        This builder for chaining.
      • clearVerb

         Required. HTTP verb.
         
        .dapr.proto.common.v1.HTTPExtension.Verb verb = 1;
        Returns:
        This builder for chaining.
      • getQuerystring

        public String getQuerystring()
         Optional. querystring represents an encoded HTTP url query string in the following format: name=value&name2=value2
         
        string querystring = 2;
        Specified by:
        getQuerystring in interface CommonProtos.HTTPExtensionOrBuilder
        Returns:
        The querystring.
      • getQuerystringBytes

        public com.google.protobuf.ByteString getQuerystringBytes()
         Optional. querystring represents an encoded HTTP url query string in the following format: name=value&name2=value2
         
        string querystring = 2;
        Specified by:
        getQuerystringBytes in interface CommonProtos.HTTPExtensionOrBuilder
        Returns:
        The bytes for querystring.
      • setQuerystring

        public CommonProtos.HTTPExtension.Builder setQuerystring(String value)
         Optional. querystring represents an encoded HTTP url query string in the following format: name=value&name2=value2
         
        string querystring = 2;
        Parameters:
        value - The querystring to set.
        Returns:
        This builder for chaining.
      • clearQuerystring

        public CommonProtos.HTTPExtension.Builder clearQuerystring()
         Optional. querystring represents an encoded HTTP url query string in the following format: name=value&name2=value2
         
        string querystring = 2;
        Returns:
        This builder for chaining.
      • setQuerystringBytes

        public CommonProtos.HTTPExtension.Builder setQuerystringBytes(com.google.protobuf.ByteString value)
         Optional. querystring represents an encoded HTTP url query string in the following format: name=value&name2=value2
         
        string querystring = 2;
        Parameters:
        value - The bytes for querystring to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final CommonProtos.HTTPExtension.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>
      • mergeUnknownFields

        public final CommonProtos.HTTPExtension.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.HTTPExtension.Builder>

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.HTTPExtension.Verb.html ================================================ CommonProtos.HTTPExtension.Verb (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Enum CommonProtos.HTTPExtension.Verb

    java.lang.Object
    java.lang.Enum<CommonProtos.HTTPExtension.Verb>
    io.dapr.v1.CommonProtos.HTTPExtension.Verb
    All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, Serializable, Comparable<CommonProtos.HTTPExtension.Verb>
    Enclosing class:
    CommonProtos.HTTPExtension

    public static enum CommonProtos.HTTPExtension.Verb extends Enum<CommonProtos.HTTPExtension.Verb> implements com.google.protobuf.ProtocolMessageEnum
     Type of HTTP 1.1 Methods
     RFC 7231: https://tools.ietf.org/html/rfc7231#page-24
     RFC 5789: https://datatracker.ietf.org/doc/html/rfc5789
     
    Protobuf enum dapr.proto.common.v1.HTTPExtension.Verb
    • Enum Constant Details

    • Field Details

    • Method Details

      • values

        public static CommonProtos.HTTPExtension.Verb[] values()
        Returns an array containing the constants of this enum type, in the order they are declared.
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static CommonProtos.HTTPExtension.Verb valueOf(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        @Deprecated public static CommonProtos.HTTPExtension.Verb valueOf(int value)
        Deprecated.
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • forNumber

        public static CommonProtos.HTTPExtension.Verb forNumber(int value)
        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • internalGetValueMap

        public static com.google.protobuf.Internal.EnumLiteMap<CommonProtos.HTTPExtension.Verb> internalGetValueMap()
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static CommonProtos.HTTPExtension.Verb valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.HTTPExtension.html ================================================ CommonProtos.HTTPExtension (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.HTTPExtension

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.CommonProtos.HTTPExtension
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.HTTPExtensionOrBuilder, Serializable
    Enclosing class:
    CommonProtos

    public static final class CommonProtos.HTTPExtension extends com.google.protobuf.GeneratedMessageV3 implements CommonProtos.HTTPExtensionOrBuilder
     HTTPExtension includes HTTP verb and querystring
     when Dapr runtime delivers HTTP content.
    
     For example, when callers calls http invoke api
     `POST http://localhost:3500/v1.0/invoke/<app_id>/method/<method>?query1=value1&query2=value2`
    
     Dapr runtime will parse POST as a verb and extract querystring to quersytring map.
     
    Protobuf type dapr.proto.common.v1.HTTPExtension
    See Also:
    • Field Details

    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getVerbValue

        public int getVerbValue()
         Required. HTTP verb.
         
        .dapr.proto.common.v1.HTTPExtension.Verb verb = 1;
        Specified by:
        getVerbValue in interface CommonProtos.HTTPExtensionOrBuilder
        Returns:
        The enum numeric value on the wire for verb.
      • getVerb

         Required. HTTP verb.
         
        .dapr.proto.common.v1.HTTPExtension.Verb verb = 1;
        Specified by:
        getVerb in interface CommonProtos.HTTPExtensionOrBuilder
        Returns:
        The verb.
      • getQuerystring

        public String getQuerystring()
         Optional. querystring represents an encoded HTTP url query string in the following format: name=value&name2=value2
         
        string querystring = 2;
        Specified by:
        getQuerystring in interface CommonProtos.HTTPExtensionOrBuilder
        Returns:
        The querystring.
      • getQuerystringBytes

        public com.google.protobuf.ByteString getQuerystringBytes()
         Optional. querystring represents an encoded HTTP url query string in the following format: name=value&name2=value2
         
        string querystring = 2;
        Specified by:
        getQuerystringBytes in interface CommonProtos.HTTPExtensionOrBuilder
        Returns:
        The bytes for querystring.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static CommonProtos.HTTPExtension parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.HTTPExtension parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.HTTPExtension parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.HTTPExtension parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.HTTPExtension parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.HTTPExtension parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.HTTPExtension parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.HTTPExtension parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.HTTPExtension parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.HTTPExtension parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.HTTPExtension parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.HTTPExtension parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        public CommonProtos.HTTPExtension.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

        public static CommonProtos.HTTPExtension.Builder newBuilder()
      • newBuilder

        public static CommonProtos.HTTPExtension.Builder newBuilder(CommonProtos.HTTPExtension prototype)
      • toBuilder

        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected CommonProtos.HTTPExtension.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static CommonProtos.HTTPExtension getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<CommonProtos.HTTPExtension> parser()
      • getParserForType

        public com.google.protobuf.Parser<CommonProtos.HTTPExtension> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public CommonProtos.HTTPExtension getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.HTTPExtensionOrBuilder.html ================================================ CommonProtos.HTTPExtensionOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface CommonProtos.HTTPExtensionOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    CommonProtos.HTTPExtension, CommonProtos.HTTPExtension.Builder
    Enclosing class:
    CommonProtos

    public static interface CommonProtos.HTTPExtensionOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      Optional.
      com.google.protobuf.ByteString
      Optional.
      Required.
      int
      Required.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getVerbValue

        int getVerbValue()
         Required. HTTP verb.
         
        .dapr.proto.common.v1.HTTPExtension.Verb verb = 1;
        Returns:
        The enum numeric value on the wire for verb.
      • getVerb

         Required. HTTP verb.
         
        .dapr.proto.common.v1.HTTPExtension.Verb verb = 1;
        Returns:
        The verb.
      • getQuerystring

        String getQuerystring()
         Optional. querystring represents an encoded HTTP url query string in the following format: name=value&name2=value2
         
        string querystring = 2;
        Returns:
        The querystring.
      • getQuerystringBytes

        com.google.protobuf.ByteString getQuerystringBytes()
         Optional. querystring represents an encoded HTTP url query string in the following format: name=value&name2=value2
         
        string querystring = 2;
        Returns:
        The bytes for querystring.

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.InvokeRequest.Builder.html ================================================ CommonProtos.InvokeRequest.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.InvokeRequest.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
    io.dapr.v1.CommonProtos.InvokeRequest.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.InvokeRequestOrBuilder, Cloneable
    Enclosing class:
    CommonProtos.InvokeRequest

    public static final class CommonProtos.InvokeRequest.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder> implements CommonProtos.InvokeRequestOrBuilder
     InvokeRequest is the message to invoke a method with the data.
     This message is used in InvokeService of Dapr gRPC Service and OnInvoke
     of AppCallback gRPC service.
     
    Protobuf type dapr.proto.common.v1.InvokeRequest
    • Method Details

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
      • clear

        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
      • getDefaultInstanceForType

        public CommonProtos.InvokeRequest getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public CommonProtos.InvokeRequest buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
      • setField

        public CommonProtos.InvokeRequest.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
      • clearField

        public CommonProtos.InvokeRequest.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
      • clearOneof

        public CommonProtos.InvokeRequest.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
      • setRepeatedField

        public CommonProtos.InvokeRequest.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
      • addRepeatedField

        public CommonProtos.InvokeRequest.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
      • mergeFrom

        public CommonProtos.InvokeRequest.Builder mergeFrom(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.InvokeRequest.Builder>
      • mergeFrom

      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
      • mergeFrom

        public CommonProtos.InvokeRequest.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.InvokeRequest.Builder>
        Throws:
        IOException
      • getMethod

        public String getMethod()
         Required. method is a method name which will be invoked by caller.
         
        string method = 1;
        Specified by:
        getMethod in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The method.
      • getMethodBytes

        public com.google.protobuf.ByteString getMethodBytes()
         Required. method is a method name which will be invoked by caller.
         
        string method = 1;
        Specified by:
        getMethodBytes in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The bytes for method.
      • setMethod

        public CommonProtos.InvokeRequest.Builder setMethod(String value)
         Required. method is a method name which will be invoked by caller.
         
        string method = 1;
        Parameters:
        value - The method to set.
        Returns:
        This builder for chaining.
      • clearMethod

        public CommonProtos.InvokeRequest.Builder clearMethod()
         Required. method is a method name which will be invoked by caller.
         
        string method = 1;
        Returns:
        This builder for chaining.
      • setMethodBytes

        public CommonProtos.InvokeRequest.Builder setMethodBytes(com.google.protobuf.ByteString value)
         Required. method is a method name which will be invoked by caller.
         
        string method = 1;
        Parameters:
        value - The bytes for method to set.
        Returns:
        This builder for chaining.
      • hasData

        public boolean hasData()
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
        Specified by:
        hasData in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        Whether the data field is set.
      • getData

        public com.google.protobuf.Any getData()
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
        Specified by:
        getData in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The data.
      • setData

        public CommonProtos.InvokeRequest.Builder setData(com.google.protobuf.Any value)
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
      • setData

        public CommonProtos.InvokeRequest.Builder setData(com.google.protobuf.Any.Builder builderForValue)
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
      • mergeData

        public CommonProtos.InvokeRequest.Builder mergeData(com.google.protobuf.Any value)
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
      • clearData

         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
      • getDataBuilder

        public com.google.protobuf.Any.Builder getDataBuilder()
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
      • getDataOrBuilder

        public com.google.protobuf.AnyOrBuilder getDataOrBuilder()
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
        Specified by:
        getDataOrBuilder in interface CommonProtos.InvokeRequestOrBuilder
      • getContentType

        public String getContentType()
         The type of data content.
        
         This field is required if data delivers http request body
         Otherwise, this is optional.
         
        string content_type = 3;
        Specified by:
        getContentType in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The contentType.
      • getContentTypeBytes

        public com.google.protobuf.ByteString getContentTypeBytes()
         The type of data content.
        
         This field is required if data delivers http request body
         Otherwise, this is optional.
         
        string content_type = 3;
        Specified by:
        getContentTypeBytes in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The bytes for contentType.
      • setContentType

        public CommonProtos.InvokeRequest.Builder setContentType(String value)
         The type of data content.
        
         This field is required if data delivers http request body
         Otherwise, this is optional.
         
        string content_type = 3;
        Parameters:
        value - The contentType to set.
        Returns:
        This builder for chaining.
      • clearContentType

        public CommonProtos.InvokeRequest.Builder clearContentType()
         The type of data content.
        
         This field is required if data delivers http request body
         Otherwise, this is optional.
         
        string content_type = 3;
        Returns:
        This builder for chaining.
      • setContentTypeBytes

        public CommonProtos.InvokeRequest.Builder setContentTypeBytes(com.google.protobuf.ByteString value)
         The type of data content.
        
         This field is required if data delivers http request body
         Otherwise, this is optional.
         
        string content_type = 3;
        Parameters:
        value - The bytes for contentType to set.
        Returns:
        This builder for chaining.
      • hasHttpExtension

        public boolean hasHttpExtension()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
        Specified by:
        hasHttpExtension in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        Whether the httpExtension field is set.
      • getHttpExtension

        public CommonProtos.HTTPExtension getHttpExtension()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
        Specified by:
        getHttpExtension in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The httpExtension.
      • setHttpExtension

         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
      • setHttpExtension

         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
      • mergeHttpExtension

         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
      • clearHttpExtension

        public CommonProtos.InvokeRequest.Builder clearHttpExtension()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
      • getHttpExtensionBuilder

        public CommonProtos.HTTPExtension.Builder getHttpExtensionBuilder()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
      • getHttpExtensionOrBuilder

        public CommonProtos.HTTPExtensionOrBuilder getHttpExtensionOrBuilder()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
        Specified by:
        getHttpExtensionOrBuilder in interface CommonProtos.InvokeRequestOrBuilder
      • setUnknownFields

        public final CommonProtos.InvokeRequest.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>
      • mergeUnknownFields

        public final CommonProtos.InvokeRequest.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeRequest.Builder>

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.InvokeRequest.html ================================================ CommonProtos.InvokeRequest (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.InvokeRequest

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.CommonProtos.InvokeRequest
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.InvokeRequestOrBuilder, Serializable
    Enclosing class:
    CommonProtos

    public static final class CommonProtos.InvokeRequest extends com.google.protobuf.GeneratedMessageV3 implements CommonProtos.InvokeRequestOrBuilder
     InvokeRequest is the message to invoke a method with the data.
     This message is used in InvokeService of Dapr gRPC Service and OnInvoke
     of AppCallback gRPC service.
     
    Protobuf type dapr.proto.common.v1.InvokeRequest
    See Also:
    • Field Details

    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getMethod

        public String getMethod()
         Required. method is a method name which will be invoked by caller.
         
        string method = 1;
        Specified by:
        getMethod in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The method.
      • getMethodBytes

        public com.google.protobuf.ByteString getMethodBytes()
         Required. method is a method name which will be invoked by caller.
         
        string method = 1;
        Specified by:
        getMethodBytes in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The bytes for method.
      • hasData

        public boolean hasData()
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
        Specified by:
        hasData in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        Whether the data field is set.
      • getData

        public com.google.protobuf.Any getData()
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
        Specified by:
        getData in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The data.
      • getDataOrBuilder

        public com.google.protobuf.AnyOrBuilder getDataOrBuilder()
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
        Specified by:
        getDataOrBuilder in interface CommonProtos.InvokeRequestOrBuilder
      • getContentType

        public String getContentType()
         The type of data content.
        
         This field is required if data delivers http request body
         Otherwise, this is optional.
         
        string content_type = 3;
        Specified by:
        getContentType in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The contentType.
      • getContentTypeBytes

        public com.google.protobuf.ByteString getContentTypeBytes()
         The type of data content.
        
         This field is required if data delivers http request body
         Otherwise, this is optional.
         
        string content_type = 3;
        Specified by:
        getContentTypeBytes in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The bytes for contentType.
      • hasHttpExtension

        public boolean hasHttpExtension()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
        Specified by:
        hasHttpExtension in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        Whether the httpExtension field is set.
      • getHttpExtension

        public CommonProtos.HTTPExtension getHttpExtension()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
        Specified by:
        getHttpExtension in interface CommonProtos.InvokeRequestOrBuilder
        Returns:
        The httpExtension.
      • getHttpExtensionOrBuilder

        public CommonProtos.HTTPExtensionOrBuilder getHttpExtensionOrBuilder()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
        Specified by:
        getHttpExtensionOrBuilder in interface CommonProtos.InvokeRequestOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static CommonProtos.InvokeRequest parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeRequest parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeRequest parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeRequest parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeRequest parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeRequest parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.InvokeRequest parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.InvokeRequest parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.InvokeRequest parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.InvokeRequest parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.InvokeRequest parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        public CommonProtos.InvokeRequest.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

        public static CommonProtos.InvokeRequest.Builder newBuilder()
      • newBuilder

        public static CommonProtos.InvokeRequest.Builder newBuilder(CommonProtos.InvokeRequest prototype)
      • toBuilder

        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected CommonProtos.InvokeRequest.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static CommonProtos.InvokeRequest getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<CommonProtos.InvokeRequest> parser()
      • getParserForType

        public com.google.protobuf.Parser<CommonProtos.InvokeRequest> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public CommonProtos.InvokeRequest getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.InvokeRequestOrBuilder.html ================================================ CommonProtos.InvokeRequestOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface CommonProtos.InvokeRequestOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    CommonProtos.InvokeRequest, CommonProtos.InvokeRequest.Builder
    Enclosing class:
    CommonProtos

    public static interface CommonProtos.InvokeRequestOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      The type of data content.
      com.google.protobuf.ByteString
      The type of data content.
      com.google.protobuf.Any
      Required in unary RPCs.
      com.google.protobuf.AnyOrBuilder
      Required in unary RPCs.
      HTTP specific fields if request conveys http-compatible request.
      HTTP specific fields if request conveys http-compatible request.
      Required.
      com.google.protobuf.ByteString
      Required.
      boolean
      Required in unary RPCs.
      boolean
      HTTP specific fields if request conveys http-compatible request.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getMethod

        String getMethod()
         Required. method is a method name which will be invoked by caller.
         
        string method = 1;
        Returns:
        The method.
      • getMethodBytes

        com.google.protobuf.ByteString getMethodBytes()
         Required. method is a method name which will be invoked by caller.
         
        string method = 1;
        Returns:
        The bytes for method.
      • hasData

        boolean hasData()
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
        Returns:
        Whether the data field is set.
      • getData

        com.google.protobuf.Any getData()
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
        Returns:
        The data.
      • getDataOrBuilder

        com.google.protobuf.AnyOrBuilder getDataOrBuilder()
         Required in unary RPCs. Bytes value or Protobuf message which caller sent.
         Dapr treats Any.value as bytes type if Any.type_url is unset.
         
        .google.protobuf.Any data = 2;
      • getContentType

        String getContentType()
         The type of data content.
        
         This field is required if data delivers http request body
         Otherwise, this is optional.
         
        string content_type = 3;
        Returns:
        The contentType.
      • getContentTypeBytes

        com.google.protobuf.ByteString getContentTypeBytes()
         The type of data content.
        
         This field is required if data delivers http request body
         Otherwise, this is optional.
         
        string content_type = 3;
        Returns:
        The bytes for contentType.
      • hasHttpExtension

        boolean hasHttpExtension()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
        Returns:
        Whether the httpExtension field is set.
      • getHttpExtension

        CommonProtos.HTTPExtension getHttpExtension()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;
        Returns:
        The httpExtension.
      • getHttpExtensionOrBuilder

        CommonProtos.HTTPExtensionOrBuilder getHttpExtensionOrBuilder()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 4;

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.InvokeResponse.Builder.html ================================================ CommonProtos.InvokeResponse.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.InvokeResponse.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
    io.dapr.v1.CommonProtos.InvokeResponse.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.InvokeResponseOrBuilder, Cloneable
    Enclosing class:
    CommonProtos.InvokeResponse

    public static final class CommonProtos.InvokeResponse.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder> implements CommonProtos.InvokeResponseOrBuilder
     InvokeResponse is the response message including data and its content type
     from app callback.
     This message is used in InvokeService of Dapr gRPC Service and OnInvoke
     of AppCallback gRPC service.
     
    Protobuf type dapr.proto.common.v1.InvokeResponse
    • Method Details

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
      • clear

        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
      • getDefaultInstanceForType

        public CommonProtos.InvokeResponse getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public CommonProtos.InvokeResponse buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
      • setField

        public CommonProtos.InvokeResponse.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
      • clearField

        public CommonProtos.InvokeResponse.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
      • clearOneof

        public CommonProtos.InvokeResponse.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
      • setRepeatedField

        public CommonProtos.InvokeResponse.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
      • addRepeatedField

        public CommonProtos.InvokeResponse.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
      • mergeFrom

        public CommonProtos.InvokeResponse.Builder mergeFrom(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.InvokeResponse.Builder>
      • mergeFrom

      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
      • mergeFrom

        public CommonProtos.InvokeResponse.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.InvokeResponse.Builder>
        Throws:
        IOException
      • hasData

        public boolean hasData()
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
        Specified by:
        hasData in interface CommonProtos.InvokeResponseOrBuilder
        Returns:
        Whether the data field is set.
      • getData

        public com.google.protobuf.Any getData()
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
        Specified by:
        getData in interface CommonProtos.InvokeResponseOrBuilder
        Returns:
        The data.
      • setData

        public CommonProtos.InvokeResponse.Builder setData(com.google.protobuf.Any value)
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
      • setData

        public CommonProtos.InvokeResponse.Builder setData(com.google.protobuf.Any.Builder builderForValue)
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
      • mergeData

        public CommonProtos.InvokeResponse.Builder mergeData(com.google.protobuf.Any value)
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
      • clearData

         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
      • getDataBuilder

        public com.google.protobuf.Any.Builder getDataBuilder()
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
      • getDataOrBuilder

        public com.google.protobuf.AnyOrBuilder getDataOrBuilder()
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
        Specified by:
        getDataOrBuilder in interface CommonProtos.InvokeResponseOrBuilder
      • getContentType

        public String getContentType()
         Required. The type of data content.
         
        string content_type = 2;
        Specified by:
        getContentType in interface CommonProtos.InvokeResponseOrBuilder
        Returns:
        The contentType.
      • getContentTypeBytes

        public com.google.protobuf.ByteString getContentTypeBytes()
         Required. The type of data content.
         
        string content_type = 2;
        Specified by:
        getContentTypeBytes in interface CommonProtos.InvokeResponseOrBuilder
        Returns:
        The bytes for contentType.
      • setContentType

        public CommonProtos.InvokeResponse.Builder setContentType(String value)
         Required. The type of data content.
         
        string content_type = 2;
        Parameters:
        value - The contentType to set.
        Returns:
        This builder for chaining.
      • clearContentType

        public CommonProtos.InvokeResponse.Builder clearContentType()
         Required. The type of data content.
         
        string content_type = 2;
        Returns:
        This builder for chaining.
      • setContentTypeBytes

        public CommonProtos.InvokeResponse.Builder setContentTypeBytes(com.google.protobuf.ByteString value)
         Required. The type of data content.
         
        string content_type = 2;
        Parameters:
        value - The bytes for contentType to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final CommonProtos.InvokeResponse.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>
      • mergeUnknownFields

        public final CommonProtos.InvokeResponse.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.InvokeResponse.Builder>

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.InvokeResponse.html ================================================ CommonProtos.InvokeResponse (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.InvokeResponse

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.CommonProtos.InvokeResponse
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.InvokeResponseOrBuilder, Serializable
    Enclosing class:
    CommonProtos

    public static final class CommonProtos.InvokeResponse extends com.google.protobuf.GeneratedMessageV3 implements CommonProtos.InvokeResponseOrBuilder
     InvokeResponse is the response message including data and its content type
     from app callback.
     This message is used in InvokeService of Dapr gRPC Service and OnInvoke
     of AppCallback gRPC service.
     
    Protobuf type dapr.proto.common.v1.InvokeResponse
    See Also:
    • Field Details

    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • hasData

        public boolean hasData()
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
        Specified by:
        hasData in interface CommonProtos.InvokeResponseOrBuilder
        Returns:
        Whether the data field is set.
      • getData

        public com.google.protobuf.Any getData()
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
        Specified by:
        getData in interface CommonProtos.InvokeResponseOrBuilder
        Returns:
        The data.
      • getDataOrBuilder

        public com.google.protobuf.AnyOrBuilder getDataOrBuilder()
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
        Specified by:
        getDataOrBuilder in interface CommonProtos.InvokeResponseOrBuilder
      • getContentType

        public String getContentType()
         Required. The type of data content.
         
        string content_type = 2;
        Specified by:
        getContentType in interface CommonProtos.InvokeResponseOrBuilder
        Returns:
        The contentType.
      • getContentTypeBytes

        public com.google.protobuf.ByteString getContentTypeBytes()
         Required. The type of data content.
         
        string content_type = 2;
        Specified by:
        getContentTypeBytes in interface CommonProtos.InvokeResponseOrBuilder
        Returns:
        The bytes for contentType.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static CommonProtos.InvokeResponse parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeResponse parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeResponse parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeResponse parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeResponse parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.InvokeResponse parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.InvokeResponse parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.InvokeResponse parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.InvokeResponse parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.InvokeResponse parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.InvokeResponse parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        public CommonProtos.InvokeResponse.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

        public static CommonProtos.InvokeResponse.Builder newBuilder()
      • newBuilder

      • toBuilder

        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected CommonProtos.InvokeResponse.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static CommonProtos.InvokeResponse getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<CommonProtos.InvokeResponse> parser()
      • getParserForType

        public com.google.protobuf.Parser<CommonProtos.InvokeResponse> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public CommonProtos.InvokeResponse getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.InvokeResponseOrBuilder.html ================================================ CommonProtos.InvokeResponseOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface CommonProtos.InvokeResponseOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    CommonProtos.InvokeResponse, CommonProtos.InvokeResponse.Builder
    Enclosing class:
    CommonProtos

    public static interface CommonProtos.InvokeResponseOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      Required.
      com.google.protobuf.ByteString
      Required.
      com.google.protobuf.Any
      Required in unary RPCs.
      com.google.protobuf.AnyOrBuilder
      Required in unary RPCs.
      boolean
      Required in unary RPCs.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • hasData

        boolean hasData()
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
        Returns:
        Whether the data field is set.
      • getData

        com.google.protobuf.Any getData()
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
        Returns:
        The data.
      • getDataOrBuilder

        com.google.protobuf.AnyOrBuilder getDataOrBuilder()
         Required in unary RPCs. The content body of InvokeService response.
         
        .google.protobuf.Any data = 1;
      • getContentType

        String getContentType()
         Required. The type of data content.
         
        string content_type = 2;
        Returns:
        The contentType.
      • getContentTypeBytes

        com.google.protobuf.ByteString getContentTypeBytes()
         Required. The type of data content.
         
        string content_type = 2;
        Returns:
        The bytes for contentType.

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.StateItem.Builder.html ================================================ CommonProtos.StateItem.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.StateItem.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
    io.dapr.v1.CommonProtos.StateItem.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.StateItemOrBuilder, Cloneable
    Enclosing class:
    CommonProtos.StateItem

    public static final class CommonProtos.StateItem.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder> implements CommonProtos.StateItemOrBuilder
     StateItem represents state key, value, and additional options to save state.
     
    Protobuf type dapr.proto.common.v1.StateItem
    • Method Details

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetMapFieldReflection

        protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number)
        Overrides:
        internalGetMapFieldReflection in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • internalGetMutableMapFieldReflection

        protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection(int number)
        Overrides:
        internalGetMutableMapFieldReflection in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • clear

        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • getDefaultInstanceForType

        public CommonProtos.StateItem getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public CommonProtos.StateItem build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public CommonProtos.StateItem buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • setField

        public CommonProtos.StateItem.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • clearField

        public CommonProtos.StateItem.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • clearOneof

        public CommonProtos.StateItem.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • setRepeatedField

        public CommonProtos.StateItem.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • addRepeatedField

        public CommonProtos.StateItem.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • mergeFrom

        public CommonProtos.StateItem.Builder mergeFrom(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.StateItem.Builder>
      • mergeFrom

      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • mergeFrom

        public CommonProtos.StateItem.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.StateItem.Builder>
        Throws:
        IOException
      • getKey

        public String getKey()
         Required. The state key
         
        string key = 1;
        Specified by:
        getKey in interface CommonProtos.StateItemOrBuilder
        Returns:
        The key.
      • getKeyBytes

        public com.google.protobuf.ByteString getKeyBytes()
         Required. The state key
         
        string key = 1;
        Specified by:
        getKeyBytes in interface CommonProtos.StateItemOrBuilder
        Returns:
        The bytes for key.
      • setKey

        public CommonProtos.StateItem.Builder setKey(String value)
         Required. The state key
         
        string key = 1;
        Parameters:
        value - The key to set.
        Returns:
        This builder for chaining.
      • clearKey

        public CommonProtos.StateItem.Builder clearKey()
         Required. The state key
         
        string key = 1;
        Returns:
        This builder for chaining.
      • setKeyBytes

        public CommonProtos.StateItem.Builder setKeyBytes(com.google.protobuf.ByteString value)
         Required. The state key
         
        string key = 1;
        Parameters:
        value - The bytes for key to set.
        Returns:
        This builder for chaining.
      • getValue

        public com.google.protobuf.ByteString getValue()
         Required. The state data for key
         
        bytes value = 2;
        Specified by:
        getValue in interface CommonProtos.StateItemOrBuilder
        Returns:
        The value.
      • setValue

        public CommonProtos.StateItem.Builder setValue(com.google.protobuf.ByteString value)
         Required. The state data for key
         
        bytes value = 2;
        Parameters:
        value - The value to set.
        Returns:
        This builder for chaining.
      • clearValue

        public CommonProtos.StateItem.Builder clearValue()
         Required. The state data for key
         
        bytes value = 2;
        Returns:
        This builder for chaining.
      • hasEtag

        public boolean hasEtag()
         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
        Specified by:
        hasEtag in interface CommonProtos.StateItemOrBuilder
        Returns:
        Whether the etag field is set.
      • getEtag

        public CommonProtos.Etag getEtag()
         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
        Specified by:
        getEtag in interface CommonProtos.StateItemOrBuilder
        Returns:
        The etag.
      • setEtag

         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
      • setEtag

         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
      • mergeEtag

         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
      • clearEtag

        public CommonProtos.StateItem.Builder clearEtag()
         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
      • getEtagBuilder

        public CommonProtos.Etag.Builder getEtagBuilder()
         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
      • getEtagOrBuilder

        public CommonProtos.EtagOrBuilder getEtagOrBuilder()
         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
        Specified by:
        getEtagOrBuilder in interface CommonProtos.StateItemOrBuilder
      • getMetadataCount

        public int getMetadataCount()
        Description copied from interface: CommonProtos.StateItemOrBuilder
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
        Specified by:
        getMetadataCount in interface CommonProtos.StateItemOrBuilder
      • containsMetadata

        public boolean containsMetadata(String key)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
        Specified by:
        containsMetadata in interface CommonProtos.StateItemOrBuilder
      • getMetadata

        @Deprecated public Map<String,String> getMetadata()
        Deprecated.
        Use getMetadataMap() instead.
        Specified by:
        getMetadata in interface CommonProtos.StateItemOrBuilder
      • getMetadataMap

        public Map<String,String> getMetadataMap()
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
        Specified by:
        getMetadataMap in interface CommonProtos.StateItemOrBuilder
      • getMetadataOrDefault

        public String getMetadataOrDefault(String key, String defaultValue)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
        Specified by:
        getMetadataOrDefault in interface CommonProtos.StateItemOrBuilder
      • getMetadataOrThrow

        public String getMetadataOrThrow(String key)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
        Specified by:
        getMetadataOrThrow in interface CommonProtos.StateItemOrBuilder
      • clearMetadata

        public CommonProtos.StateItem.Builder clearMetadata()
      • removeMetadata

        public CommonProtos.StateItem.Builder removeMetadata(String key)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
      • getMutableMetadata

        @Deprecated public Map<String,String> getMutableMetadata()
        Deprecated.
        Use alternate mutation accessors instead.
      • putMetadata

        public CommonProtos.StateItem.Builder putMetadata(String key, String value)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
      • putAllMetadata

        public CommonProtos.StateItem.Builder putAllMetadata(Map<String,String> values)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
      • hasOptions

        public boolean hasOptions()
         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
        Specified by:
        hasOptions in interface CommonProtos.StateItemOrBuilder
        Returns:
        Whether the options field is set.
      • getOptions

        public CommonProtos.StateOptions getOptions()
         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
        Specified by:
        getOptions in interface CommonProtos.StateItemOrBuilder
        Returns:
        The options.
      • setOptions

         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
      • setOptions

         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
      • mergeOptions

         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
      • clearOptions

        public CommonProtos.StateItem.Builder clearOptions()
         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
      • getOptionsBuilder

        public CommonProtos.StateOptions.Builder getOptionsBuilder()
         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
      • getOptionsOrBuilder

        public CommonProtos.StateOptionsOrBuilder getOptionsOrBuilder()
         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
        Specified by:
        getOptionsOrBuilder in interface CommonProtos.StateItemOrBuilder
      • setUnknownFields

        public final CommonProtos.StateItem.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>
      • mergeUnknownFields

        public final CommonProtos.StateItem.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateItem.Builder>

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.StateItem.html ================================================ CommonProtos.StateItem (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.StateItem

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.CommonProtos.StateItem
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.StateItemOrBuilder, Serializable
    Enclosing class:
    CommonProtos

    public static final class CommonProtos.StateItem extends com.google.protobuf.GeneratedMessageV3 implements CommonProtos.StateItemOrBuilder
     StateItem represents state key, value, and additional options to save state.
     
    Protobuf type dapr.proto.common.v1.StateItem
    See Also:
    • Field Details

    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetMapFieldReflection

        protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number)
        Overrides:
        internalGetMapFieldReflection in class com.google.protobuf.GeneratedMessageV3
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getKey

        public String getKey()
         Required. The state key
         
        string key = 1;
        Specified by:
        getKey in interface CommonProtos.StateItemOrBuilder
        Returns:
        The key.
      • getKeyBytes

        public com.google.protobuf.ByteString getKeyBytes()
         Required. The state key
         
        string key = 1;
        Specified by:
        getKeyBytes in interface CommonProtos.StateItemOrBuilder
        Returns:
        The bytes for key.
      • getValue

        public com.google.protobuf.ByteString getValue()
         Required. The state data for key
         
        bytes value = 2;
        Specified by:
        getValue in interface CommonProtos.StateItemOrBuilder
        Returns:
        The value.
      • hasEtag

        public boolean hasEtag()
         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
        Specified by:
        hasEtag in interface CommonProtos.StateItemOrBuilder
        Returns:
        Whether the etag field is set.
      • getEtag

        public CommonProtos.Etag getEtag()
         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
        Specified by:
        getEtag in interface CommonProtos.StateItemOrBuilder
        Returns:
        The etag.
      • getEtagOrBuilder

        public CommonProtos.EtagOrBuilder getEtagOrBuilder()
         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
        Specified by:
        getEtagOrBuilder in interface CommonProtos.StateItemOrBuilder
      • getMetadataCount

        public int getMetadataCount()
        Description copied from interface: CommonProtos.StateItemOrBuilder
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
        Specified by:
        getMetadataCount in interface CommonProtos.StateItemOrBuilder
      • containsMetadata

        public boolean containsMetadata(String key)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
        Specified by:
        containsMetadata in interface CommonProtos.StateItemOrBuilder
      • getMetadata

        @Deprecated public Map<String,String> getMetadata()
        Deprecated.
        Use getMetadataMap() instead.
        Specified by:
        getMetadata in interface CommonProtos.StateItemOrBuilder
      • getMetadataMap

        public Map<String,String> getMetadataMap()
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
        Specified by:
        getMetadataMap in interface CommonProtos.StateItemOrBuilder
      • getMetadataOrDefault

        public String getMetadataOrDefault(String key, String defaultValue)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
        Specified by:
        getMetadataOrDefault in interface CommonProtos.StateItemOrBuilder
      • getMetadataOrThrow

        public String getMetadataOrThrow(String key)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
        Specified by:
        getMetadataOrThrow in interface CommonProtos.StateItemOrBuilder
      • hasOptions

        public boolean hasOptions()
         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
        Specified by:
        hasOptions in interface CommonProtos.StateItemOrBuilder
        Returns:
        Whether the options field is set.
      • getOptions

        public CommonProtos.StateOptions getOptions()
         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
        Specified by:
        getOptions in interface CommonProtos.StateItemOrBuilder
        Returns:
        The options.
      • getOptionsOrBuilder

        public CommonProtos.StateOptionsOrBuilder getOptionsOrBuilder()
         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
        Specified by:
        getOptionsOrBuilder in interface CommonProtos.StateItemOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static CommonProtos.StateItem parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateItem parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateItem parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateItem parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateItem parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateItem parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateItem parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.StateItem parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.StateItem parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.StateItem parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.StateItem parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.StateItem parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        public CommonProtos.StateItem.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

        public static CommonProtos.StateItem.Builder newBuilder()
      • newBuilder

        public static CommonProtos.StateItem.Builder newBuilder(CommonProtos.StateItem prototype)
      • toBuilder

        public CommonProtos.StateItem.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected CommonProtos.StateItem.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static CommonProtos.StateItem getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<CommonProtos.StateItem> parser()
      • getParserForType

        public com.google.protobuf.Parser<CommonProtos.StateItem> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public CommonProtos.StateItem getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.StateItemOrBuilder.html ================================================ CommonProtos.StateItemOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface CommonProtos.StateItemOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    CommonProtos.StateItem, CommonProtos.StateItem.Builder
    Enclosing class:
    CommonProtos

    public static interface CommonProtos.StateItemOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Details

      • getKey

        String getKey()
         Required. The state key
         
        string key = 1;
        Returns:
        The key.
      • getKeyBytes

        com.google.protobuf.ByteString getKeyBytes()
         Required. The state key
         
        string key = 1;
        Returns:
        The bytes for key.
      • getValue

        com.google.protobuf.ByteString getValue()
         Required. The state data for key
         
        bytes value = 2;
        Returns:
        The value.
      • hasEtag

        boolean hasEtag()
         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
        Returns:
        Whether the etag field is set.
      • getEtag

         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
        Returns:
        The etag.
      • getEtagOrBuilder

        CommonProtos.EtagOrBuilder getEtagOrBuilder()
         The entity tag which represents the specific version of data.
         The exact ETag format is defined by the corresponding data store.
         
        .dapr.proto.common.v1.Etag etag = 3;
      • getMetadataCount

        int getMetadataCount()
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
      • containsMetadata

        boolean containsMetadata(String key)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
      • getMetadata

        @Deprecated Map<String,String> getMetadata()
        Deprecated.
        Use getMetadataMap() instead.
      • getMetadataMap

        Map<String,String> getMetadataMap()
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
      • getMetadataOrDefault

        String getMetadataOrDefault(String key, String defaultValue)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
      • getMetadataOrThrow

        String getMetadataOrThrow(String key)
         The metadata which will be passed to state store component.
         
        map<string, string> metadata = 4;
      • hasOptions

        boolean hasOptions()
         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
        Returns:
        Whether the options field is set.
      • getOptions

         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;
        Returns:
        The options.
      • getOptionsOrBuilder

        CommonProtos.StateOptionsOrBuilder getOptionsOrBuilder()
         Options for concurrency and consistency to save the state.
         
        .dapr.proto.common.v1.StateOptions options = 5;

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.StateOptions.Builder.html ================================================ CommonProtos.StateOptions.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.StateOptions.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
    io.dapr.v1.CommonProtos.StateOptions.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.StateOptionsOrBuilder, Cloneable
    Enclosing class:
    CommonProtos.StateOptions

    public static final class CommonProtos.StateOptions.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder> implements CommonProtos.StateOptionsOrBuilder
     StateOptions configures concurrency and consistency for state operations
     
    Protobuf type dapr.proto.common.v1.StateOptions
    • Method Details

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
      • clear

        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
      • getDefaultInstanceForType

        public CommonProtos.StateOptions getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public CommonProtos.StateOptions build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public CommonProtos.StateOptions buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
      • setField

        public CommonProtos.StateOptions.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
      • clearField

        public CommonProtos.StateOptions.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
      • clearOneof

        public CommonProtos.StateOptions.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
      • setRepeatedField

        public CommonProtos.StateOptions.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
      • addRepeatedField

        public CommonProtos.StateOptions.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
      • mergeFrom

        public CommonProtos.StateOptions.Builder mergeFrom(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.StateOptions.Builder>
      • mergeFrom

      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
      • mergeFrom

        public CommonProtos.StateOptions.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.StateOptions.Builder>
        Throws:
        IOException
      • getConcurrencyValue

        public int getConcurrencyValue()
        .dapr.proto.common.v1.StateOptions.StateConcurrency concurrency = 1;
        Specified by:
        getConcurrencyValue in interface CommonProtos.StateOptionsOrBuilder
        Returns:
        The enum numeric value on the wire for concurrency.
      • setConcurrencyValue

        public CommonProtos.StateOptions.Builder setConcurrencyValue(int value)
        .dapr.proto.common.v1.StateOptions.StateConcurrency concurrency = 1;
        Parameters:
        value - The enum numeric value on the wire for concurrency to set.
        Returns:
        This builder for chaining.
      • getConcurrency

        .dapr.proto.common.v1.StateOptions.StateConcurrency concurrency = 1;
        Specified by:
        getConcurrency in interface CommonProtos.StateOptionsOrBuilder
        Returns:
        The concurrency.
      • setConcurrency

        .dapr.proto.common.v1.StateOptions.StateConcurrency concurrency = 1;
        Parameters:
        value - The concurrency to set.
        Returns:
        This builder for chaining.
      • clearConcurrency

        public CommonProtos.StateOptions.Builder clearConcurrency()
        .dapr.proto.common.v1.StateOptions.StateConcurrency concurrency = 1;
        Returns:
        This builder for chaining.
      • getConsistencyValue

        public int getConsistencyValue()
        .dapr.proto.common.v1.StateOptions.StateConsistency consistency = 2;
        Specified by:
        getConsistencyValue in interface CommonProtos.StateOptionsOrBuilder
        Returns:
        The enum numeric value on the wire for consistency.
      • setConsistencyValue

        public CommonProtos.StateOptions.Builder setConsistencyValue(int value)
        .dapr.proto.common.v1.StateOptions.StateConsistency consistency = 2;
        Parameters:
        value - The enum numeric value on the wire for consistency to set.
        Returns:
        This builder for chaining.
      • getConsistency

        .dapr.proto.common.v1.StateOptions.StateConsistency consistency = 2;
        Specified by:
        getConsistency in interface CommonProtos.StateOptionsOrBuilder
        Returns:
        The consistency.
      • setConsistency

        .dapr.proto.common.v1.StateOptions.StateConsistency consistency = 2;
        Parameters:
        value - The consistency to set.
        Returns:
        This builder for chaining.
      • clearConsistency

        public CommonProtos.StateOptions.Builder clearConsistency()
        .dapr.proto.common.v1.StateOptions.StateConsistency consistency = 2;
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final CommonProtos.StateOptions.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>
      • mergeUnknownFields

        public final CommonProtos.StateOptions.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StateOptions.Builder>

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.StateOptions.StateConcurrency.html ================================================ CommonProtos.StateOptions.StateConcurrency (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Enum CommonProtos.StateOptions.StateConcurrency

    java.lang.Object
    java.lang.Enum<CommonProtos.StateOptions.StateConcurrency>
    io.dapr.v1.CommonProtos.StateOptions.StateConcurrency
    All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, Serializable, Comparable<CommonProtos.StateOptions.StateConcurrency>
    Enclosing class:
    CommonProtos.StateOptions

    public static enum CommonProtos.StateOptions.StateConcurrency extends Enum<CommonProtos.StateOptions.StateConcurrency> implements com.google.protobuf.ProtocolMessageEnum
     Enum describing the supported concurrency for state.
     
    Protobuf enum dapr.proto.common.v1.StateOptions.StateConcurrency
    • Enum Constant Details

    • Field Details

      • CONCURRENCY_UNSPECIFIED_VALUE

        public static final int CONCURRENCY_UNSPECIFIED_VALUE
        CONCURRENCY_UNSPECIFIED = 0;
        See Also:
      • CONCURRENCY_FIRST_WRITE_VALUE

        public static final int CONCURRENCY_FIRST_WRITE_VALUE
        CONCURRENCY_FIRST_WRITE = 1;
        See Also:
      • CONCURRENCY_LAST_WRITE_VALUE

        public static final int CONCURRENCY_LAST_WRITE_VALUE
        CONCURRENCY_LAST_WRITE = 2;
        See Also:
    • Method Details

      • values

        Returns an array containing the constants of this enum type, in the order they are declared.
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static CommonProtos.StateOptions.StateConcurrency valueOf(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        @Deprecated public static CommonProtos.StateOptions.StateConcurrency valueOf(int value)
        Deprecated.
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • forNumber

        public static CommonProtos.StateOptions.StateConcurrency forNumber(int value)
        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • internalGetValueMap

        public static com.google.protobuf.Internal.EnumLiteMap<CommonProtos.StateOptions.StateConcurrency> internalGetValueMap()
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static CommonProtos.StateOptions.StateConcurrency valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.StateOptions.StateConsistency.html ================================================ CommonProtos.StateOptions.StateConsistency (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Enum CommonProtos.StateOptions.StateConsistency

    java.lang.Object
    java.lang.Enum<CommonProtos.StateOptions.StateConsistency>
    io.dapr.v1.CommonProtos.StateOptions.StateConsistency
    All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, Serializable, Comparable<CommonProtos.StateOptions.StateConsistency>
    Enclosing class:
    CommonProtos.StateOptions

    public static enum CommonProtos.StateOptions.StateConsistency extends Enum<CommonProtos.StateOptions.StateConsistency> implements com.google.protobuf.ProtocolMessageEnum
     Enum describing the supported consistency for state.
     
    Protobuf enum dapr.proto.common.v1.StateOptions.StateConsistency
    • Enum Constant Details

    • Field Details

      • CONSISTENCY_UNSPECIFIED_VALUE

        public static final int CONSISTENCY_UNSPECIFIED_VALUE
        CONSISTENCY_UNSPECIFIED = 0;
        See Also:
      • CONSISTENCY_EVENTUAL_VALUE

        public static final int CONSISTENCY_EVENTUAL_VALUE
        CONSISTENCY_EVENTUAL = 1;
        See Also:
      • CONSISTENCY_STRONG_VALUE

        public static final int CONSISTENCY_STRONG_VALUE
        CONSISTENCY_STRONG = 2;
        See Also:
    • Method Details

      • values

        Returns an array containing the constants of this enum type, in the order they are declared.
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static CommonProtos.StateOptions.StateConsistency valueOf(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        @Deprecated public static CommonProtos.StateOptions.StateConsistency valueOf(int value)
        Deprecated.
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • forNumber

        public static CommonProtos.StateOptions.StateConsistency forNumber(int value)
        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • internalGetValueMap

        public static com.google.protobuf.Internal.EnumLiteMap<CommonProtos.StateOptions.StateConsistency> internalGetValueMap()
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static CommonProtos.StateOptions.StateConsistency valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.StateOptions.html ================================================ CommonProtos.StateOptions (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.StateOptions

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.CommonProtos.StateOptions
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.StateOptionsOrBuilder, Serializable
    Enclosing class:
    CommonProtos

    public static final class CommonProtos.StateOptions extends com.google.protobuf.GeneratedMessageV3 implements CommonProtos.StateOptionsOrBuilder
     StateOptions configures concurrency and consistency for state operations
     
    Protobuf type dapr.proto.common.v1.StateOptions
    See Also:
    • Field Details

      • CONCURRENCY_FIELD_NUMBER

        public static final int CONCURRENCY_FIELD_NUMBER
        See Also:
      • CONSISTENCY_FIELD_NUMBER

        public static final int CONSISTENCY_FIELD_NUMBER
        See Also:
    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getConcurrencyValue

        public int getConcurrencyValue()
        .dapr.proto.common.v1.StateOptions.StateConcurrency concurrency = 1;
        Specified by:
        getConcurrencyValue in interface CommonProtos.StateOptionsOrBuilder
        Returns:
        The enum numeric value on the wire for concurrency.
      • getConcurrency

        .dapr.proto.common.v1.StateOptions.StateConcurrency concurrency = 1;
        Specified by:
        getConcurrency in interface CommonProtos.StateOptionsOrBuilder
        Returns:
        The concurrency.
      • getConsistencyValue

        public int getConsistencyValue()
        .dapr.proto.common.v1.StateOptions.StateConsistency consistency = 2;
        Specified by:
        getConsistencyValue in interface CommonProtos.StateOptionsOrBuilder
        Returns:
        The enum numeric value on the wire for consistency.
      • getConsistency

        .dapr.proto.common.v1.StateOptions.StateConsistency consistency = 2;
        Specified by:
        getConsistency in interface CommonProtos.StateOptionsOrBuilder
        Returns:
        The consistency.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static CommonProtos.StateOptions parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateOptions parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateOptions parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateOptions parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateOptions parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateOptions parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StateOptions parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.StateOptions parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.StateOptions parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.StateOptions parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.StateOptions parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.StateOptions parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        public CommonProtos.StateOptions.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

        public static CommonProtos.StateOptions.Builder newBuilder()
      • newBuilder

        public static CommonProtos.StateOptions.Builder newBuilder(CommonProtos.StateOptions prototype)
      • toBuilder

        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected CommonProtos.StateOptions.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static CommonProtos.StateOptions getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<CommonProtos.StateOptions> parser()
      • getParserForType

        public com.google.protobuf.Parser<CommonProtos.StateOptions> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public CommonProtos.StateOptions getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.StateOptionsOrBuilder.html ================================================ CommonProtos.StateOptionsOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface CommonProtos.StateOptionsOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    CommonProtos.StateOptions, CommonProtos.StateOptions.Builder
    Enclosing class:
    CommonProtos

    public static interface CommonProtos.StateOptionsOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      .dapr.proto.common.v1.StateOptions.StateConcurrency concurrency = 1;
      int
      .dapr.proto.common.v1.StateOptions.StateConcurrency concurrency = 1;
      .dapr.proto.common.v1.StateOptions.StateConsistency consistency = 2;
      int
      .dapr.proto.common.v1.StateOptions.StateConsistency consistency = 2;

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getConcurrencyValue

        int getConcurrencyValue()
        .dapr.proto.common.v1.StateOptions.StateConcurrency concurrency = 1;
        Returns:
        The enum numeric value on the wire for concurrency.
      • getConcurrency

        .dapr.proto.common.v1.StateOptions.StateConcurrency concurrency = 1;
        Returns:
        The concurrency.
      • getConsistencyValue

        int getConsistencyValue()
        .dapr.proto.common.v1.StateOptions.StateConsistency consistency = 2;
        Returns:
        The enum numeric value on the wire for consistency.
      • getConsistency

        .dapr.proto.common.v1.StateOptions.StateConsistency consistency = 2;
        Returns:
        The consistency.

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.StreamPayload.Builder.html ================================================ CommonProtos.StreamPayload.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.StreamPayload.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
    io.dapr.v1.CommonProtos.StreamPayload.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.StreamPayloadOrBuilder, Cloneable
    Enclosing class:
    CommonProtos.StreamPayload

    public static final class CommonProtos.StreamPayload.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder> implements CommonProtos.StreamPayloadOrBuilder
     Chunk of data sent in a streaming request or response.
     This is used in requests including InternalInvokeRequestStream.
     
    Protobuf type dapr.proto.common.v1.StreamPayload
    • Method Details

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
      • clear

        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
      • getDefaultInstanceForType

        public CommonProtos.StreamPayload getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public CommonProtos.StreamPayload buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
      • setField

        public CommonProtos.StreamPayload.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
      • clearField

        public CommonProtos.StreamPayload.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
      • clearOneof

        public CommonProtos.StreamPayload.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
      • setRepeatedField

        public CommonProtos.StreamPayload.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
      • addRepeatedField

        public CommonProtos.StreamPayload.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
      • mergeFrom

        public CommonProtos.StreamPayload.Builder mergeFrom(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.StreamPayload.Builder>
      • mergeFrom

      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
      • mergeFrom

        public CommonProtos.StreamPayload.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CommonProtos.StreamPayload.Builder>
        Throws:
        IOException
      • getData

        public com.google.protobuf.ByteString getData()
         Data sent in the chunk.
         The amount of data included in each chunk is up to the discretion of the sender, and can be empty.
         Additionally, the amount of data doesn't need to be fixed and subsequent messages can send more, or less, data.
         Receivers must not make assumptions about the number of bytes they'll receive in each chunk.
         
        bytes data = 1;
        Specified by:
        getData in interface CommonProtos.StreamPayloadOrBuilder
        Returns:
        The data.
      • setData

        public CommonProtos.StreamPayload.Builder setData(com.google.protobuf.ByteString value)
         Data sent in the chunk.
         The amount of data included in each chunk is up to the discretion of the sender, and can be empty.
         Additionally, the amount of data doesn't need to be fixed and subsequent messages can send more, or less, data.
         Receivers must not make assumptions about the number of bytes they'll receive in each chunk.
         
        bytes data = 1;
        Parameters:
        value - The data to set.
        Returns:
        This builder for chaining.
      • clearData

         Data sent in the chunk.
         The amount of data included in each chunk is up to the discretion of the sender, and can be empty.
         Additionally, the amount of data doesn't need to be fixed and subsequent messages can send more, or less, data.
         Receivers must not make assumptions about the number of bytes they'll receive in each chunk.
         
        bytes data = 1;
        Returns:
        This builder for chaining.
      • getSeq

        public long getSeq()
         Sequence number. This is a counter that starts from 0 and increments by 1 on each chunk sent.
         
        uint64 seq = 2;
        Specified by:
        getSeq in interface CommonProtos.StreamPayloadOrBuilder
        Returns:
        The seq.
      • setSeq

        public CommonProtos.StreamPayload.Builder setSeq(long value)
         Sequence number. This is a counter that starts from 0 and increments by 1 on each chunk sent.
         
        uint64 seq = 2;
        Parameters:
        value - The seq to set.
        Returns:
        This builder for chaining.
      • clearSeq

         Sequence number. This is a counter that starts from 0 and increments by 1 on each chunk sent.
         
        uint64 seq = 2;
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final CommonProtos.StreamPayload.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>
      • mergeUnknownFields

        public final CommonProtos.StreamPayload.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CommonProtos.StreamPayload.Builder>

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.StreamPayload.html ================================================ CommonProtos.StreamPayload (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos.StreamPayload

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.CommonProtos.StreamPayload
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CommonProtos.StreamPayloadOrBuilder, Serializable
    Enclosing class:
    CommonProtos

    public static final class CommonProtos.StreamPayload extends com.google.protobuf.GeneratedMessageV3 implements CommonProtos.StreamPayloadOrBuilder
     Chunk of data sent in a streaming request or response.
     This is used in requests including InternalInvokeRequestStream.
     
    Protobuf type dapr.proto.common.v1.StreamPayload
    See Also:
    • Nested Class Summary

      Nested Classes
      Modifier and Type
      Class
      Description
      static final class 
      Chunk of data sent in a streaming request or response.

      Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

      com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter

      Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

      com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Summary

      Fields
      Modifier and Type
      Field
      Description
      static final int
       
      static final int
       

      Fields inherited from class com.google.protobuf.GeneratedMessageV3

      alwaysUseFieldBuilders, unknownFields

      Fields inherited from class com.google.protobuf.AbstractMessage

      memoizedSize

      Fields inherited from class com.google.protobuf.AbstractMessageLite

      memoizedHashCode
    • Method Summary

      Modifier and Type
      Method
      Description
      boolean
       
      com.google.protobuf.ByteString
      Data sent in the chunk.
       
       
      static final com.google.protobuf.Descriptors.Descriptor
       
      com.google.protobuf.Parser<CommonProtos.StreamPayload>
       
      long
      Sequence number.
      int
       
      int
       
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       
      final boolean
       
       
       
       
      newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
       
      protected Object
      newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
       
       
      parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      parseFrom(byte[] data)
       
      parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      parseFrom(com.google.protobuf.ByteString data)
       
      parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      parseFrom(com.google.protobuf.CodedInputStream input)
       
      parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
       
      parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
       
      parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      static com.google.protobuf.Parser<CommonProtos.StreamPayload>
       
       
      void
      writeTo(com.google.protobuf.CodedOutputStream output)
       

      Methods inherited from class com.google.protobuf.GeneratedMessageV3

      canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag

      Methods inherited from class com.google.protobuf.AbstractMessage

      findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString

      Methods inherited from class com.google.protobuf.AbstractMessageLite

      addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo

      Methods inherited from class java.lang.Object

      clone, finalize, getClass, notify, notifyAll, wait, wait, wait

      Methods inherited from interface com.google.protobuf.MessageLite

      toByteArray, toByteString, writeDelimitedTo, writeTo

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Field Details

    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getData

        public com.google.protobuf.ByteString getData()
         Data sent in the chunk.
         The amount of data included in each chunk is up to the discretion of the sender, and can be empty.
         Additionally, the amount of data doesn't need to be fixed and subsequent messages can send more, or less, data.
         Receivers must not make assumptions about the number of bytes they'll receive in each chunk.
         
        bytes data = 1;
        Specified by:
        getData in interface CommonProtos.StreamPayloadOrBuilder
        Returns:
        The data.
      • getSeq

        public long getSeq()
         Sequence number. This is a counter that starts from 0 and increments by 1 on each chunk sent.
         
        uint64 seq = 2;
        Specified by:
        getSeq in interface CommonProtos.StreamPayloadOrBuilder
        Returns:
        The seq.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static CommonProtos.StreamPayload parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StreamPayload parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StreamPayload parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StreamPayload parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StreamPayload parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StreamPayload parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static CommonProtos.StreamPayload parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.StreamPayload parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.StreamPayload parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static CommonProtos.StreamPayload parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.StreamPayload parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static CommonProtos.StreamPayload parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        public CommonProtos.StreamPayload.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

        public static CommonProtos.StreamPayload.Builder newBuilder()
      • newBuilder

        public static CommonProtos.StreamPayload.Builder newBuilder(CommonProtos.StreamPayload prototype)
      • toBuilder

        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected CommonProtos.StreamPayload.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static CommonProtos.StreamPayload getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<CommonProtos.StreamPayload> parser()
      • getParserForType

        public com.google.protobuf.Parser<CommonProtos.StreamPayload> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public CommonProtos.StreamPayload getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.StreamPayloadOrBuilder.html ================================================ CommonProtos.StreamPayloadOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface CommonProtos.StreamPayloadOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    CommonProtos.StreamPayload, CommonProtos.StreamPayload.Builder
    Enclosing class:
    CommonProtos

    public static interface CommonProtos.StreamPayloadOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      com.google.protobuf.ByteString
      Data sent in the chunk.
      long
      Sequence number.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getData

        com.google.protobuf.ByteString getData()
         Data sent in the chunk.
         The amount of data included in each chunk is up to the discretion of the sender, and can be empty.
         Additionally, the amount of data doesn't need to be fixed and subsequent messages can send more, or less, data.
         Receivers must not make assumptions about the number of bytes they'll receive in each chunk.
         
        bytes data = 1;
        Returns:
        The data.
      • getSeq

        long getSeq()
         Sequence number. This is a counter that starts from 0 and increments by 1 on each chunk sent.
         
        uint64 seq = 2;
        Returns:
        The seq.

    ================================================ FILE: docs/io/dapr/v1/CommonProtos.html ================================================ CommonProtos (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class CommonProtos

    java.lang.Object
    io.dapr.v1.CommonProtos

    public final class CommonProtos extends Object
    • Method Details

      • registerAllExtensions

        public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry)
      • registerAllExtensions

        public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry)
      • getDescriptor

        public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor()

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.BindingEventRequest.Builder.html ================================================ DaprAppCallbackProtos.BindingEventRequest.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.BindingEventRequest.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.BindingEventRequest.Builder>
    io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.BindingEventRequestOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.BindingEventRequest

    public static final class DaprAppCallbackProtos.BindingEventRequest.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.BindingEventRequest.Builder> implements DaprAppCallbackProtos.BindingEventRequestOrBuilder
     BindingEventRequest represents input bindings event.
     
    Protobuf type dapr.proto.runtime.v1.BindingEventRequest

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.BindingEventRequest.html ================================================ DaprAppCallbackProtos.BindingEventRequest (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.BindingEventRequest

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.BindingEventRequestOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.BindingEventRequest extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.BindingEventRequestOrBuilder
     BindingEventRequest represents input bindings event.
     
    Protobuf type dapr.proto.runtime.v1.BindingEventRequest
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.BindingEventRequestOrBuilder.html ================================================ DaprAppCallbackProtos.BindingEventRequestOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.BindingEventRequestOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.BindingEventRequest, DaprAppCallbackProtos.BindingEventRequest.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.BindingEventRequestOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      boolean
      The metadata set by the input binging components.
      com.google.protobuf.ByteString
      Required.
      Deprecated.
      int
      The metadata set by the input binging components.
      The metadata set by the input binging components.
      getMetadataOrDefault(String key, String defaultValue)
      The metadata set by the input binging components.
      The metadata set by the input binging components.
      Required.
      com.google.protobuf.ByteString
      Required.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getName

        String getName()
         Required. The name of the input binding component.
         
        string name = 1;
        Returns:
        The name.
      • getNameBytes

        com.google.protobuf.ByteString getNameBytes()
         Required. The name of the input binding component.
         
        string name = 1;
        Returns:
        The bytes for name.
      • getData

        com.google.protobuf.ByteString getData()
         Required. The payload that the input bindings sent
         
        bytes data = 2;
        Returns:
        The data.
      • getMetadataCount

        int getMetadataCount()
         The metadata set by the input binging components.
         
        map<string, string> metadata = 3;
      • containsMetadata

        boolean containsMetadata(String key)
         The metadata set by the input binging components.
         
        map<string, string> metadata = 3;
      • getMetadata

        @Deprecated Map<String,String> getMetadata()
        Deprecated.
        Use getMetadataMap() instead.
      • getMetadataMap

        Map<String,String> getMetadataMap()
         The metadata set by the input binging components.
         
        map<string, string> metadata = 3;
      • getMetadataOrDefault

        String getMetadataOrDefault(String key, String defaultValue)
         The metadata set by the input binging components.
         
        map<string, string> metadata = 3;
      • getMetadataOrThrow

        String getMetadataOrThrow(String key)
         The metadata set by the input binging components.
         
        map<string, string> metadata = 3;

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency.html ================================================ DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Enum DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency

    java.lang.Object
    java.lang.Enum<DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency>
    io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency
    All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, Serializable, Comparable<DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency>
    Enclosing class:
    DaprAppCallbackProtos.BindingEventResponse

    public static enum DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency extends Enum<DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency> implements com.google.protobuf.ProtocolMessageEnum
     BindingEventConcurrency is the kind of concurrency 
     
    Protobuf enum dapr.proto.runtime.v1.BindingEventResponse.BindingEventConcurrency
    • Enum Constant Details

    • Field Details

      • SEQUENTIAL_VALUE

        public static final int SEQUENTIAL_VALUE
         SEQUENTIAL sends data to output bindings specified in "to" sequentially.
         
        SEQUENTIAL = 0;
        See Also:
      • PARALLEL_VALUE

        public static final int PARALLEL_VALUE
         PARALLEL sends data to output bindings specified in "to" in parallel.
         
        PARALLEL = 1;
        See Also:
    • Method Details

      • values

        Returns an array containing the constants of this enum type, in the order they are declared.
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        Deprecated.
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • forNumber

        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • internalGetValueMap

        public static com.google.protobuf.Internal.EnumLiteMap<DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency> internalGetValueMap()
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.BindingEventResponse.Builder.html ================================================ DaprAppCallbackProtos.BindingEventResponse.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.BindingEventResponse.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.BindingEventResponse.Builder>
    io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.BindingEventResponseOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.BindingEventResponse

    public static final class DaprAppCallbackProtos.BindingEventResponse.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.BindingEventResponse.Builder> implements DaprAppCallbackProtos.BindingEventResponseOrBuilder
     BindingEventResponse includes operations to save state or
     send data to output bindings optionally.
     
    Protobuf type dapr.proto.runtime.v1.BindingEventResponse

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.BindingEventResponse.html ================================================ DaprAppCallbackProtos.BindingEventResponse (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.BindingEventResponse

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.BindingEventResponseOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.BindingEventResponse extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.BindingEventResponseOrBuilder
     BindingEventResponse includes operations to save state or
     send data to output bindings optionally.
     
    Protobuf type dapr.proto.runtime.v1.BindingEventResponse
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.BindingEventResponseOrBuilder.html ================================================ DaprAppCallbackProtos.BindingEventResponseOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.BindingEventResponseOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.BindingEventResponse, DaprAppCallbackProtos.BindingEventResponse.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.BindingEventResponseOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Details

      • getStoreName

        String getStoreName()
         The name of state store where states are saved.
         
        string store_name = 1;
        Returns:
        The storeName.
      • getStoreNameBytes

        com.google.protobuf.ByteString getStoreNameBytes()
         The name of state store where states are saved.
         
        string store_name = 1;
        Returns:
        The bytes for storeName.
      • getStatesList

        List<CommonProtos.StateItem> getStatesList()
         The state key values which will be stored in store_name.
         
        repeated .dapr.proto.common.v1.StateItem states = 2;
      • getStates

        CommonProtos.StateItem getStates(int index)
         The state key values which will be stored in store_name.
         
        repeated .dapr.proto.common.v1.StateItem states = 2;
      • getStatesCount

        int getStatesCount()
         The state key values which will be stored in store_name.
         
        repeated .dapr.proto.common.v1.StateItem states = 2;
      • getStatesOrBuilderList

        List<? extends CommonProtos.StateItemOrBuilder> getStatesOrBuilderList()
         The state key values which will be stored in store_name.
         
        repeated .dapr.proto.common.v1.StateItem states = 2;
      • getStatesOrBuilder

        CommonProtos.StateItemOrBuilder getStatesOrBuilder(int index)
         The state key values which will be stored in store_name.
         
        repeated .dapr.proto.common.v1.StateItem states = 2;
      • getToList

        List<String> getToList()
         The list of output bindings.
         
        repeated string to = 3;
        Returns:
        A list containing the to.
      • getToCount

        int getToCount()
         The list of output bindings.
         
        repeated string to = 3;
        Returns:
        The count of to.
      • getTo

        String getTo(int index)
         The list of output bindings.
         
        repeated string to = 3;
        Parameters:
        index - The index of the element to return.
        Returns:
        The to at the given index.
      • getToBytes

        com.google.protobuf.ByteString getToBytes(int index)
         The list of output bindings.
         
        repeated string to = 3;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the to at the given index.
      • getData

        com.google.protobuf.ByteString getData()
         The content which will be sent to "to" output bindings.
         
        bytes data = 4;
        Returns:
        The data.
      • getConcurrencyValue

        int getConcurrencyValue()
         The concurrency of output bindings to send data to
         "to" output bindings list. The default is SEQUENTIAL.
         
        .dapr.proto.runtime.v1.BindingEventResponse.BindingEventConcurrency concurrency = 5;
        Returns:
        The enum numeric value on the wire for concurrency.
      • getConcurrency

         The concurrency of output bindings to send data to
         "to" output bindings list. The default is SEQUENTIAL.
         
        .dapr.proto.runtime.v1.BindingEventResponse.BindingEventConcurrency concurrency = 5;
        Returns:
        The concurrency.

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.BulkSubscribeConfig.Builder.html ================================================ DaprAppCallbackProtos.BulkSubscribeConfig.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.BulkSubscribeConfig.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.BulkSubscribeConfig.Builder>
    io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfig.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.BulkSubscribeConfig

    public static final class DaprAppCallbackProtos.BulkSubscribeConfig.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.BulkSubscribeConfig.Builder> implements DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder
     BulkSubscribeConfig is the message to pass settings for bulk subscribe
     
    Protobuf type dapr.proto.runtime.v1.BulkSubscribeConfig

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.BulkSubscribeConfig.html ================================================ DaprAppCallbackProtos.BulkSubscribeConfig (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.BulkSubscribeConfig

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfig
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.BulkSubscribeConfig extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder
     BulkSubscribeConfig is the message to pass settings for bulk subscribe
     
    Protobuf type dapr.proto.runtime.v1.BulkSubscribeConfig
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder.html ================================================ DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.BulkSubscribeConfig, DaprAppCallbackProtos.BulkSubscribeConfig.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      boolean
      Required.
      int
      Optional.
      int
      Optional.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getEnabled

        boolean getEnabled()
         Required. Flag to enable/disable bulk subscribe
         
        bool enabled = 1;
        Returns:
        The enabled.
      • getMaxMessagesCount

        int getMaxMessagesCount()
         Optional. Max number of messages to be sent in a single bulk request
         
        int32 max_messages_count = 2;
        Returns:
        The maxMessagesCount.
      • getMaxAwaitDurationMs

        int getMaxAwaitDurationMs()
         Optional. Max duration to wait for messages to be sent in a single bulk request
         
        int32 max_await_duration_ms = 3;
        Returns:
        The maxAwaitDurationMs.

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.HealthCheckResponse.Builder.html ================================================ DaprAppCallbackProtos.HealthCheckResponse.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.HealthCheckResponse.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.HealthCheckResponse.Builder>
    io.dapr.v1.DaprAppCallbackProtos.HealthCheckResponse.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.HealthCheckResponseOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.HealthCheckResponse

    public static final class DaprAppCallbackProtos.HealthCheckResponse.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.HealthCheckResponse.Builder> implements DaprAppCallbackProtos.HealthCheckResponseOrBuilder
     HealthCheckResponse is the message with the response to the health check.
     This message is currently empty as used as placeholder.
     
    Protobuf type dapr.proto.runtime.v1.HealthCheckResponse

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.HealthCheckResponse.html ================================================ DaprAppCallbackProtos.HealthCheckResponse (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.HealthCheckResponse

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.HealthCheckResponse
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.HealthCheckResponseOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.HealthCheckResponse extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.HealthCheckResponseOrBuilder
     HealthCheckResponse is the message with the response to the health check.
     This message is currently empty as used as placeholder.
     
    Protobuf type dapr.proto.runtime.v1.HealthCheckResponse
    See Also:
    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprAppCallbackProtos.HealthCheckResponse parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

      • newBuilder

      • toBuilder

        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected DaprAppCallbackProtos.HealthCheckResponse.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static DaprAppCallbackProtos.HealthCheckResponse getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<DaprAppCallbackProtos.HealthCheckResponse> parser()
      • getParserForType

        public com.google.protobuf.Parser<DaprAppCallbackProtos.HealthCheckResponse> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public DaprAppCallbackProtos.HealthCheckResponse getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.HealthCheckResponseOrBuilder.html ================================================ DaprAppCallbackProtos.HealthCheckResponseOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.HealthCheckResponseOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.HealthCheckResponse, DaprAppCallbackProtos.HealthCheckResponse.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.HealthCheckResponseOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.JobEventRequest.Builder.html ================================================ DaprAppCallbackProtos.JobEventRequest.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.JobEventRequest.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.JobEventRequest.Builder>
    io.dapr.v1.DaprAppCallbackProtos.JobEventRequest.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.JobEventRequestOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.JobEventRequest

    public static final class DaprAppCallbackProtos.JobEventRequest.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.JobEventRequest.Builder> implements DaprAppCallbackProtos.JobEventRequestOrBuilder
    Protobuf type dapr.proto.runtime.v1.JobEventRequest

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.JobEventRequest.html ================================================ DaprAppCallbackProtos.JobEventRequest (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.JobEventRequest

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.JobEventRequest
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.JobEventRequestOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.JobEventRequest extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.JobEventRequestOrBuilder
    Protobuf type dapr.proto.runtime.v1.JobEventRequest
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.JobEventRequestOrBuilder.html ================================================ DaprAppCallbackProtos.JobEventRequestOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.JobEventRequestOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.JobEventRequest, DaprAppCallbackProtos.JobEventRequest.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.JobEventRequestOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      The type of data content.
      com.google.protobuf.ByteString
      The type of data content.
      com.google.protobuf.Any
      Job data to be sent back to app.
      com.google.protobuf.AnyOrBuilder
      Job data to be sent back to app.
      HTTP specific fields if request conveys http-compatible request.
      HTTP specific fields if request conveys http-compatible request.
      Required.
      com.google.protobuf.ByteString
      Required.
      Job name.
      com.google.protobuf.ByteString
      Job name.
      boolean
      Job data to be sent back to app.
      boolean
      HTTP specific fields if request conveys http-compatible request.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getName

        String getName()
         Job name.
         
        string name = 1;
        Returns:
        The name.
      • getNameBytes

        com.google.protobuf.ByteString getNameBytes()
         Job name.
         
        string name = 1;
        Returns:
        The bytes for name.
      • hasData

        boolean hasData()
         Job data to be sent back to app.
         
        .google.protobuf.Any data = 2;
        Returns:
        Whether the data field is set.
      • getData

        com.google.protobuf.Any getData()
         Job data to be sent back to app.
         
        .google.protobuf.Any data = 2;
        Returns:
        The data.
      • getDataOrBuilder

        com.google.protobuf.AnyOrBuilder getDataOrBuilder()
         Job data to be sent back to app.
         
        .google.protobuf.Any data = 2;
      • getMethod

        String getMethod()
         Required. method is a method name which will be invoked by caller.
         
        string method = 3;
        Returns:
        The method.
      • getMethodBytes

        com.google.protobuf.ByteString getMethodBytes()
         Required. method is a method name which will be invoked by caller.
         
        string method = 3;
        Returns:
        The bytes for method.
      • getContentType

        String getContentType()
         The type of data content.
        
         This field is required if data delivers http request body
         Otherwise, this is optional.
         
        string content_type = 4;
        Returns:
        The contentType.
      • getContentTypeBytes

        com.google.protobuf.ByteString getContentTypeBytes()
         The type of data content.
        
         This field is required if data delivers http request body
         Otherwise, this is optional.
         
        string content_type = 4;
        Returns:
        The bytes for contentType.
      • hasHttpExtension

        boolean hasHttpExtension()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 5;
        Returns:
        Whether the httpExtension field is set.
      • getHttpExtension

        CommonProtos.HTTPExtension getHttpExtension()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 5;
        Returns:
        The httpExtension.
      • getHttpExtensionOrBuilder

        CommonProtos.HTTPExtensionOrBuilder getHttpExtensionOrBuilder()
         HTTP specific fields if request conveys http-compatible request.
        
         This field is required for http-compatible request. Otherwise,
         this field is optional.
         
        .dapr.proto.common.v1.HTTPExtension http_extension = 5;

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.JobEventResponse.Builder.html ================================================ DaprAppCallbackProtos.JobEventResponse.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.JobEventResponse.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.JobEventResponse.Builder>
    io.dapr.v1.DaprAppCallbackProtos.JobEventResponse.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.JobEventResponseOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.JobEventResponse

    public static final class DaprAppCallbackProtos.JobEventResponse.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.JobEventResponse.Builder> implements DaprAppCallbackProtos.JobEventResponseOrBuilder
     JobEventResponse is the response from the app when a job is triggered.
     
    Protobuf type dapr.proto.runtime.v1.JobEventResponse

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.JobEventResponse.html ================================================ DaprAppCallbackProtos.JobEventResponse (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.JobEventResponse

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.JobEventResponse
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.JobEventResponseOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.JobEventResponse extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.JobEventResponseOrBuilder
     JobEventResponse is the response from the app when a job is triggered.
     
    Protobuf type dapr.proto.runtime.v1.JobEventResponse
    See Also:
    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static DaprAppCallbackProtos.JobEventResponse parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.JobEventResponse parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.JobEventResponse parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.JobEventResponse parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.JobEventResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.JobEventResponse parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.JobEventResponse parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprAppCallbackProtos.JobEventResponse parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static DaprAppCallbackProtos.JobEventResponse parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static DaprAppCallbackProtos.JobEventResponse parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprAppCallbackProtos.JobEventResponse parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprAppCallbackProtos.JobEventResponse parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

      • newBuilder

      • toBuilder

        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected DaprAppCallbackProtos.JobEventResponse.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static DaprAppCallbackProtos.JobEventResponse getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<DaprAppCallbackProtos.JobEventResponse> parser()
      • getParserForType

        public com.google.protobuf.Parser<DaprAppCallbackProtos.JobEventResponse> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public DaprAppCallbackProtos.JobEventResponse getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.JobEventResponseOrBuilder.html ================================================ DaprAppCallbackProtos.JobEventResponseOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.JobEventResponseOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.JobEventResponse, DaprAppCallbackProtos.JobEventResponse.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.JobEventResponseOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.ListInputBindingsResponse.Builder.html ================================================ DaprAppCallbackProtos.ListInputBindingsResponse.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.ListInputBindingsResponse.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.ListInputBindingsResponse.Builder>
    io.dapr.v1.DaprAppCallbackProtos.ListInputBindingsResponse.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.ListInputBindingsResponse

    public static final class DaprAppCallbackProtos.ListInputBindingsResponse.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.ListInputBindingsResponse.Builder> implements DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder
     ListInputBindingsResponse is the message including the list of input bindings.
     
    Protobuf type dapr.proto.runtime.v1.ListInputBindingsResponse

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.ListInputBindingsResponse.html ================================================ DaprAppCallbackProtos.ListInputBindingsResponse (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.ListInputBindingsResponse

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.ListInputBindingsResponse
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.ListInputBindingsResponse extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder
     ListInputBindingsResponse is the message including the list of input bindings.
     
    Protobuf type dapr.proto.runtime.v1.ListInputBindingsResponse
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder.html ================================================ DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.ListInputBindingsResponse, DaprAppCallbackProtos.ListInputBindingsResponse.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      getBindings(int index)
      The list of input bindings.
      com.google.protobuf.ByteString
      getBindingsBytes(int index)
      The list of input bindings.
      int
      The list of input bindings.
      The list of input bindings.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getBindingsList

        List<String> getBindingsList()
         The list of input bindings.
         
        repeated string bindings = 1;
        Returns:
        A list containing the bindings.
      • getBindingsCount

        int getBindingsCount()
         The list of input bindings.
         
        repeated string bindings = 1;
        Returns:
        The count of bindings.
      • getBindings

        String getBindings(int index)
         The list of input bindings.
         
        repeated string bindings = 1;
        Parameters:
        index - The index of the element to return.
        Returns:
        The bindings at the given index.
      • getBindingsBytes

        com.google.protobuf.ByteString getBindingsBytes(int index)
         The list of input bindings.
         
        repeated string bindings = 1;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the bindings at the given index.

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder.html ================================================ DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder>
    io.dapr.v1.DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.ListTopicSubscriptionsResponse

    public static final class DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder> implements DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder
     ListTopicSubscriptionsResponse is the message including the list of the subscribing topics.
     
    Protobuf type dapr.proto.runtime.v1.ListTopicSubscriptionsResponse

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.ListTopicSubscriptionsResponse.html ================================================ DaprAppCallbackProtos.ListTopicSubscriptionsResponse (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.ListTopicSubscriptionsResponse

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.ListTopicSubscriptionsResponse
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.ListTopicSubscriptionsResponse extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder
     ListTopicSubscriptionsResponse is the message including the list of the subscribing topics.
     
    Protobuf type dapr.proto.runtime.v1.ListTopicSubscriptionsResponse
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder.html ================================================ DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.ListTopicSubscriptionsResponse, DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Details

      • getSubscriptionsList

         The list of topics.
         
        repeated .dapr.proto.runtime.v1.TopicSubscription subscriptions = 1;
      • getSubscriptions

        DaprAppCallbackProtos.TopicSubscription getSubscriptions(int index)
         The list of topics.
         
        repeated .dapr.proto.runtime.v1.TopicSubscription subscriptions = 1;
      • getSubscriptionsCount

        int getSubscriptionsCount()
         The list of topics.
         
        repeated .dapr.proto.runtime.v1.TopicSubscription subscriptions = 1;
      • getSubscriptionsOrBuilderList

        List<? extends DaprAppCallbackProtos.TopicSubscriptionOrBuilder> getSubscriptionsOrBuilderList()
         The list of topics.
         
        repeated .dapr.proto.runtime.v1.TopicSubscription subscriptions = 1;
      • getSubscriptionsOrBuilder

        DaprAppCallbackProtos.TopicSubscriptionOrBuilder getSubscriptionsOrBuilder(int index)
         The list of topics.
         
        repeated .dapr.proto.runtime.v1.TopicSubscription subscriptions = 1;

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkRequest.Builder.html ================================================ DaprAppCallbackProtos.TopicEventBulkRequest.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventBulkRequest.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventBulkRequest.Builder>
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.TopicEventBulkRequest

    public static final class DaprAppCallbackProtos.TopicEventBulkRequest.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventBulkRequest.Builder> implements DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder
     TopicEventBulkRequest represents request for bulk message
     
    Protobuf type dapr.proto.runtime.v1.TopicEventBulkRequest

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkRequest.html ================================================ DaprAppCallbackProtos.TopicEventBulkRequest (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventBulkRequest

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.TopicEventBulkRequest extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder
     TopicEventBulkRequest represents request for bulk message
     
    Protobuf type dapr.proto.runtime.v1.TopicEventBulkRequest
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder.html ================================================ DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder>
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.TopicEventBulkRequestEntry

    public static final class DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder> implements DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder
     TopicEventBulkRequestEntry represents a single message inside a bulk request
     
    Protobuf type dapr.proto.runtime.v1.TopicEventBulkRequestEntry

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase.html ================================================ DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Enum DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase

    java.lang.Object
    java.lang.Enum<DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase>
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase
    All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, Serializable, Comparable<DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase>
    Enclosing class:
    DaprAppCallbackProtos.TopicEventBulkRequestEntry

    public static enum DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase extends Enum<DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase> implements com.google.protobuf.Internal.EnumLite

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkRequestEntry.html ================================================ DaprAppCallbackProtos.TopicEventBulkRequestEntry (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventBulkRequestEntry

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.TopicEventBulkRequestEntry extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder
     TopicEventBulkRequestEntry represents a single message inside a bulk request
     
    Protobuf type dapr.proto.runtime.v1.TopicEventBulkRequestEntry
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder.html ================================================ DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.TopicEventBulkRequestEntry, DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Details

      • getEntryId

        String getEntryId()
         Unique identifier for the message.
         
        string entry_id = 1;
        Returns:
        The entryId.
      • getEntryIdBytes

        com.google.protobuf.ByteString getEntryIdBytes()
         Unique identifier for the message.
         
        string entry_id = 1;
        Returns:
        The bytes for entryId.
      • hasBytes

        boolean hasBytes()
        bytes bytes = 2;
        Returns:
        Whether the bytes field is set.
      • getBytes

        com.google.protobuf.ByteString getBytes()
        bytes bytes = 2;
        Returns:
        The bytes.
      • hasCloudEvent

        boolean hasCloudEvent()
        .dapr.proto.runtime.v1.TopicEventCERequest cloud_event = 3;
        Returns:
        Whether the cloudEvent field is set.
      • getCloudEvent

        .dapr.proto.runtime.v1.TopicEventCERequest cloud_event = 3;
        Returns:
        The cloudEvent.
      • getCloudEventOrBuilder

        .dapr.proto.runtime.v1.TopicEventCERequest cloud_event = 3;
      • getContentType

        String getContentType()
         content type of the event contained.
         
        string content_type = 4;
        Returns:
        The contentType.
      • getContentTypeBytes

        com.google.protobuf.ByteString getContentTypeBytes()
         content type of the event contained.
         
        string content_type = 4;
        Returns:
        The bytes for contentType.
      • getMetadataCount

        int getMetadataCount()
         The metadata associated with the event.
         
        map<string, string> metadata = 5;
      • containsMetadata

        boolean containsMetadata(String key)
         The metadata associated with the event.
         
        map<string, string> metadata = 5;
      • getMetadata

        @Deprecated Map<String,String> getMetadata()
        Deprecated.
        Use getMetadataMap() instead.
      • getMetadataMap

        Map<String,String> getMetadataMap()
         The metadata associated with the event.
         
        map<string, string> metadata = 5;
      • getMetadataOrDefault

        String getMetadataOrDefault(String key, String defaultValue)
         The metadata associated with the event.
         
        map<string, string> metadata = 5;
      • getMetadataOrThrow

        String getMetadataOrThrow(String key)
         The metadata associated with the event.
         
        map<string, string> metadata = 5;
      • getEventCase


    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder.html ================================================ DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.TopicEventBulkRequest, DaprAppCallbackProtos.TopicEventBulkRequest.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Details

      • getId

        String getId()
         Unique identifier for the bulk request.
         
        string id = 1;
        Returns:
        The id.
      • getIdBytes

        com.google.protobuf.ByteString getIdBytes()
         Unique identifier for the bulk request.
         
        string id = 1;
        Returns:
        The bytes for id.
      • getEntriesList

         The list of items inside this bulk request.
         
        repeated .dapr.proto.runtime.v1.TopicEventBulkRequestEntry entries = 2;
      • getEntries

         The list of items inside this bulk request.
         
        repeated .dapr.proto.runtime.v1.TopicEventBulkRequestEntry entries = 2;
      • getEntriesCount

        int getEntriesCount()
         The list of items inside this bulk request.
         
        repeated .dapr.proto.runtime.v1.TopicEventBulkRequestEntry entries = 2;
      • getEntriesOrBuilderList

         The list of items inside this bulk request.
         
        repeated .dapr.proto.runtime.v1.TopicEventBulkRequestEntry entries = 2;
      • getEntriesOrBuilder

         The list of items inside this bulk request.
         
        repeated .dapr.proto.runtime.v1.TopicEventBulkRequestEntry entries = 2;
      • getMetadataCount

        int getMetadataCount()
         The metadata associated with the this bulk request.
         
        map<string, string> metadata = 3;
      • containsMetadata

        boolean containsMetadata(String key)
         The metadata associated with the this bulk request.
         
        map<string, string> metadata = 3;
      • getMetadata

        @Deprecated Map<String,String> getMetadata()
        Deprecated.
        Use getMetadataMap() instead.
      • getMetadataMap

        Map<String,String> getMetadataMap()
         The metadata associated with the this bulk request.
         
        map<string, string> metadata = 3;
      • getMetadataOrDefault

        String getMetadataOrDefault(String key, String defaultValue)
         The metadata associated with the this bulk request.
         
        map<string, string> metadata = 3;
      • getMetadataOrThrow

        String getMetadataOrThrow(String key)
         The metadata associated with the this bulk request.
         
        map<string, string> metadata = 3;
      • getTopic

        String getTopic()
         The pubsub topic which publisher sent to.
         
        string topic = 4;
        Returns:
        The topic.
      • getTopicBytes

        com.google.protobuf.ByteString getTopicBytes()
         The pubsub topic which publisher sent to.
         
        string topic = 4;
        Returns:
        The bytes for topic.
      • getPubsubName

        String getPubsubName()
         The name of the pubsub the publisher sent to.
         
        string pubsub_name = 5;
        Returns:
        The pubsubName.
      • getPubsubNameBytes

        com.google.protobuf.ByteString getPubsubNameBytes()
         The name of the pubsub the publisher sent to.
         
        string pubsub_name = 5;
        Returns:
        The bytes for pubsubName.
      • getType

        String getType()
         The type of event related to the originating occurrence. 
         
        string type = 6;
        Returns:
        The type.
      • getTypeBytes

        com.google.protobuf.ByteString getTypeBytes()
         The type of event related to the originating occurrence. 
         
        string type = 6;
        Returns:
        The bytes for type.
      • getPath

        String getPath()
         The matching path from TopicSubscription/routes (if specified) for this event.
         This value is used by OnTopicEvent to "switch" inside the handler.
         
        string path = 7;
        Returns:
        The path.
      • getPathBytes

        com.google.protobuf.ByteString getPathBytes()
         The matching path from TopicSubscription/routes (if specified) for this event.
         This value is used by OnTopicEvent to "switch" inside the handler.
         
        string path = 7;
        Returns:
        The bytes for path.

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkResponse.Builder.html ================================================ DaprAppCallbackProtos.TopicEventBulkResponse.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventBulkResponse.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventBulkResponse.Builder>
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponse.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.TopicEventBulkResponse

    public static final class DaprAppCallbackProtos.TopicEventBulkResponse.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventBulkResponse.Builder> implements DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder
     AppBulkResponse is response from app on published message
     
    Protobuf type dapr.proto.runtime.v1.TopicEventBulkResponse

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkResponse.html ================================================ DaprAppCallbackProtos.TopicEventBulkResponse (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventBulkResponse

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponse
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.TopicEventBulkResponse extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder
     AppBulkResponse is response from app on published message
     
    Protobuf type dapr.proto.runtime.v1.TopicEventBulkResponse
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder.html ================================================ DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder>
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.TopicEventBulkResponseEntry

    public static final class DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder> implements DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder
     TopicEventBulkResponseEntry Represents single response, as part of TopicEventBulkResponse, to be
     sent by subscibed App for the corresponding single message during bulk subscribe
     
    Protobuf type dapr.proto.runtime.v1.TopicEventBulkResponseEntry

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkResponseEntry.html ================================================ DaprAppCallbackProtos.TopicEventBulkResponseEntry (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventBulkResponseEntry

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.TopicEventBulkResponseEntry extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder
     TopicEventBulkResponseEntry Represents single response, as part of TopicEventBulkResponse, to be
     sent by subscibed App for the corresponding single message during bulk subscribe
     
    Protobuf type dapr.proto.runtime.v1.TopicEventBulkResponseEntry
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder.html ================================================ DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.TopicEventBulkResponseEntry, DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      Unique identifier associated the message.
      com.google.protobuf.ByteString
      Unique identifier associated the message.
      The status of the response.
      int
      The status of the response.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getEntryId

        String getEntryId()
         Unique identifier associated the message.
         
        string entry_id = 1;
        Returns:
        The entryId.
      • getEntryIdBytes

        com.google.protobuf.ByteString getEntryIdBytes()
         Unique identifier associated the message.
         
        string entry_id = 1;
        Returns:
        The bytes for entryId.
      • getStatusValue

        int getStatusValue()
         The status of the response.
         
        .dapr.proto.runtime.v1.TopicEventResponse.TopicEventResponseStatus status = 2;
        Returns:
        The enum numeric value on the wire for status.
      • getStatus

         The status of the response.
         
        .dapr.proto.runtime.v1.TopicEventResponse.TopicEventResponseStatus status = 2;
        Returns:
        The status.

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder.html ================================================ DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.TopicEventBulkResponse, DaprAppCallbackProtos.TopicEventBulkResponse.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder extends com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventCERequest.Builder.html ================================================ DaprAppCallbackProtos.TopicEventCERequest.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventCERequest.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventCERequest.Builder>
    io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequest.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventCERequestOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.TopicEventCERequest

    public static final class DaprAppCallbackProtos.TopicEventCERequest.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventCERequest.Builder> implements DaprAppCallbackProtos.TopicEventCERequestOrBuilder
     TopicEventCERequest message is compatible with CloudEvent spec v1.0
     
    Protobuf type dapr.proto.runtime.v1.TopicEventCERequest

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventCERequest.html ================================================ DaprAppCallbackProtos.TopicEventCERequest (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventCERequest

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequest
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventCERequestOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.TopicEventCERequest extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.TopicEventCERequestOrBuilder
     TopicEventCERequest message is compatible with CloudEvent spec v1.0
     
    Protobuf type dapr.proto.runtime.v1.TopicEventCERequest
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventCERequestOrBuilder.html ================================================ DaprAppCallbackProtos.TopicEventCERequestOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.TopicEventCERequestOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.TopicEventCERequest, DaprAppCallbackProtos.TopicEventCERequest.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.TopicEventCERequestOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      com.google.protobuf.ByteString
      The content of the event.
      The content type of data value.
      com.google.protobuf.ByteString
      The content type of data value.
      com.google.protobuf.Struct
      Custom attributes which includes cloud event extensions.
      com.google.protobuf.StructOrBuilder
      Custom attributes which includes cloud event extensions.
      The unique identifier of this cloud event.
      com.google.protobuf.ByteString
      The unique identifier of this cloud event.
      source identifies the context in which an event happened.
      com.google.protobuf.ByteString
      source identifies the context in which an event happened.
      The version of the CloudEvents specification.
      com.google.protobuf.ByteString
      The version of the CloudEvents specification.
      The type of event related to the originating occurrence.
      com.google.protobuf.ByteString
      The type of event related to the originating occurrence.
      boolean
      Custom attributes which includes cloud event extensions.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getId

        String getId()
         The unique identifier of this cloud event.
         
        string id = 1;
        Returns:
        The id.
      • getIdBytes

        com.google.protobuf.ByteString getIdBytes()
         The unique identifier of this cloud event.
         
        string id = 1;
        Returns:
        The bytes for id.
      • getSource

        String getSource()
         source identifies the context in which an event happened.
         
        string source = 2;
        Returns:
        The source.
      • getSourceBytes

        com.google.protobuf.ByteString getSourceBytes()
         source identifies the context in which an event happened.
         
        string source = 2;
        Returns:
        The bytes for source.
      • getType

        String getType()
         The type of event related to the originating occurrence. 
         
        string type = 3;
        Returns:
        The type.
      • getTypeBytes

        com.google.protobuf.ByteString getTypeBytes()
         The type of event related to the originating occurrence. 
         
        string type = 3;
        Returns:
        The bytes for type.
      • getSpecVersion

        String getSpecVersion()
         The version of the CloudEvents specification. 
         
        string spec_version = 4;
        Returns:
        The specVersion.
      • getSpecVersionBytes

        com.google.protobuf.ByteString getSpecVersionBytes()
         The version of the CloudEvents specification. 
         
        string spec_version = 4;
        Returns:
        The bytes for specVersion.
      • getDataContentType

        String getDataContentType()
         The content type of data value.
         
        string data_content_type = 5;
        Returns:
        The dataContentType.
      • getDataContentTypeBytes

        com.google.protobuf.ByteString getDataContentTypeBytes()
         The content type of data value.
         
        string data_content_type = 5;
        Returns:
        The bytes for dataContentType.
      • getData

        com.google.protobuf.ByteString getData()
         The content of the event.
         
        bytes data = 6;
        Returns:
        The data.
      • hasExtensions

        boolean hasExtensions()
         Custom attributes which includes cloud event extensions.
         
        .google.protobuf.Struct extensions = 7;
        Returns:
        Whether the extensions field is set.
      • getExtensions

        com.google.protobuf.Struct getExtensions()
         Custom attributes which includes cloud event extensions.
         
        .google.protobuf.Struct extensions = 7;
        Returns:
        The extensions.
      • getExtensionsOrBuilder

        com.google.protobuf.StructOrBuilder getExtensionsOrBuilder()
         Custom attributes which includes cloud event extensions.
         
        .google.protobuf.Struct extensions = 7;

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventRequest.Builder.html ================================================ DaprAppCallbackProtos.TopicEventRequest.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventRequest.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
    io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventRequestOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.TopicEventRequest

    public static final class DaprAppCallbackProtos.TopicEventRequest.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder> implements DaprAppCallbackProtos.TopicEventRequestOrBuilder
     TopicEventRequest message is compatible with CloudEvent spec v1.0
     https://github.com/cloudevents/spec/blob/v1.0/spec.md
     
    Protobuf type dapr.proto.runtime.v1.TopicEventRequest
    • Method Details

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • clear

        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • getDefaultInstanceForType

        public DaprAppCallbackProtos.TopicEventRequest getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • setField

        public DaprAppCallbackProtos.TopicEventRequest.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • clearField

        public DaprAppCallbackProtos.TopicEventRequest.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • clearOneof

        public DaprAppCallbackProtos.TopicEventRequest.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • setRepeatedField

        public DaprAppCallbackProtos.TopicEventRequest.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • addRepeatedField

        public DaprAppCallbackProtos.TopicEventRequest.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • mergeFrom

        public DaprAppCallbackProtos.TopicEventRequest.Builder mergeFrom(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • mergeFrom

      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • mergeFrom

        public DaprAppCallbackProtos.TopicEventRequest.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
        Throws:
        IOException
      • getId

        public String getId()
         id identifies the event. Producers MUST ensure that source + id 
         is unique for each distinct event. If a duplicate event is re-sent
         (e.g. due to a network error) it MAY have the same id. 
         
        string id = 1;
        Specified by:
        getId in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The id.
      • getIdBytes

        public com.google.protobuf.ByteString getIdBytes()
         id identifies the event. Producers MUST ensure that source + id 
         is unique for each distinct event. If a duplicate event is re-sent
         (e.g. due to a network error) it MAY have the same id. 
         
        string id = 1;
        Specified by:
        getIdBytes in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The bytes for id.
      • setId

         id identifies the event. Producers MUST ensure that source + id 
         is unique for each distinct event. If a duplicate event is re-sent
         (e.g. due to a network error) it MAY have the same id. 
         
        string id = 1;
        Parameters:
        value - The id to set.
        Returns:
        This builder for chaining.
      • clearId

         id identifies the event. Producers MUST ensure that source + id 
         is unique for each distinct event. If a duplicate event is re-sent
         (e.g. due to a network error) it MAY have the same id. 
         
        string id = 1;
        Returns:
        This builder for chaining.
      • setIdBytes

        public DaprAppCallbackProtos.TopicEventRequest.Builder setIdBytes(com.google.protobuf.ByteString value)
         id identifies the event. Producers MUST ensure that source + id 
         is unique for each distinct event. If a duplicate event is re-sent
         (e.g. due to a network error) it MAY have the same id. 
         
        string id = 1;
        Parameters:
        value - The bytes for id to set.
        Returns:
        This builder for chaining.
      • getSource

        public String getSource()
         source identifies the context in which an event happened.
         Often this will include information such as the type of the
         event source, the organization publishing the event or the process
         that produced the event. The exact syntax and semantics behind
         the data encoded in the URI is defined by the event producer.
         
        string source = 2;
        Specified by:
        getSource in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The source.
      • getSourceBytes

        public com.google.protobuf.ByteString getSourceBytes()
         source identifies the context in which an event happened.
         Often this will include information such as the type of the
         event source, the organization publishing the event or the process
         that produced the event. The exact syntax and semantics behind
         the data encoded in the URI is defined by the event producer.
         
        string source = 2;
        Specified by:
        getSourceBytes in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The bytes for source.
      • setSource

         source identifies the context in which an event happened.
         Often this will include information such as the type of the
         event source, the organization publishing the event or the process
         that produced the event. The exact syntax and semantics behind
         the data encoded in the URI is defined by the event producer.
         
        string source = 2;
        Parameters:
        value - The source to set.
        Returns:
        This builder for chaining.
      • clearSource

         source identifies the context in which an event happened.
         Often this will include information such as the type of the
         event source, the organization publishing the event or the process
         that produced the event. The exact syntax and semantics behind
         the data encoded in the URI is defined by the event producer.
         
        string source = 2;
        Returns:
        This builder for chaining.
      • setSourceBytes

        public DaprAppCallbackProtos.TopicEventRequest.Builder setSourceBytes(com.google.protobuf.ByteString value)
         source identifies the context in which an event happened.
         Often this will include information such as the type of the
         event source, the organization publishing the event or the process
         that produced the event. The exact syntax and semantics behind
         the data encoded in the URI is defined by the event producer.
         
        string source = 2;
        Parameters:
        value - The bytes for source to set.
        Returns:
        This builder for chaining.
      • getType

        public String getType()
         The type of event related to the originating occurrence. 
         
        string type = 3;
        Specified by:
        getType in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The type.
      • getTypeBytes

        public com.google.protobuf.ByteString getTypeBytes()
         The type of event related to the originating occurrence. 
         
        string type = 3;
        Specified by:
        getTypeBytes in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The bytes for type.
      • setType

         The type of event related to the originating occurrence. 
         
        string type = 3;
        Parameters:
        value - The type to set.
        Returns:
        This builder for chaining.
      • clearType

         The type of event related to the originating occurrence. 
         
        string type = 3;
        Returns:
        This builder for chaining.
      • setTypeBytes

        public DaprAppCallbackProtos.TopicEventRequest.Builder setTypeBytes(com.google.protobuf.ByteString value)
         The type of event related to the originating occurrence. 
         
        string type = 3;
        Parameters:
        value - The bytes for type to set.
        Returns:
        This builder for chaining.
      • getSpecVersion

        public String getSpecVersion()
         The version of the CloudEvents specification. 
         
        string spec_version = 4;
        Specified by:
        getSpecVersion in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The specVersion.
      • getSpecVersionBytes

        public com.google.protobuf.ByteString getSpecVersionBytes()
         The version of the CloudEvents specification. 
         
        string spec_version = 4;
        Specified by:
        getSpecVersionBytes in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The bytes for specVersion.
      • setSpecVersion

         The version of the CloudEvents specification. 
         
        string spec_version = 4;
        Parameters:
        value - The specVersion to set.
        Returns:
        This builder for chaining.
      • clearSpecVersion

         The version of the CloudEvents specification. 
         
        string spec_version = 4;
        Returns:
        This builder for chaining.
      • setSpecVersionBytes

        public DaprAppCallbackProtos.TopicEventRequest.Builder setSpecVersionBytes(com.google.protobuf.ByteString value)
         The version of the CloudEvents specification. 
         
        string spec_version = 4;
        Parameters:
        value - The bytes for specVersion to set.
        Returns:
        This builder for chaining.
      • getDataContentType

        public String getDataContentType()
         The content type of data value.
         
        string data_content_type = 5;
        Specified by:
        getDataContentType in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The dataContentType.
      • getDataContentTypeBytes

        public com.google.protobuf.ByteString getDataContentTypeBytes()
         The content type of data value.
         
        string data_content_type = 5;
        Specified by:
        getDataContentTypeBytes in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The bytes for dataContentType.
      • setDataContentType

        public DaprAppCallbackProtos.TopicEventRequest.Builder setDataContentType(String value)
         The content type of data value.
         
        string data_content_type = 5;
        Parameters:
        value - The dataContentType to set.
        Returns:
        This builder for chaining.
      • clearDataContentType

        public DaprAppCallbackProtos.TopicEventRequest.Builder clearDataContentType()
         The content type of data value.
         
        string data_content_type = 5;
        Returns:
        This builder for chaining.
      • setDataContentTypeBytes

        public DaprAppCallbackProtos.TopicEventRequest.Builder setDataContentTypeBytes(com.google.protobuf.ByteString value)
         The content type of data value.
         
        string data_content_type = 5;
        Parameters:
        value - The bytes for dataContentType to set.
        Returns:
        This builder for chaining.
      • getData

        public com.google.protobuf.ByteString getData()
         The content of the event.
         
        bytes data = 7;
        Specified by:
        getData in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The data.
      • setData

        public DaprAppCallbackProtos.TopicEventRequest.Builder setData(com.google.protobuf.ByteString value)
         The content of the event.
         
        bytes data = 7;
        Parameters:
        value - The data to set.
        Returns:
        This builder for chaining.
      • clearData

         The content of the event.
         
        bytes data = 7;
        Returns:
        This builder for chaining.
      • getTopic

        public String getTopic()
         The pubsub topic which publisher sent to.
         
        string topic = 6;
        Specified by:
        getTopic in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The topic.
      • getTopicBytes

        public com.google.protobuf.ByteString getTopicBytes()
         The pubsub topic which publisher sent to.
         
        string topic = 6;
        Specified by:
        getTopicBytes in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The bytes for topic.
      • setTopic

         The pubsub topic which publisher sent to.
         
        string topic = 6;
        Parameters:
        value - The topic to set.
        Returns:
        This builder for chaining.
      • clearTopic

         The pubsub topic which publisher sent to.
         
        string topic = 6;
        Returns:
        This builder for chaining.
      • setTopicBytes

        public DaprAppCallbackProtos.TopicEventRequest.Builder setTopicBytes(com.google.protobuf.ByteString value)
         The pubsub topic which publisher sent to.
         
        string topic = 6;
        Parameters:
        value - The bytes for topic to set.
        Returns:
        This builder for chaining.
      • getPubsubName

        public String getPubsubName()
         The name of the pubsub the publisher sent to.
         
        string pubsub_name = 8;
        Specified by:
        getPubsubName in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The pubsubName.
      • getPubsubNameBytes

        public com.google.protobuf.ByteString getPubsubNameBytes()
         The name of the pubsub the publisher sent to.
         
        string pubsub_name = 8;
        Specified by:
        getPubsubNameBytes in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The bytes for pubsubName.
      • setPubsubName

         The name of the pubsub the publisher sent to.
         
        string pubsub_name = 8;
        Parameters:
        value - The pubsubName to set.
        Returns:
        This builder for chaining.
      • clearPubsubName

         The name of the pubsub the publisher sent to.
         
        string pubsub_name = 8;
        Returns:
        This builder for chaining.
      • setPubsubNameBytes

        public DaprAppCallbackProtos.TopicEventRequest.Builder setPubsubNameBytes(com.google.protobuf.ByteString value)
         The name of the pubsub the publisher sent to.
         
        string pubsub_name = 8;
        Parameters:
        value - The bytes for pubsubName to set.
        Returns:
        This builder for chaining.
      • getPath

        public String getPath()
         The matching path from TopicSubscription/routes (if specified) for this event.
         This value is used by OnTopicEvent to "switch" inside the handler.
         
        string path = 9;
        Specified by:
        getPath in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The path.
      • getPathBytes

        public com.google.protobuf.ByteString getPathBytes()
         The matching path from TopicSubscription/routes (if specified) for this event.
         This value is used by OnTopicEvent to "switch" inside the handler.
         
        string path = 9;
        Specified by:
        getPathBytes in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The bytes for path.
      • setPath

         The matching path from TopicSubscription/routes (if specified) for this event.
         This value is used by OnTopicEvent to "switch" inside the handler.
         
        string path = 9;
        Parameters:
        value - The path to set.
        Returns:
        This builder for chaining.
      • clearPath

         The matching path from TopicSubscription/routes (if specified) for this event.
         This value is used by OnTopicEvent to "switch" inside the handler.
         
        string path = 9;
        Returns:
        This builder for chaining.
      • setPathBytes

        public DaprAppCallbackProtos.TopicEventRequest.Builder setPathBytes(com.google.protobuf.ByteString value)
         The matching path from TopicSubscription/routes (if specified) for this event.
         This value is used by OnTopicEvent to "switch" inside the handler.
         
        string path = 9;
        Parameters:
        value - The bytes for path to set.
        Returns:
        This builder for chaining.
      • hasExtensions

        public boolean hasExtensions()
         The map of additional custom properties to be sent to the app. These are considered to be cloud event extensions.
         
        .google.protobuf.Struct extensions = 10;
        Specified by:
        hasExtensions in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        Whether the extensions field is set.
      • getExtensions

        public com.google.protobuf.Struct getExtensions()
         The map of additional custom properties to be sent to the app. These are considered to be cloud event extensions.
         
        .google.protobuf.Struct extensions = 10;
        Specified by:
        getExtensions in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
        Returns:
        The extensions.
      • setExtensions

        public DaprAppCallbackProtos.TopicEventRequest.Builder setExtensions(com.google.protobuf.Struct value)
         The map of additional custom properties to be sent to the app. These are considered to be cloud event extensions.
         
        .google.protobuf.Struct extensions = 10;
      • setExtensions

        public DaprAppCallbackProtos.TopicEventRequest.Builder setExtensions(com.google.protobuf.Struct.Builder builderForValue)
         The map of additional custom properties to be sent to the app. These are considered to be cloud event extensions.
         
        .google.protobuf.Struct extensions = 10;
      • mergeExtensions

        public DaprAppCallbackProtos.TopicEventRequest.Builder mergeExtensions(com.google.protobuf.Struct value)
         The map of additional custom properties to be sent to the app. These are considered to be cloud event extensions.
         
        .google.protobuf.Struct extensions = 10;
      • clearExtensions

         The map of additional custom properties to be sent to the app. These are considered to be cloud event extensions.
         
        .google.protobuf.Struct extensions = 10;
      • getExtensionsBuilder

        public com.google.protobuf.Struct.Builder getExtensionsBuilder()
         The map of additional custom properties to be sent to the app. These are considered to be cloud event extensions.
         
        .google.protobuf.Struct extensions = 10;
      • getExtensionsOrBuilder

        public com.google.protobuf.StructOrBuilder getExtensionsOrBuilder()
         The map of additional custom properties to be sent to the app. These are considered to be cloud event extensions.
         
        .google.protobuf.Struct extensions = 10;
        Specified by:
        getExtensionsOrBuilder in interface DaprAppCallbackProtos.TopicEventRequestOrBuilder
      • setUnknownFields

        public final DaprAppCallbackProtos.TopicEventRequest.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>
      • mergeUnknownFields

        public final DaprAppCallbackProtos.TopicEventRequest.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventRequest.Builder>

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventRequest.html ================================================ DaprAppCallbackProtos.TopicEventRequest (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventRequest

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventRequestOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.TopicEventRequest extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.TopicEventRequestOrBuilder
     TopicEventRequest message is compatible with CloudEvent spec v1.0
     https://github.com/cloudevents/spec/blob/v1.0/spec.md
     
    Protobuf type dapr.proto.runtime.v1.TopicEventRequest
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventRequestOrBuilder.html ================================================ DaprAppCallbackProtos.TopicEventRequestOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.TopicEventRequestOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.TopicEventRequest, DaprAppCallbackProtos.TopicEventRequest.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.TopicEventRequestOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      com.google.protobuf.ByteString
      The content of the event.
      The content type of data value.
      com.google.protobuf.ByteString
      The content type of data value.
      com.google.protobuf.Struct
      The map of additional custom properties to be sent to the app.
      com.google.protobuf.StructOrBuilder
      The map of additional custom properties to be sent to the app.
      id identifies the event.
      com.google.protobuf.ByteString
      id identifies the event.
      The matching path from TopicSubscription/routes (if specified) for this event.
      com.google.protobuf.ByteString
      The matching path from TopicSubscription/routes (if specified) for this event.
      The name of the pubsub the publisher sent to.
      com.google.protobuf.ByteString
      The name of the pubsub the publisher sent to.
      source identifies the context in which an event happened.
      com.google.protobuf.ByteString
      source identifies the context in which an event happened.
      The version of the CloudEvents specification.
      com.google.protobuf.ByteString
      The version of the CloudEvents specification.
      The pubsub topic which publisher sent to.
      com.google.protobuf.ByteString
      The pubsub topic which publisher sent to.
      The type of event related to the originating occurrence.
      com.google.protobuf.ByteString
      The type of event related to the originating occurrence.
      boolean
      The map of additional custom properties to be sent to the app.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getId

        String getId()
         id identifies the event. Producers MUST ensure that source + id 
         is unique for each distinct event. If a duplicate event is re-sent
         (e.g. due to a network error) it MAY have the same id. 
         
        string id = 1;
        Returns:
        The id.
      • getIdBytes

        com.google.protobuf.ByteString getIdBytes()
         id identifies the event. Producers MUST ensure that source + id 
         is unique for each distinct event. If a duplicate event is re-sent
         (e.g. due to a network error) it MAY have the same id. 
         
        string id = 1;
        Returns:
        The bytes for id.
      • getSource

        String getSource()
         source identifies the context in which an event happened.
         Often this will include information such as the type of the
         event source, the organization publishing the event or the process
         that produced the event. The exact syntax and semantics behind
         the data encoded in the URI is defined by the event producer.
         
        string source = 2;
        Returns:
        The source.
      • getSourceBytes

        com.google.protobuf.ByteString getSourceBytes()
         source identifies the context in which an event happened.
         Often this will include information such as the type of the
         event source, the organization publishing the event or the process
         that produced the event. The exact syntax and semantics behind
         the data encoded in the URI is defined by the event producer.
         
        string source = 2;
        Returns:
        The bytes for source.
      • getType

        String getType()
         The type of event related to the originating occurrence. 
         
        string type = 3;
        Returns:
        The type.
      • getTypeBytes

        com.google.protobuf.ByteString getTypeBytes()
         The type of event related to the originating occurrence. 
         
        string type = 3;
        Returns:
        The bytes for type.
      • getSpecVersion

        String getSpecVersion()
         The version of the CloudEvents specification. 
         
        string spec_version = 4;
        Returns:
        The specVersion.
      • getSpecVersionBytes

        com.google.protobuf.ByteString getSpecVersionBytes()
         The version of the CloudEvents specification. 
         
        string spec_version = 4;
        Returns:
        The bytes for specVersion.
      • getDataContentType

        String getDataContentType()
         The content type of data value.
         
        string data_content_type = 5;
        Returns:
        The dataContentType.
      • getDataContentTypeBytes

        com.google.protobuf.ByteString getDataContentTypeBytes()
         The content type of data value.
         
        string data_content_type = 5;
        Returns:
        The bytes for dataContentType.
      • getData

        com.google.protobuf.ByteString getData()
         The content of the event.
         
        bytes data = 7;
        Returns:
        The data.
      • getTopic

        String getTopic()
         The pubsub topic which publisher sent to.
         
        string topic = 6;
        Returns:
        The topic.
      • getTopicBytes

        com.google.protobuf.ByteString getTopicBytes()
         The pubsub topic which publisher sent to.
         
        string topic = 6;
        Returns:
        The bytes for topic.
      • getPubsubName

        String getPubsubName()
         The name of the pubsub the publisher sent to.
         
        string pubsub_name = 8;
        Returns:
        The pubsubName.
      • getPubsubNameBytes

        com.google.protobuf.ByteString getPubsubNameBytes()
         The name of the pubsub the publisher sent to.
         
        string pubsub_name = 8;
        Returns:
        The bytes for pubsubName.
      • getPath

        String getPath()
         The matching path from TopicSubscription/routes (if specified) for this event.
         This value is used by OnTopicEvent to "switch" inside the handler.
         
        string path = 9;
        Returns:
        The path.
      • getPathBytes

        com.google.protobuf.ByteString getPathBytes()
         The matching path from TopicSubscription/routes (if specified) for this event.
         This value is used by OnTopicEvent to "switch" inside the handler.
         
        string path = 9;
        Returns:
        The bytes for path.
      • hasExtensions

        boolean hasExtensions()
         The map of additional custom properties to be sent to the app. These are considered to be cloud event extensions.
         
        .google.protobuf.Struct extensions = 10;
        Returns:
        Whether the extensions field is set.
      • getExtensions

        com.google.protobuf.Struct getExtensions()
         The map of additional custom properties to be sent to the app. These are considered to be cloud event extensions.
         
        .google.protobuf.Struct extensions = 10;
        Returns:
        The extensions.
      • getExtensionsOrBuilder

        com.google.protobuf.StructOrBuilder getExtensionsOrBuilder()
         The map of additional custom properties to be sent to the app. These are considered to be cloud event extensions.
         
        .google.protobuf.Struct extensions = 10;

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventResponse.Builder.html ================================================ DaprAppCallbackProtos.TopicEventResponse.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventResponse.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventResponse.Builder>
    io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventResponseOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.TopicEventResponse

    public static final class DaprAppCallbackProtos.TopicEventResponse.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicEventResponse.Builder> implements DaprAppCallbackProtos.TopicEventResponseOrBuilder
     TopicEventResponse is response from app on published message
     
    Protobuf type dapr.proto.runtime.v1.TopicEventResponse

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.html ================================================ DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Enum DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus

    java.lang.Object
    java.lang.Enum<DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus>
    io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus
    All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, Serializable, Comparable<DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus>
    Enclosing class:
    DaprAppCallbackProtos.TopicEventResponse

    public static enum DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus extends Enum<DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus> implements com.google.protobuf.ProtocolMessageEnum
     TopicEventResponseStatus allows apps to have finer control over handling of the message.
     
    Protobuf enum dapr.proto.runtime.v1.TopicEventResponse.TopicEventResponseStatus
    • Enum Constant Details

    • Field Details

      • SUCCESS_VALUE

        public static final int SUCCESS_VALUE
         SUCCESS is the default behavior: message is acknowledged and not retried or logged.
         
        SUCCESS = 0;
        See Also:
      • RETRY_VALUE

        public static final int RETRY_VALUE
         RETRY status signals Dapr to retry the message as part of an expected scenario (no warning is logged).
         
        RETRY = 1;
        See Also:
      • DROP_VALUE

        public static final int DROP_VALUE
         DROP status signals Dapr to drop the message as part of an unexpected scenario (warning is logged).
         
        DROP = 2;
        See Also:
    • Method Details

      • values

        Returns an array containing the constants of this enum type, in the order they are declared.
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        Deprecated.
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • forNumber

        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • internalGetValueMap

        public static com.google.protobuf.Internal.EnumLiteMap<DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus> internalGetValueMap()
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventResponse.html ================================================ DaprAppCallbackProtos.TopicEventResponse (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicEventResponse

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicEventResponseOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.TopicEventResponse extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.TopicEventResponseOrBuilder
     TopicEventResponse is response from app on published message
     
    Protobuf type dapr.proto.runtime.v1.TopicEventResponse
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicEventResponseOrBuilder.html ================================================ DaprAppCallbackProtos.TopicEventResponseOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.TopicEventResponseOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.TopicEventResponse, DaprAppCallbackProtos.TopicEventResponse.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.TopicEventResponseOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      The list of output bindings.
      int
      The list of output bindings.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getStatusValue

        int getStatusValue()
         The list of output bindings.
         
        .dapr.proto.runtime.v1.TopicEventResponse.TopicEventResponseStatus status = 1;
        Returns:
        The enum numeric value on the wire for status.
      • getStatus

         The list of output bindings.
         
        .dapr.proto.runtime.v1.TopicEventResponse.TopicEventResponseStatus status = 1;
        Returns:
        The status.

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicRoutes.Builder.html ================================================ DaprAppCallbackProtos.TopicRoutes.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicRoutes.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRoutes.Builder>
    io.dapr.v1.DaprAppCallbackProtos.TopicRoutes.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicRoutesOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.TopicRoutes

    public static final class DaprAppCallbackProtos.TopicRoutes.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRoutes.Builder> implements DaprAppCallbackProtos.TopicRoutesOrBuilder
    Protobuf type dapr.proto.runtime.v1.TopicRoutes

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicRoutes.html ================================================ DaprAppCallbackProtos.TopicRoutes (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicRoutes

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.TopicRoutes
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicRoutesOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.TopicRoutes extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.TopicRoutesOrBuilder
    Protobuf type dapr.proto.runtime.v1.TopicRoutes
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicRoutesOrBuilder.html ================================================ DaprAppCallbackProtos.TopicRoutesOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.TopicRoutesOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.TopicRoutes, DaprAppCallbackProtos.TopicRoutes.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.TopicRoutesOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Details

      • getRulesList

         The list of rules for this topic.
         
        repeated .dapr.proto.runtime.v1.TopicRule rules = 1;
      • getRules

        DaprAppCallbackProtos.TopicRule getRules(int index)
         The list of rules for this topic.
         
        repeated .dapr.proto.runtime.v1.TopicRule rules = 1;
      • getRulesCount

        int getRulesCount()
         The list of rules for this topic.
         
        repeated .dapr.proto.runtime.v1.TopicRule rules = 1;
      • getRulesOrBuilderList

        List<? extends DaprAppCallbackProtos.TopicRuleOrBuilder> getRulesOrBuilderList()
         The list of rules for this topic.
         
        repeated .dapr.proto.runtime.v1.TopicRule rules = 1;
      • getRulesOrBuilder

        DaprAppCallbackProtos.TopicRuleOrBuilder getRulesOrBuilder(int index)
         The list of rules for this topic.
         
        repeated .dapr.proto.runtime.v1.TopicRule rules = 1;
      • getDefault

        String getDefault()
         The default path for this topic.
         
        string default = 2;
        Returns:
        The default.
      • getDefaultBytes

        com.google.protobuf.ByteString getDefaultBytes()
         The default path for this topic.
         
        string default = 2;
        Returns:
        The bytes for default.

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicRule.Builder.html ================================================ DaprAppCallbackProtos.TopicRule.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicRule.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
    io.dapr.v1.DaprAppCallbackProtos.TopicRule.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicRuleOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.TopicRule

    public static final class DaprAppCallbackProtos.TopicRule.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder> implements DaprAppCallbackProtos.TopicRuleOrBuilder
    Protobuf type dapr.proto.runtime.v1.TopicRule
    • Method Details

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • clear

        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • getDefaultInstanceForType

        public DaprAppCallbackProtos.TopicRule getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public DaprAppCallbackProtos.TopicRule buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • setField

        public DaprAppCallbackProtos.TopicRule.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • clearField

        public DaprAppCallbackProtos.TopicRule.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • clearOneof

        public DaprAppCallbackProtos.TopicRule.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • setRepeatedField

        public DaprAppCallbackProtos.TopicRule.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • addRepeatedField

        public DaprAppCallbackProtos.TopicRule.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • mergeFrom

        public DaprAppCallbackProtos.TopicRule.Builder mergeFrom(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • mergeFrom

      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • mergeFrom

        public DaprAppCallbackProtos.TopicRule.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DaprAppCallbackProtos.TopicRule.Builder>
        Throws:
        IOException
      • getMatch

        public String getMatch()
         The optional CEL expression used to match the event.
         If the match is not specified, then the route is considered
         the default.
         
        string match = 1;
        Specified by:
        getMatch in interface DaprAppCallbackProtos.TopicRuleOrBuilder
        Returns:
        The match.
      • getMatchBytes

        public com.google.protobuf.ByteString getMatchBytes()
         The optional CEL expression used to match the event.
         If the match is not specified, then the route is considered
         the default.
         
        string match = 1;
        Specified by:
        getMatchBytes in interface DaprAppCallbackProtos.TopicRuleOrBuilder
        Returns:
        The bytes for match.
      • setMatch

         The optional CEL expression used to match the event.
         If the match is not specified, then the route is considered
         the default.
         
        string match = 1;
        Parameters:
        value - The match to set.
        Returns:
        This builder for chaining.
      • clearMatch

         The optional CEL expression used to match the event.
         If the match is not specified, then the route is considered
         the default.
         
        string match = 1;
        Returns:
        This builder for chaining.
      • setMatchBytes

        public DaprAppCallbackProtos.TopicRule.Builder setMatchBytes(com.google.protobuf.ByteString value)
         The optional CEL expression used to match the event.
         If the match is not specified, then the route is considered
         the default.
         
        string match = 1;
        Parameters:
        value - The bytes for match to set.
        Returns:
        This builder for chaining.
      • getPath

        public String getPath()
         The path used to identify matches for this subscription.
         This value is passed in TopicEventRequest and used by OnTopicEvent to "switch"
         inside the handler.
         
        string path = 2;
        Specified by:
        getPath in interface DaprAppCallbackProtos.TopicRuleOrBuilder
        Returns:
        The path.
      • getPathBytes

        public com.google.protobuf.ByteString getPathBytes()
         The path used to identify matches for this subscription.
         This value is passed in TopicEventRequest and used by OnTopicEvent to "switch"
         inside the handler.
         
        string path = 2;
        Specified by:
        getPathBytes in interface DaprAppCallbackProtos.TopicRuleOrBuilder
        Returns:
        The bytes for path.
      • setPath

         The path used to identify matches for this subscription.
         This value is passed in TopicEventRequest and used by OnTopicEvent to "switch"
         inside the handler.
         
        string path = 2;
        Parameters:
        value - The path to set.
        Returns:
        This builder for chaining.
      • clearPath

         The path used to identify matches for this subscription.
         This value is passed in TopicEventRequest and used by OnTopicEvent to "switch"
         inside the handler.
         
        string path = 2;
        Returns:
        This builder for chaining.
      • setPathBytes

        public DaprAppCallbackProtos.TopicRule.Builder setPathBytes(com.google.protobuf.ByteString value)
         The path used to identify matches for this subscription.
         This value is passed in TopicEventRequest and used by OnTopicEvent to "switch"
         inside the handler.
         
        string path = 2;
        Parameters:
        value - The bytes for path to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final DaprAppCallbackProtos.TopicRule.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>
      • mergeUnknownFields

        public final DaprAppCallbackProtos.TopicRule.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicRule.Builder>

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicRule.html ================================================ DaprAppCallbackProtos.TopicRule (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicRule

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.TopicRule
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicRuleOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.TopicRule extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.TopicRuleOrBuilder
    Protobuf type dapr.proto.runtime.v1.TopicRule
    See Also:
    • Field Details

    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getMatch

        public String getMatch()
         The optional CEL expression used to match the event.
         If the match is not specified, then the route is considered
         the default.
         
        string match = 1;
        Specified by:
        getMatch in interface DaprAppCallbackProtos.TopicRuleOrBuilder
        Returns:
        The match.
      • getMatchBytes

        public com.google.protobuf.ByteString getMatchBytes()
         The optional CEL expression used to match the event.
         If the match is not specified, then the route is considered
         the default.
         
        string match = 1;
        Specified by:
        getMatchBytes in interface DaprAppCallbackProtos.TopicRuleOrBuilder
        Returns:
        The bytes for match.
      • getPath

        public String getPath()
         The path used to identify matches for this subscription.
         This value is passed in TopicEventRequest and used by OnTopicEvent to "switch"
         inside the handler.
         
        string path = 2;
        Specified by:
        getPath in interface DaprAppCallbackProtos.TopicRuleOrBuilder
        Returns:
        The path.
      • getPathBytes

        public com.google.protobuf.ByteString getPathBytes()
         The path used to identify matches for this subscription.
         This value is passed in TopicEventRequest and used by OnTopicEvent to "switch"
         inside the handler.
         
        string path = 2;
        Specified by:
        getPathBytes in interface DaprAppCallbackProtos.TopicRuleOrBuilder
        Returns:
        The bytes for path.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static DaprAppCallbackProtos.TopicRule parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.TopicRule parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.TopicRule parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.TopicRule parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.TopicRule parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.TopicRule parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprAppCallbackProtos.TopicRule parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprAppCallbackProtos.TopicRule parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static DaprAppCallbackProtos.TopicRule parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static DaprAppCallbackProtos.TopicRule parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprAppCallbackProtos.TopicRule parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprAppCallbackProtos.TopicRule parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        public DaprAppCallbackProtos.TopicRule.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

        public static DaprAppCallbackProtos.TopicRule.Builder newBuilder()
      • newBuilder

      • toBuilder

        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected DaprAppCallbackProtos.TopicRule.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static DaprAppCallbackProtos.TopicRule getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<DaprAppCallbackProtos.TopicRule> parser()
      • getParserForType

        public com.google.protobuf.Parser<DaprAppCallbackProtos.TopicRule> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public DaprAppCallbackProtos.TopicRule getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicRuleOrBuilder.html ================================================ DaprAppCallbackProtos.TopicRuleOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.TopicRuleOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.TopicRule, DaprAppCallbackProtos.TopicRule.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.TopicRuleOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Modifier and Type
      Method
      Description
      The optional CEL expression used to match the event.
      com.google.protobuf.ByteString
      The optional CEL expression used to match the event.
      The path used to identify matches for this subscription.
      com.google.protobuf.ByteString
      The path used to identify matches for this subscription.

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • getMatch

        String getMatch()
         The optional CEL expression used to match the event.
         If the match is not specified, then the route is considered
         the default.
         
        string match = 1;
        Returns:
        The match.
      • getMatchBytes

        com.google.protobuf.ByteString getMatchBytes()
         The optional CEL expression used to match the event.
         If the match is not specified, then the route is considered
         the default.
         
        string match = 1;
        Returns:
        The bytes for match.
      • getPath

        String getPath()
         The path used to identify matches for this subscription.
         This value is passed in TopicEventRequest and used by OnTopicEvent to "switch"
         inside the handler.
         
        string path = 2;
        Returns:
        The path.
      • getPathBytes

        com.google.protobuf.ByteString getPathBytes()
         The path used to identify matches for this subscription.
         This value is passed in TopicEventRequest and used by OnTopicEvent to "switch"
         inside the handler.
         
        string path = 2;
        Returns:
        The bytes for path.

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicSubscription.Builder.html ================================================ DaprAppCallbackProtos.TopicSubscription.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicSubscription.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicSubscription.Builder>
    io.dapr.v1.DaprAppCallbackProtos.TopicSubscription.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicSubscriptionOrBuilder, Cloneable
    Enclosing class:
    DaprAppCallbackProtos.TopicSubscription

    public static final class DaprAppCallbackProtos.TopicSubscription.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprAppCallbackProtos.TopicSubscription.Builder> implements DaprAppCallbackProtos.TopicSubscriptionOrBuilder
     TopicSubscription represents topic and metadata.
     
    Protobuf type dapr.proto.runtime.v1.TopicSubscription

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicSubscription.html ================================================ DaprAppCallbackProtos.TopicSubscription (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos.TopicSubscription

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprAppCallbackProtos.TopicSubscription
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprAppCallbackProtos.TopicSubscriptionOrBuilder, Serializable
    Enclosing class:
    DaprAppCallbackProtos

    public static final class DaprAppCallbackProtos.TopicSubscription extends com.google.protobuf.GeneratedMessageV3 implements DaprAppCallbackProtos.TopicSubscriptionOrBuilder
     TopicSubscription represents topic and metadata.
     
    Protobuf type dapr.proto.runtime.v1.TopicSubscription
    See Also:

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.TopicSubscriptionOrBuilder.html ================================================ DaprAppCallbackProtos.TopicSubscriptionOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprAppCallbackProtos.TopicSubscriptionOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprAppCallbackProtos.TopicSubscription, DaprAppCallbackProtos.TopicSubscription.Builder
    Enclosing class:
    DaprAppCallbackProtos

    public static interface DaprAppCallbackProtos.TopicSubscriptionOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Details

      • getPubsubName

        String getPubsubName()
         Required. The name of the pubsub containing the topic below to subscribe to.
         
        string pubsub_name = 1;
        Returns:
        The pubsubName.
      • getPubsubNameBytes

        com.google.protobuf.ByteString getPubsubNameBytes()
         Required. The name of the pubsub containing the topic below to subscribe to.
         
        string pubsub_name = 1;
        Returns:
        The bytes for pubsubName.
      • getTopic

        String getTopic()
         Required. The name of topic which will be subscribed
         
        string topic = 2;
        Returns:
        The topic.
      • getTopicBytes

        com.google.protobuf.ByteString getTopicBytes()
         Required. The name of topic which will be subscribed
         
        string topic = 2;
        Returns:
        The bytes for topic.
      • getMetadataCount

        int getMetadataCount()
         The optional properties used for this topic's subscription e.g. session id
         
        map<string, string> metadata = 3;
      • containsMetadata

        boolean containsMetadata(String key)
         The optional properties used for this topic's subscription e.g. session id
         
        map<string, string> metadata = 3;
      • getMetadata

        @Deprecated Map<String,String> getMetadata()
        Deprecated.
        Use getMetadataMap() instead.
      • getMetadataMap

        Map<String,String> getMetadataMap()
         The optional properties used for this topic's subscription e.g. session id
         
        map<string, string> metadata = 3;
      • getMetadataOrDefault

        String getMetadataOrDefault(String key, String defaultValue)
         The optional properties used for this topic's subscription e.g. session id
         
        map<string, string> metadata = 3;
      • getMetadataOrThrow

        String getMetadataOrThrow(String key)
         The optional properties used for this topic's subscription e.g. session id
         
        map<string, string> metadata = 3;
      • hasRoutes

        boolean hasRoutes()
         The optional routing rules to match against. In the gRPC interface, OnTopicEvent
         is still invoked but the matching path is sent in the TopicEventRequest.
         
        .dapr.proto.runtime.v1.TopicRoutes routes = 5;
        Returns:
        Whether the routes field is set.
      • getRoutes

         The optional routing rules to match against. In the gRPC interface, OnTopicEvent
         is still invoked but the matching path is sent in the TopicEventRequest.
         
        .dapr.proto.runtime.v1.TopicRoutes routes = 5;
        Returns:
        The routes.
      • getRoutesOrBuilder

         The optional routing rules to match against. In the gRPC interface, OnTopicEvent
         is still invoked but the matching path is sent in the TopicEventRequest.
         
        .dapr.proto.runtime.v1.TopicRoutes routes = 5;
      • getDeadLetterTopic

        String getDeadLetterTopic()
         The optional dead letter queue for this topic to send events to.
         
        string dead_letter_topic = 6;
        Returns:
        The deadLetterTopic.
      • getDeadLetterTopicBytes

        com.google.protobuf.ByteString getDeadLetterTopicBytes()
         The optional dead letter queue for this topic to send events to.
         
        string dead_letter_topic = 6;
        Returns:
        The bytes for deadLetterTopic.
      • hasBulkSubscribe

        boolean hasBulkSubscribe()
         The optional bulk subscribe settings for this topic.
         
        .dapr.proto.runtime.v1.BulkSubscribeConfig bulk_subscribe = 7;
        Returns:
        Whether the bulkSubscribe field is set.
      • getBulkSubscribe

         The optional bulk subscribe settings for this topic.
         
        .dapr.proto.runtime.v1.BulkSubscribeConfig bulk_subscribe = 7;
        Returns:
        The bulkSubscribe.
      • getBulkSubscribeOrBuilder

         The optional bulk subscribe settings for this topic.
         
        .dapr.proto.runtime.v1.BulkSubscribeConfig bulk_subscribe = 7;

    ================================================ FILE: docs/io/dapr/v1/DaprAppCallbackProtos.html ================================================ DaprAppCallbackProtos (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprAppCallbackProtos

    java.lang.Object
    io.dapr.v1.DaprAppCallbackProtos

    public final class DaprAppCallbackProtos extends Object
    • Method Details

      • registerAllExtensions

        public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry)
      • registerAllExtensions

        public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry)
      • getDescriptor

        public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor()

    ================================================ FILE: docs/io/dapr/v1/DaprGrpc.AsyncService.html ================================================ DaprGrpc.AsyncService (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprGrpc.AsyncService

    All Known Implementing Classes:
    DaprGrpc.DaprImplBase
    Enclosing class:
    DaprGrpc

    public static interface DaprGrpc.AsyncService
     Dapr service provides APIs to user application to access Dapr building blocks.
     

    ================================================ FILE: docs/io/dapr/v1/DaprGrpc.DaprBlockingStub.html ================================================ DaprGrpc.DaprBlockingStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprGrpc.DaprBlockingStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractBlockingStub<DaprGrpc.DaprBlockingStub>
    io.dapr.v1.DaprGrpc.DaprBlockingStub
    Enclosing class:
    DaprGrpc

    public static final class DaprGrpc.DaprBlockingStub extends io.grpc.stub.AbstractBlockingStub<DaprGrpc.DaprBlockingStub>
    A stub to allow clients to do limited synchronous rpc calls to service Dapr.
     Dapr service provides APIs to user application to access Dapr building blocks.
     

    ================================================ FILE: docs/io/dapr/v1/DaprGrpc.DaprFutureStub.html ================================================ DaprGrpc.DaprFutureStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprGrpc.DaprFutureStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractFutureStub<DaprGrpc.DaprFutureStub>
    io.dapr.v1.DaprGrpc.DaprFutureStub
    Enclosing class:
    DaprGrpc

    public static final class DaprGrpc.DaprFutureStub extends io.grpc.stub.AbstractFutureStub<DaprGrpc.DaprFutureStub>
    A stub to allow clients to do ListenableFuture-style rpc calls to service Dapr.
     Dapr service provides APIs to user application to access Dapr building blocks.
     

    ================================================ FILE: docs/io/dapr/v1/DaprGrpc.DaprImplBase.html ================================================ DaprGrpc.DaprImplBase (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprGrpc.DaprImplBase

    java.lang.Object
    io.dapr.v1.DaprGrpc.DaprImplBase
    All Implemented Interfaces:
    DaprGrpc.AsyncService, io.grpc.BindableService
    Enclosing class:
    DaprGrpc

    public abstract static class DaprGrpc.DaprImplBase extends Object implements io.grpc.BindableService, DaprGrpc.AsyncService
    Base class for the server implementation of the service Dapr.
     Dapr service provides APIs to user application to access Dapr building blocks.
     
    • Constructor Details

      • DaprImplBase

        public DaprImplBase()
    • Method Details

      • bindService

        public final io.grpc.ServerServiceDefinition bindService()
        Specified by:
        bindService in interface io.grpc.BindableService

    ================================================ FILE: docs/io/dapr/v1/DaprGrpc.DaprStub.html ================================================ DaprGrpc.DaprStub (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprGrpc.DaprStub

    java.lang.Object
    io.grpc.stub.AbstractStub<S>
    io.grpc.stub.AbstractAsyncStub<DaprGrpc.DaprStub>
    io.dapr.v1.DaprGrpc.DaprStub
    Enclosing class:
    DaprGrpc

    public static final class DaprGrpc.DaprStub extends io.grpc.stub.AbstractAsyncStub<DaprGrpc.DaprStub>
    A stub to allow clients to do asynchronous rpc calls to service Dapr.
     Dapr service provides APIs to user application to access Dapr building blocks.
     

    ================================================ FILE: docs/io/dapr/v1/DaprGrpc.html ================================================ DaprGrpc (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprGrpc

    java.lang.Object
    io.dapr.v1.DaprGrpc

    public final class DaprGrpc extends Object
     Dapr service provides APIs to user application to access Dapr building blocks.
     

    ================================================ FILE: docs/io/dapr/v1/DaprProtos.ShutdownRequest.Builder.html ================================================ DaprProtos.ShutdownRequest.Builder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprProtos.ShutdownRequest.Builder

    java.lang.Object
    com.google.protobuf.AbstractMessageLite.Builder
    com.google.protobuf.AbstractMessage.Builder<BuilderT>
    com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
    io.dapr.v1.DaprProtos.ShutdownRequest.Builder
    All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprProtos.ShutdownRequestOrBuilder, Cloneable
    Enclosing class:
    DaprProtos.ShutdownRequest

    public static final class DaprProtos.ShutdownRequest.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder> implements DaprProtos.ShutdownRequestOrBuilder
     ShutdownRequest is the request for Shutdown.
     
    Protobuf type dapr.proto.runtime.v1.ShutdownRequest
    • Method Details

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
      • clear

        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
      • getDefaultInstanceForType

        public DaprProtos.ShutdownRequest getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public DaprProtos.ShutdownRequest buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
      • setField

        public DaprProtos.ShutdownRequest.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
      • clearField

        public DaprProtos.ShutdownRequest.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
      • clearOneof

        public DaprProtos.ShutdownRequest.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
      • setRepeatedField

        public DaprProtos.ShutdownRequest.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
      • addRepeatedField

        public DaprProtos.ShutdownRequest.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
      • mergeFrom

        public DaprProtos.ShutdownRequest.Builder mergeFrom(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DaprProtos.ShutdownRequest.Builder>
      • mergeFrom

      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
      • mergeFrom

        public DaprProtos.ShutdownRequest.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DaprProtos.ShutdownRequest.Builder>
        Throws:
        IOException
      • setUnknownFields

        public final DaprProtos.ShutdownRequest.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>
      • mergeUnknownFields

        public final DaprProtos.ShutdownRequest.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DaprProtos.ShutdownRequest.Builder>

    ================================================ FILE: docs/io/dapr/v1/DaprProtos.ShutdownRequest.html ================================================ DaprProtos.ShutdownRequest (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprProtos.ShutdownRequest

    java.lang.Object
    com.google.protobuf.AbstractMessageLite
    com.google.protobuf.AbstractMessage
    com.google.protobuf.GeneratedMessageV3
    io.dapr.v1.DaprProtos.ShutdownRequest
    All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DaprProtos.ShutdownRequestOrBuilder, Serializable
    Enclosing class:
    DaprProtos

    public static final class DaprProtos.ShutdownRequest extends com.google.protobuf.GeneratedMessageV3 implements DaprProtos.ShutdownRequestOrBuilder
     ShutdownRequest is the request for Shutdown.
     
    Protobuf type dapr.proto.runtime.v1.ShutdownRequest
    See Also:
    • Nested Class Summary

      Nested Classes
      Modifier and Type
      Class
      Description
      static final class 
      ShutdownRequest is the request for Shutdown.

      Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

      com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter

      Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

      com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Summary

      Fields inherited from class com.google.protobuf.GeneratedMessageV3

      alwaysUseFieldBuilders, unknownFields

      Fields inherited from class com.google.protobuf.AbstractMessage

      memoizedSize

      Fields inherited from class com.google.protobuf.AbstractMessageLite

      memoizedHashCode
    • Method Summary

      Modifier and Type
      Method
      Description
      boolean
       
       
       
      static final com.google.protobuf.Descriptors.Descriptor
       
      com.google.protobuf.Parser<DaprProtos.ShutdownRequest>
       
      int
       
      int
       
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       
      final boolean
       
       
       
       
      newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
       
      protected Object
      newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
       
       
      parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      parseFrom(byte[] data)
       
      parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      parseFrom(com.google.protobuf.ByteString data)
       
      parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      parseFrom(com.google.protobuf.CodedInputStream input)
       
      parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
       
      parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
       
      parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       
      static com.google.protobuf.Parser<DaprProtos.ShutdownRequest>
       
       
      void
      writeTo(com.google.protobuf.CodedOutputStream output)
       

      Methods inherited from class com.google.protobuf.GeneratedMessageV3

      canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag

      Methods inherited from class com.google.protobuf.AbstractMessage

      findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString

      Methods inherited from class com.google.protobuf.AbstractMessageLite

      addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo

      Methods inherited from class java.lang.Object

      clone, finalize, getClass, notify, notifyAll, wait, wait, wait

      Methods inherited from interface com.google.protobuf.MessageLite

      toByteArray, toByteString, writeDelimitedTo, writeTo

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Details

      • newInstance

        protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static DaprProtos.ShutdownRequest parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprProtos.ShutdownRequest parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprProtos.ShutdownRequest parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprProtos.ShutdownRequest parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprProtos.ShutdownRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprProtos.ShutdownRequest parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static DaprProtos.ShutdownRequest parseFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprProtos.ShutdownRequest parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static DaprProtos.ShutdownRequest parseDelimitedFrom(InputStream input) throws IOException
        Throws:
        IOException
      • parseDelimitedFrom

        public static DaprProtos.ShutdownRequest parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprProtos.ShutdownRequest parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
        Throws:
        IOException
      • parseFrom

        public static DaprProtos.ShutdownRequest parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
        Throws:
        IOException
      • newBuilderForType

        public DaprProtos.ShutdownRequest.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • newBuilder

        public static DaprProtos.ShutdownRequest.Builder newBuilder()
      • newBuilder

        public static DaprProtos.ShutdownRequest.Builder newBuilder(DaprProtos.ShutdownRequest prototype)
      • toBuilder

        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected DaprProtos.ShutdownRequest.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static DaprProtos.ShutdownRequest getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<DaprProtos.ShutdownRequest> parser()
      • getParserForType

        public com.google.protobuf.Parser<DaprProtos.ShutdownRequest> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public DaprProtos.ShutdownRequest getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder

    ================================================ FILE: docs/io/dapr/v1/DaprProtos.ShutdownRequestOrBuilder.html ================================================ DaprProtos.ShutdownRequestOrBuilder (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Interface DaprProtos.ShutdownRequestOrBuilder

    All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    DaprProtos.ShutdownRequest, DaprProtos.ShutdownRequest.Builder
    Enclosing class:
    DaprProtos

    public static interface DaprProtos.ShutdownRequestOrBuilder extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

      isInitialized

      Methods inherited from interface com.google.protobuf.MessageOrBuilder

      findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof

    ================================================ FILE: docs/io/dapr/v1/DaprProtos.html ================================================ DaprProtos (dapr-sdk-parent 1.17.2 API)
    Package io.dapr.v1

    Class DaprProtos

    java.lang.Object
    io.dapr.v1.DaprProtos

    public final class DaprProtos extends Object
    • Method Details

      • registerAllExtensions

        public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry)
      • registerAllExtensions

        public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry)
      • getDescriptor

        public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor()

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub.html ================================================ Uses of Class io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub.html ================================================ Uses of Class io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackAlphaGrpc.AppCallbackAlphaImplBase.html ================================================ Uses of Class io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaImplBase (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaImplBase

    No usage of io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaImplBase

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackAlphaGrpc.AppCallbackAlphaStub.html ================================================ Uses of Class io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackAlphaGrpc.AppCallbackAlphaStub

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackAlphaGrpc.AsyncService.html ================================================ Uses of Interface io.dapr.v1.AppCallbackAlphaGrpc.AsyncService (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.AppCallbackAlphaGrpc.AsyncService

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackAlphaGrpc.html ================================================ Uses of Class io.dapr.v1.AppCallbackAlphaGrpc (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackAlphaGrpc

    No usage of io.dapr.v1.AppCallbackAlphaGrpc

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackGrpc.AppCallbackBlockingStub.html ================================================ Uses of Class io.dapr.v1.AppCallbackGrpc.AppCallbackBlockingStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackGrpc.AppCallbackBlockingStub

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackGrpc.AppCallbackFutureStub.html ================================================ Uses of Class io.dapr.v1.AppCallbackGrpc.AppCallbackFutureStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackGrpc.AppCallbackFutureStub

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackGrpc.AppCallbackImplBase.html ================================================ Uses of Class io.dapr.v1.AppCallbackGrpc.AppCallbackImplBase (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackGrpc.AppCallbackImplBase

    No usage of io.dapr.v1.AppCallbackGrpc.AppCallbackImplBase

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackGrpc.AppCallbackStub.html ================================================ Uses of Class io.dapr.v1.AppCallbackGrpc.AppCallbackStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackGrpc.AppCallbackStub

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackGrpc.AsyncService.html ================================================ Uses of Interface io.dapr.v1.AppCallbackGrpc.AsyncService (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.AppCallbackGrpc.AsyncService

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackGrpc.html ================================================ Uses of Class io.dapr.v1.AppCallbackGrpc (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackGrpc

    No usage of io.dapr.v1.AppCallbackGrpc

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub.html ================================================ Uses of Class io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub.html ================================================ Uses of Class io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase.html ================================================ Uses of Class io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase

    No usage of io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub.html ================================================ Uses of Class io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackHealthCheckGrpc.AsyncService.html ================================================ Uses of Interface io.dapr.v1.AppCallbackHealthCheckGrpc.AsyncService (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.AppCallbackHealthCheckGrpc.AsyncService

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/AppCallbackHealthCheckGrpc.html ================================================ Uses of Class io.dapr.v1.AppCallbackHealthCheckGrpc (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.AppCallbackHealthCheckGrpc

    No usage of io.dapr.v1.AppCallbackHealthCheckGrpc

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.ConfigurationItem.Builder.html ================================================ Uses of Class io.dapr.v1.CommonProtos.ConfigurationItem.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.ConfigurationItem.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.ConfigurationItem.html ================================================ Uses of Class io.dapr.v1.CommonProtos.ConfigurationItem (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.ConfigurationItem

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.ConfigurationItemOrBuilder.html ================================================ Uses of Interface io.dapr.v1.CommonProtos.ConfigurationItemOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.CommonProtos.ConfigurationItemOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.Etag.Builder.html ================================================ Uses of Class io.dapr.v1.CommonProtos.Etag.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.Etag.Builder

    Packages that use CommonProtos.Etag.Builder
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.Etag.html ================================================ Uses of Class io.dapr.v1.CommonProtos.Etag (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.Etag

    Packages that use CommonProtos.Etag
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.EtagOrBuilder.html ================================================ Uses of Interface io.dapr.v1.CommonProtos.EtagOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.CommonProtos.EtagOrBuilder

    Packages that use CommonProtos.EtagOrBuilder
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.HTTPExtension.Builder.html ================================================ Uses of Class io.dapr.v1.CommonProtos.HTTPExtension.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.HTTPExtension.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.HTTPExtension.Verb.html ================================================ Uses of Enum io.dapr.v1.CommonProtos.HTTPExtension.Verb (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.v1.CommonProtos.HTTPExtension.Verb

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.HTTPExtension.html ================================================ Uses of Class io.dapr.v1.CommonProtos.HTTPExtension (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.HTTPExtension

    Packages that use CommonProtos.HTTPExtension
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.HTTPExtensionOrBuilder.html ================================================ Uses of Interface io.dapr.v1.CommonProtos.HTTPExtensionOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.CommonProtos.HTTPExtensionOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.InvokeRequest.Builder.html ================================================ Uses of Class io.dapr.v1.CommonProtos.InvokeRequest.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.InvokeRequest.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.InvokeRequest.html ================================================ Uses of Class io.dapr.v1.CommonProtos.InvokeRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.InvokeRequest

    Packages that use CommonProtos.InvokeRequest
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.InvokeRequestOrBuilder.html ================================================ Uses of Interface io.dapr.v1.CommonProtos.InvokeRequestOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.CommonProtos.InvokeRequestOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.InvokeResponse.Builder.html ================================================ Uses of Class io.dapr.v1.CommonProtos.InvokeResponse.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.InvokeResponse.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.InvokeResponse.html ================================================ Uses of Class io.dapr.v1.CommonProtos.InvokeResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.InvokeResponse

    Packages that use CommonProtos.InvokeResponse
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.InvokeResponseOrBuilder.html ================================================ Uses of Interface io.dapr.v1.CommonProtos.InvokeResponseOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.CommonProtos.InvokeResponseOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.StateItem.Builder.html ================================================ Uses of Class io.dapr.v1.CommonProtos.StateItem.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.StateItem.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.StateItem.html ================================================ Uses of Class io.dapr.v1.CommonProtos.StateItem (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.StateItem

    Packages that use CommonProtos.StateItem
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.StateItemOrBuilder.html ================================================ Uses of Interface io.dapr.v1.CommonProtos.StateItemOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.CommonProtos.StateItemOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.StateOptions.Builder.html ================================================ Uses of Class io.dapr.v1.CommonProtos.StateOptions.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.StateOptions.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.StateOptions.StateConcurrency.html ================================================ Uses of Enum io.dapr.v1.CommonProtos.StateOptions.StateConcurrency (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.v1.CommonProtos.StateOptions.StateConcurrency

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.StateOptions.StateConsistency.html ================================================ Uses of Enum io.dapr.v1.CommonProtos.StateOptions.StateConsistency (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.v1.CommonProtos.StateOptions.StateConsistency

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.StateOptions.html ================================================ Uses of Class io.dapr.v1.CommonProtos.StateOptions (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.StateOptions

    Packages that use CommonProtos.StateOptions
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.StateOptionsOrBuilder.html ================================================ Uses of Interface io.dapr.v1.CommonProtos.StateOptionsOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.CommonProtos.StateOptionsOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.StreamPayload.Builder.html ================================================ Uses of Class io.dapr.v1.CommonProtos.StreamPayload.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.StreamPayload.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.StreamPayload.html ================================================ Uses of Class io.dapr.v1.CommonProtos.StreamPayload (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos.StreamPayload

    Packages that use CommonProtos.StreamPayload
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.StreamPayloadOrBuilder.html ================================================ Uses of Interface io.dapr.v1.CommonProtos.StreamPayloadOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.CommonProtos.StreamPayloadOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/CommonProtos.html ================================================ Uses of Class io.dapr.v1.CommonProtos (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.CommonProtos

    No usage of io.dapr.v1.CommonProtos

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.BindingEventRequest.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.BindingEventRequest.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.BindingEventRequestOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.BindingEventRequestOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.BindingEventRequestOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency.html ================================================ Uses of Enum io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.BindingEventResponse.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.BindingEventResponse.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.BindingEventResponseOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.BindingEventResponseOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.BindingEventResponseOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.BulkSubscribeConfig.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfig.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfig.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.BulkSubscribeConfig.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfig (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfig

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.HealthCheckResponse.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.HealthCheckResponse.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.HealthCheckResponse.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.HealthCheckResponse.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.HealthCheckResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.HealthCheckResponse

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.HealthCheckResponseOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.HealthCheckResponseOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.HealthCheckResponseOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.JobEventRequest.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.JobEventRequest.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.JobEventRequest.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.JobEventRequest.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.JobEventRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.JobEventRequest

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.JobEventRequestOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.JobEventRequestOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.JobEventRequestOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.JobEventResponse.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.JobEventResponse.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.JobEventResponse.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.JobEventResponse.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.JobEventResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.JobEventResponse

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.JobEventResponseOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.JobEventResponseOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.JobEventResponseOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.ListInputBindingsResponse.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.ListInputBindingsResponse.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.ListInputBindingsResponse.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.ListInputBindingsResponse.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.ListInputBindingsResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.ListInputBindingsResponse

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.ListTopicSubscriptionsResponse.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.ListTopicSubscriptionsResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.ListTopicSubscriptionsResponse

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkRequest.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkRequest.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase.html ================================================ Uses of Enum io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkRequestEntry.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkResponse.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponse.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponse.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkResponse.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponse

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkResponseEntry.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventCERequest.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequest.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequest.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventCERequest.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequest

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventCERequestOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequestOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequestOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventRequest.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventRequest.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventRequestOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.TopicEventRequestOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.TopicEventRequestOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventResponse.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.html ================================================ Uses of Enum io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus (dapr-sdk-parent 1.17.2 API)

    Uses of Enum
    io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventResponse.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicEventResponseOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.TopicEventResponseOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.TopicEventResponseOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicRoutes.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicRoutes.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicRoutes.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicRoutes.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicRoutes (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicRoutes

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicRoutesOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.TopicRoutesOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.TopicRoutesOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicRule.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicRule.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicRule.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicRule.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicRule (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicRule

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicRuleOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.TopicRuleOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.TopicRuleOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicSubscription.Builder.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicSubscription.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicSubscription.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicSubscription.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos.TopicSubscription (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos.TopicSubscription

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.TopicSubscriptionOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprAppCallbackProtos.TopicSubscriptionOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprAppCallbackProtos.TopicSubscriptionOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprAppCallbackProtos.html ================================================ Uses of Class io.dapr.v1.DaprAppCallbackProtos (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprAppCallbackProtos

    No usage of io.dapr.v1.DaprAppCallbackProtos

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprGrpc.AsyncService.html ================================================ Uses of Interface io.dapr.v1.DaprGrpc.AsyncService (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprGrpc.AsyncService

    Packages that use DaprGrpc.AsyncService
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprGrpc.DaprBlockingStub.html ================================================ Uses of Class io.dapr.v1.DaprGrpc.DaprBlockingStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprGrpc.DaprBlockingStub

    Packages that use DaprGrpc.DaprBlockingStub
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprGrpc.DaprFutureStub.html ================================================ Uses of Class io.dapr.v1.DaprGrpc.DaprFutureStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprGrpc.DaprFutureStub

    Packages that use DaprGrpc.DaprFutureStub
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprGrpc.DaprImplBase.html ================================================ Uses of Class io.dapr.v1.DaprGrpc.DaprImplBase (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprGrpc.DaprImplBase

    No usage of io.dapr.v1.DaprGrpc.DaprImplBase

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprGrpc.DaprStub.html ================================================ Uses of Class io.dapr.v1.DaprGrpc.DaprStub (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprGrpc.DaprStub

    Packages that use DaprGrpc.DaprStub
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprGrpc.html ================================================ Uses of Class io.dapr.v1.DaprGrpc (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprGrpc

    No usage of io.dapr.v1.DaprGrpc

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprProtos.ShutdownRequest.Builder.html ================================================ Uses of Class io.dapr.v1.DaprProtos.ShutdownRequest.Builder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprProtos.ShutdownRequest.Builder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprProtos.ShutdownRequest.html ================================================ Uses of Class io.dapr.v1.DaprProtos.ShutdownRequest (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprProtos.ShutdownRequest

    Packages that use DaprProtos.ShutdownRequest
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprProtos.ShutdownRequestOrBuilder.html ================================================ Uses of Interface io.dapr.v1.DaprProtos.ShutdownRequestOrBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.v1.DaprProtos.ShutdownRequestOrBuilder

    Package
    Description
     

    ================================================ FILE: docs/io/dapr/v1/class-use/DaprProtos.html ================================================ Uses of Class io.dapr.v1.DaprProtos (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.v1.DaprProtos

    No usage of io.dapr.v1.DaprProtos

    ================================================ FILE: docs/io/dapr/v1/package-summary.html ================================================ io.dapr.v1 (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.v1


    package io.dapr.v1

    ================================================ FILE: docs/io/dapr/v1/package-tree.html ================================================ io.dapr.v1 Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.v1

    Package Hierarchies:

    Class Hierarchy

    Interface Hierarchy

    Enum Hierarchy


    ================================================ FILE: docs/io/dapr/v1/package-use.html ================================================ Uses of Package io.dapr.v1 (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.v1

    Packages that use io.dapr.v1

    ================================================ FILE: docs/io/dapr/workflows/Workflow.html ================================================ Workflow (dapr-sdk-parent 1.17.2 API)

    Interface Workflow


    public interface Workflow
    Common interface for workflow implementations.
    • Method Summary

      Modifier and Type
      Method
      Description
      Executes the workflow logic.
      default void
      Executes the workflow logic.
    • Method Details

      • create

        WorkflowStub create()
        Executes the workflow logic.
        Returns:
        A WorkflowStub.
      • run

        default void run(WorkflowContext ctx)
        Executes the workflow logic.
        Parameters:
        ctx - provides access to methods for scheduling durable tasks and getting information about the current workflow instance.

    ================================================ FILE: docs/io/dapr/workflows/WorkflowContext.html ================================================ WorkflowContext (dapr-sdk-parent 1.17.2 API)

    Interface WorkflowContext

    All Known Implementing Classes:
    DefaultWorkflowContext

    public interface WorkflowContext
    Context object used by workflow implementations to perform actions such as scheduling activities, durable timers, waiting for external events, and for getting basic information about the current workflow instance.
    • Method Summary

      Modifier and Type
      Method
      Description
      <V> Task<List<V>>
      allOf(List<Task<V>> tasks)
      Returns a new Task that is completed when all the given Tasks complete.
      default Task<Task<?>>
      anyOf(Task<?>... tasks)
      Returns a new Task that is completed when any of the given Tasks complete.
      anyOf(List<Task<?>> tasks)
      Returns a new Task that is completed when any of the tasks in tasks completes.
      default Task<Void>
      Asynchronously invokes an activity by name and returns a new Task that completes when the activity completes.
      default <V> Task<V>
      callActivity(String name, Class<V> returnType)
      Asynchronously invokes an activity by name and returns a new Task that completes when the activity completes.
      default Task<Void>
      callActivity(String name, Object input)
      Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.
      default Task<Void>
      Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.
      <V> Task<V>
      callActivity(String name, Object input, WorkflowTaskOptions options, Class<V> returnType)
      Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.
      default <V> Task<V>
      callActivity(String name, Object input, Class<V> returnType)
      Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.If the activity completes successfully, the returned Task's value will be the activity's output.
      default Task<Void>
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
      default Task<Void>
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
      default <V> Task<V>
      callChildWorkflow(String name, Object input, Class<V> returnType)
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
      default Task<Void>
      callChildWorkflow(String name, Object input, String instanceID, WorkflowTaskOptions options)
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
      <V> Task<V>
      callChildWorkflow(String name, Object input, String instanceID, WorkflowTaskOptions options, Class<V> returnType)
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
      default <V> Task<V>
      callChildWorkflow(String name, Object input, String instanceID, Class<V> returnType)
      Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.
      void
      complete(Object output)
      Completes the current workflow.
      default void
      Restarts the orchestration with a new input and clears its history.
      void
      continueAsNew(Object input, boolean preserveUnprocessedEvents)
      Restarts the orchestration with a new input and clears its history.
      Creates a durable timer that expires after the specified delay.
      createTimer(ZonedDateTime zonedDateTime)
      Creates a durable timer that expires after the specified timestamp with specific zone.
      Gets the current orchestration time in UTC.
      <V> V
      getInput(Class<V> targetType)
      Gets the deserialized input of the current task orchestration.
      Gets the instance ID of the current workflow.
      org.slf4j.Logger
      Get a logger only when isReplaying is false.
      Gets the name of the current workflow.
      boolean
      isPatched(String patchName)
      Checks if the patch has been applied.
      boolean
      Gets a value indicating whether the workflow is currently replaying a previous execution.
      default UUID
      Create a new UUID that is safe for replay within a workflow.
      void
      Set a custom status to a workflow execution.
      <V> Task<Void>
      Waits for an event to be raised named name and returns a Task that completes when the event is received.
      default <V> Task<V>
      waitForExternalEvent(String name, Class<V> dataType)
      Waits for an event to be raised named name and returns a Task that completes when the event is received.
      <V> Task<Void>
      Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.
      <V> Task<V>
      waitForExternalEvent(String name, Duration timeout, Class<V> dataType)
      Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.
    • Method Details

      • getLogger

        org.slf4j.Logger getLogger()
        Get a logger only when isReplaying is false. Otherwise, return a NOP (no operation) logger.
        Returns:
        Logger
      • getName

        String getName()
        Gets the name of the current workflow.
        Returns:
        the name of the current workflow
      • getInstanceId

        String getInstanceId()
        Gets the instance ID of the current workflow.
        Returns:
        the instance ID of the current workflow
      • getCurrentInstant

        Instant getCurrentInstant()
        Gets the current orchestration time in UTC.
        Returns:
        the current orchestration time in UTC
      • complete

        void complete(Object output)
        Completes the current workflow.
        Parameters:
        output - the serializable output of the completed Workflow.
      • waitForExternalEvent

        <V> Task<V> waitForExternalEvent(String name, Duration timeout, Class<V> dataType) throws TaskCanceledException
        Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.

        If the current orchestration is not yet waiting for an event named name, then the event will be saved in the orchestration instance state and dispatched immediately when this method is called. This event saving occurs even if the current orchestrator cancels the wait operation before the event is received.

        Orchestrators can wait for the same event name multiple times, so waiting for multiple events with the same name is allowed. Each external event received by an orchestrator will complete just one task returned by this method.

        Type Parameters:
        V - the expected type of the event data payload
        Parameters:
        name - the case-insensitive name of the event to wait for
        timeout - the amount of time to wait before canceling the returned Task
        dataType - the expected class type of the event data payload
        Returns:
        a new Task that completes when the external event is received or when timeout expires
        Throws:
        TaskCanceledException - if the specified timeout value expires before the event is received
      • waitForExternalEvent

        <V> Task<Void> waitForExternalEvent(String name, Duration timeout) throws TaskCanceledException
        Waits for an event to be raised named name and returns a Task that completes when the event is received or is canceled when timeout expires.

        See waitForExternalEvent(String, Duration, Class) for a full description.

        Type Parameters:
        V - the expected type of the event data payload
        Parameters:
        name - the case-insensitive name of the event to wait for
        timeout - the amount of time to wait before canceling the returned Task
        Returns:
        a new Task that completes when the external event is received or when timeout expires
        Throws:
        TaskCanceledException - if the specified timeout value expires before the event is received
      • waitForExternalEvent

        <V> Task<Void> waitForExternalEvent(String name) throws TaskCanceledException
        Waits for an event to be raised named name and returns a Task that completes when the event is received.

        See waitForExternalEvent(String, Duration, Class) for a full description.

        Type Parameters:
        V - the expected type of the event data payload
        Parameters:
        name - the case-insensitive name of the event to wait for
        Returns:
        a new Task that completes when the external event is received
        Throws:
        TaskCanceledException
      • waitForExternalEvent

        default <V> Task<V> waitForExternalEvent(String name, Class<V> dataType)
        Waits for an event to be raised named name and returns a Task that completes when the event is received.

        See waitForExternalEvent(String, Duration, Class) for a full description.

        Type Parameters:
        V - the expected type of the event data payload
        Parameters:
        name - the case-insensitive name of the event to wait for
        dataType - the expected class type of the event data payload
        Returns:
        a new Task that completes when the external event is received
      • callActivity

        <V> Task<V> callActivity(String name, Object input, WorkflowTaskOptions options, Class<V> returnType)
        Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes. If the activity completes successfully, the returned Task's value will be the activity's output. If the activity fails, the returned Task will complete exceptionally with a TaskFailedException.
        Type Parameters:
        V - the expected type of the activity output
        Parameters:
        name - the name of the activity to call
        input - the serializable input to pass to the activity
        options - additional options that control the execution and processing of the activity
        returnType - the expected class type of the activity output
        Returns:
        a new Task that completes when the activity completes or fails
      • callActivity

        default Task<Void> callActivity(String name)
        Asynchronously invokes an activity by name and returns a new Task that completes when the activity completes. See callActivity(String, Object, WorkflowTaskOptions, Class) for a complete description.
        Parameters:
        name - the name of the activity to call
        Returns:
        a new Task that completes when the activity completes or fails
        See Also:
      • callActivity

        default Task<Void> callActivity(String name, Object input)
        Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes. See callActivity(String, Object, WorkflowTaskOptions, Class) for a complete description.
        Parameters:
        name - the name of the activity to call
        input - the serializable input to pass to the activity
        Returns:
        a new Task that completes when the activity completes or fails
      • callActivity

        default <V> Task<V> callActivity(String name, Class<V> returnType)
        Asynchronously invokes an activity by name and returns a new Task that completes when the activity completes. If the activity completes successfully, the returned Task's value will be the activity's output. See callActivity(String, Object, WorkflowTaskOptions, Class) for a complete description.
        Type Parameters:
        V - the expected type of the activity output
        Parameters:
        name - the name of the activity to call
        returnType - the expected class type of the activity output
        Returns:
        a new Task that completes when the activity completes or fails
      • callActivity

        default <V> Task<V> callActivity(String name, Object input, Class<V> returnType)
        Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes.If the activity completes successfully, the returned Task's value will be the activity's output. See callActivity(String, Object, WorkflowTaskOptions, Class) for a complete description.
        Type Parameters:
        V - the expected type of the activity output
        Parameters:
        name - the name of the activity to call
        input - the serializable input to pass to the activity
        returnType - the expected class type of the activity output
        Returns:
        a new Task that completes when the activity completes or fails
      • callActivity

        default Task<Void> callActivity(String name, Object input, WorkflowTaskOptions options)
        Asynchronously invokes an activity by name and with the specified input value and returns a new Task that completes when the activity completes. See callActivity(String, Object, WorkflowTaskOptions, Class) for a complete description.
        Parameters:
        name - the name of the activity to call
        input - the serializable input to pass to the activity
        options - additional options that control the execution and processing of the activity
        Returns:
        a new Task that completes when the activity completes or fails
      • isReplaying

        boolean isReplaying()
        Gets a value indicating whether the workflow is currently replaying a previous execution.

        Workflow functions are "replayed" after being unloaded from memory to reconstruct local variable state. During a replay, previously executed tasks will be completed automatically with previously seen values that are stored in the workflow history. Once the workflow reaches the point where it's no longer replaying existing history, this method will return false.

        You can use this method if you have logic that needs to run only when not replaying. For example, certain types of application logging may become too noisy when duplicated as part of replay. The application code could check to see whether the function is being replayed and then issue the log statements when this value is false.

        Returns:
        true if the workflow is replaying, otherwise false
      • allOf

        <V> Task<List<V>> allOf(List<Task<V>> tasks) throws CompositeTaskFailedException
        Returns a new Task that is completed when all the given Tasks complete. If any of the given Tasks complete with an exception, the returned Task will also complete with an CompositeTaskFailedException containing details of the first encountered failure. The value of the returned Task is an ordered list of the return values of the given tasks. If no tasks are provided, returns a Task completed with value null.

        This method is useful for awaiting the completion of a set of independent tasks before continuing to the next step in the orchestration, as in the following example:

        
         Task<String> t1 = ctx.callActivity("MyActivity", String.class);
         Task<String> t2 = ctx.callActivity("MyActivity", String.class);
         Task<String> t3 = ctx.callActivity("MyActivity", String.class);
        
         List<String> orderedResults = ctx.allOf(List.of(t1, t2, t3)).await();
         

        Exceptions in any of the given tasks results in an unchecked CompositeTaskFailedException. This exception can be inspected to obtain failure details of individual Tasks.

        
         try {
             List<String> orderedResults = ctx.allOf(List.of(t1, t2, t3)).await();
         } catch (CompositeTaskFailedException e) {
             List<Exception> exceptions = e.getExceptions()
         }
         
        Type Parameters:
        V - the return type of the Task objects
        Parameters:
        tasks - the list of Task objects
        Returns:
        the values of the completed Task objects in the same order as the source list
        Throws:
        CompositeTaskFailedException - if the specified timeout value expires before the event is received
      • anyOf

        Task<Task<?>> anyOf(List<Task<?>> tasks)
        Returns a new Task that is completed when any of the tasks in tasks completes. See anyOf(Task[]) for more detailed information.
        Parameters:
        tasks - the list of Task objects
        Returns:
        a new Task that is completed when any of the given Tasks complete
        See Also:
      • anyOf

        default Task<Task<?>> anyOf(Task<?>... tasks)
        Returns a new Task that is completed when any of the given Tasks complete. The value of the new Task is a reference to the completed Task object. If no tasks are provided, returns a Task that never completes.

        This method is useful for waiting on multiple concurrent tasks and performing a task-specific operation when the first task completes, as in the following example:

        
         Task<Void> event1 = ctx.waitForExternalEvent("Event1");
         Task<Void> event2 = ctx.waitForExternalEvent("Event2");
         Task<Void> event3 = ctx.waitForExternalEvent("Event3");
        
         Task<?> winner = ctx.anyOf(event1, event2, event3).await();
         if (winner == event1) {
             // ...
         } else if (winner == event2) {
             // ...
         } else if (winner == event3) {
             // ...
         }
         
        The anyOf method can also be used for implementing long-running timeouts, as in the following example:
        
         Task<Void> activityTask = ctx.callActivity("SlowActivity");
         Task<Void> timeoutTask = ctx.createTimer(Duration.ofMinutes(30));
        
         Task<?> winner = ctx.anyOf(activityTask, timeoutTask).await();
         if (winner == activityTask) {
             // completion case
         } else {
             // timeout case
         }
         
        Parameters:
        tasks - the list of Task objects
        Returns:
        a new Task that is completed when any of the given Tasks complete
      • createTimer

        Task<Void> createTimer(Duration duration)
        Creates a durable timer that expires after the specified delay.

        Specifying a long delay (for example, a delay of a few days or more) may result in the creation of multiple, internally-managed durable timers. The orchestration code doesn't need to be aware of this behavior. However, it may be visible in framework logs and the stored history state.

        Parameters:
        duration - the amount of time before the timer should expire
        Returns:
        a new Task that completes after the specified delay
      • createTimer

        Task<Void> createTimer(ZonedDateTime zonedDateTime)
        Creates a durable timer that expires after the specified timestamp with specific zone.

        Specifying a long delay (for example, a delay of a few days or more) may result in the creation of multiple, internally-managed timers. The workflow code doesn't need to be aware of this behavior. However, it may be visible in framework logs and the stored history state.

        Parameters:
        zonedDateTime - timestamp with specific zone when the timer should expire
        Returns:
        a new Task that completes after the specified delay
      • getInput

        <V> V getInput(Class<V> targetType)
        Gets the deserialized input of the current task orchestration.
        Type Parameters:
        V - the expected type of the workflow input
        Parameters:
        targetType - the Class object associated with V
        Returns:
        the deserialized input as an object of type V or null if no input was provided.
      • callChildWorkflow

        default Task<Void> callChildWorkflow(String name)
        Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.

        See callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class) for a full description.

        Parameters:
        name - the name of the workflow to invoke
        Returns:
        a new Task that completes when the child-workflow completes or fails
        See Also:
      • callChildWorkflow

        default Task<Void> callChildWorkflow(String name, Object input)
        Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.

        See callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class) for a full description.

        Parameters:
        name - the name of the workflow to invoke
        input - the serializable input to send to the child-workflow
        Returns:
        a new Task that completes when the child-workflow completes or fails
      • callChildWorkflow

        default <V> Task<V> callChildWorkflow(String name, Object input, Class<V> returnType)
        Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.

        See callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class) for a full description.

        Type Parameters:
        V - the expected type of the child-workflow output
        Parameters:
        name - the name of the workflow to invoke
        input - the serializable input to send to the child-workflow
        returnType - the expected class type of the child-workflow output
        Returns:
        a new Task that completes when the child-workflow completes or fails
      • callChildWorkflow

        default <V> Task<V> callChildWorkflow(String name, Object input, String instanceID, Class<V> returnType)
        Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.

        See callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class) for a full description.

        Type Parameters:
        V - the expected type of the child-workflow output
        Parameters:
        name - the name of the workflow to invoke
        input - the serializable input to send to the child-workflow
        instanceID - the unique ID of the child-workflow
        returnType - the expected class type of the child-workflow output
        Returns:
        a new Task that completes when the child-workflow completes or fails
      • callChildWorkflow

        default Task<Void> callChildWorkflow(String name, Object input, String instanceID, WorkflowTaskOptions options)
        Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes.

        See callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class) for a full description.

        Parameters:
        name - the name of the workflow to invoke
        input - the serializable input to send to the child-workflow
        instanceID - the unique ID of the child-workflow
        options - additional options that control the execution and processing of the activity
        Returns:
        a new Task that completes when the child-workflow completes or fails
      • callChildWorkflow

        <V> Task<V> callChildWorkflow(String name, @Nullable Object input, @Nullable String instanceID, @Nullable WorkflowTaskOptions options, Class<V> returnType)
        Asynchronously invokes another workflow as a child-workflow and returns a Task that completes when the child-workflow completes. If the child-workflow completes successfully, the returned Task's value will be the activity's output. If the child-workflow fails, the returned Task will complete exceptionally with a TaskFailedException.

        A child-workflow has its own instance ID, history, and status that is independent of the parent workflow that started it. There are many advantages to breaking down large orchestrations into child-workflows:

        • Splitting large orchestrations into a series of smaller child-workflows can make code more maintainable.
        • Distributing orchestration logic across multiple compute nodes concurrently is useful if orchestration logic otherwise needs to coordinate a lot of tasks.
        • Memory usage and CPU overhead can be reduced by keeping the history of parent orchestrations smaller.
        The disadvantage is that there is overhead associated with starting a child-workflow and processing its output. This is typically only an issue for very small orchestrations.

        Because child-workflows are independent of their parents, terminating a parent orchestration does not affect any child-workflows. child-workflows must be terminated independently using their unique instance ID, which is specified using the instanceID parameter

        Type Parameters:
        V - the expected type of the child-workflow output
        Parameters:
        name - the name of the workflow to invoke
        input - the serializable input to send to the child-workflow
        instanceID - the unique ID of the child-workflow
        options - additional options that control the execution and processing of the activity
        returnType - the expected class type of the child-workflow output
        Returns:
        a new Task that completes when the child-workflow completes or fails
      • continueAsNew

        default void continueAsNew(Object input)
        Restarts the orchestration with a new input and clears its history. See continueAsNew(Object, boolean) for a full description.
        Parameters:
        input - the serializable input data to re-initialize the instance with
      • continueAsNew

        void continueAsNew(Object input, boolean preserveUnprocessedEvents)
        Restarts the orchestration with a new input and clears its history.

        This method is primarily designed for eternal orchestrations, which are orchestrations that may not ever complete. It works by restarting the orchestration, providing it with a new input, and truncating the existing orchestration history. It allows an orchestration to continue running indefinitely without having its history grow unbounded. The benefits of periodically truncating history include decreased memory usage, decreased storage volumes, and shorter orchestrator replays when rebuilding state.

        The results of any incomplete tasks will be discarded when an orchestrator calls continueAsNew. For example, if a timer is scheduled and then continueAsNew is called before the timer fires, the timer event will be discarded. The only exception to this is external events. By default, if an external event is received by an orchestration but not yet processed, the event is saved in the orchestration state unit it is received by a call to waitForExternalEvent(java.lang.String, java.time.Duration, java.lang.Class<V>). These events will remain in memory even after an orchestrator restarts using continueAsNew. This behavior can be disabled by specifying false for the preserveUnprocessedEvents parameter value.

        Orchestrator implementations should complete immediately after calling thecontinueAsNew method.

        Parameters:
        input - the serializable input data to re-initialize the instance with
        preserveUnprocessedEvents - true to push unprocessed external events into the new orchestration history, otherwise false
      • newUuid

        default UUID newUuid()
        Create a new UUID that is safe for replay within a workflow.

        The default implementation of this method creates a name-based UUID using the algorithm from RFC 4122 §4.3. The name input used to generate this value is a combination of the workflow instance ID and an internally managed sequence number.

        Returns:
        a deterministic UUID
      • setCustomStatus

        void setCustomStatus(Object status)
        Set a custom status to a workflow execution.
        Parameters:
        status - to be set to the current execution
      • isPatched

        boolean isPatched(String patchName)
        Checks if the patch has been applied.
        Parameters:
        patchName - the patch name to check
        Returns:
        true if already applied

    ================================================ FILE: docs/io/dapr/workflows/WorkflowStub.html ================================================ WorkflowStub (dapr-sdk-parent 1.17.2 API)

    Interface WorkflowStub

    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface public interface WorkflowStub
    • Method Summary

      Modifier and Type
      Method
      Description
      void
       

    ================================================ FILE: docs/io/dapr/workflows/class-use/Workflow.html ================================================ Uses of Interface io.dapr.workflows.Workflow (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.workflows.Workflow

    Packages that use Workflow

    ================================================ FILE: docs/io/dapr/workflows/class-use/WorkflowContext.html ================================================ Uses of Interface io.dapr.workflows.WorkflowContext (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.workflows.WorkflowContext

    Packages that use WorkflowContext
    Package
    Description
     
     

    ================================================ FILE: docs/io/dapr/workflows/class-use/WorkflowStub.html ================================================ Uses of Interface io.dapr.workflows.WorkflowStub (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.workflows.WorkflowStub

    Packages that use WorkflowStub
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/workflows/client/DaprWorkflowClient.html ================================================ DaprWorkflowClient (dapr-sdk-parent 1.17.2 API)

    Class DaprWorkflowClient

    java.lang.Object
    io.dapr.workflows.client.DaprWorkflowClient
    All Implemented Interfaces:
    AutoCloseable

    public class DaprWorkflowClient extends Object implements AutoCloseable
    Defines client operations for managing Dapr Workflow instances.
    • Constructor Details

      • DaprWorkflowClient

        public DaprWorkflowClient()
        Public constructor for DaprWorkflowClient. This layer constructs the GRPC Channel.
      • DaprWorkflowClient

        public DaprWorkflowClient(Properties properties)
        Public constructor for DaprWorkflowClient. This layer constructs the GRPC Channel.
        Parameters:
        properties - Properties for the GRPC Channel.
    • Method Details

      • scheduleNewWorkflow

        public <T extends Workflow> String scheduleNewWorkflow(Class<T> clazz)
        Schedules a new workflow using DurableTask client.
        Type Parameters:
        T - any Workflow type
        Parameters:
        clazz - Class extending Workflow to start an instance of.
        Returns:
        the randomly-generated instance ID for new Workflow instance.
      • scheduleNewWorkflow

        public <T extends Workflow> String scheduleNewWorkflow(String name)
        Schedules a new workflow using DurableTask client.
        Type Parameters:
        T - any Workflow type
        Parameters:
        name - Workflow name
        Returns:
        the randomly-generated instance ID for new Workflow instance.
      • scheduleNewWorkflow

        public <T extends Workflow> String scheduleNewWorkflow(Class<T> clazz, Object input)
        Schedules a new workflow using DurableTask client.
        Type Parameters:
        T - any Workflow type
        Parameters:
        clazz - Class extending Workflow to start an instance of.
        input - the input to pass to the scheduled orchestration instance. Must be serializable.
        Returns:
        the randomly-generated instance ID for new Workflow instance.
      • scheduleNewWorkflow

        public <T extends Workflow> String scheduleNewWorkflow(String name, Object input)
        Schedules a new workflow using DurableTask client.
        Type Parameters:
        T - any Workflow type
        Parameters:
        name - Workflow name
        input - the input to pass to the scheduled orchestration instance. Must be serializable.
        Returns:
        the randomly-generated instance ID for new Workflow instance.
      • scheduleNewWorkflow

        public <T extends Workflow> String scheduleNewWorkflow(Class<T> clazz, Object input, String instanceId)
        Schedules a new workflow using DurableTask client.
        Type Parameters:
        T - any Workflow type
        Parameters:
        clazz - Class extending Workflow to start an instance of.
        input - the input to pass to the scheduled orchestration instance. Must be serializable.
        instanceId - the unique ID of the orchestration instance to schedule
        Returns:
        the instanceId parameter value.
      • scheduleNewWorkflow

        public <T extends Workflow> String scheduleNewWorkflow(String name, Object input, String instanceId)
        Schedules a new workflow using DurableTask client.
        Type Parameters:
        T - any Workflow type
        Parameters:
        name - Workflow name
        input - the input to pass to the scheduled orchestration instance. Must be serializable.
        instanceId - the unique ID of the orchestration instance to schedule
        Returns:
        the instanceId parameter value.
      • scheduleNewWorkflow

        public <T extends Workflow> String scheduleNewWorkflow(Class<T> clazz, NewWorkflowOptions options)
        Schedules a new workflow with a specified set of options for execution.
        Type Parameters:
        T - any Workflow type
        Parameters:
        clazz - Class extending Workflow to start an instance of.
        options - the options for the new workflow, including input, instance ID, etc.
        Returns:
        the instanceId parameter value.
      • scheduleNewWorkflow

        public <T extends Workflow> String scheduleNewWorkflow(String name, NewWorkflowOptions options)
        Schedules a new workflow with a specified set of options for execution.
        Type Parameters:
        T - any Workflow type
        Parameters:
        name - name of the workflow to schedule
        options - the options for the new workflow, including input, instance ID, etc.
        Returns:
        the instanceId parameter value.
      • suspendWorkflow

        public void suspendWorkflow(String workflowInstanceId, @Nullable String reason)
        Suspend the workflow associated with the provided instance id.
        Parameters:
        workflowInstanceId - Workflow instance id to suspend.
        reason - reason for suspending the workflow instance.
      • resumeWorkflow

        public void resumeWorkflow(String workflowInstanceId, @Nullable String reason)
        Resume the workflow associated with the provided instance id.
        Parameters:
        workflowInstanceId - Workflow instance id to resume.
        reason - reason for resuming the workflow instance.
      • terminateWorkflow

        public void terminateWorkflow(String workflowInstanceId, @Nullable Object output)
        Terminates the workflow associated with the provided instance id.
        Parameters:
        workflowInstanceId - Workflow instance id to terminate.
        output - the optional output to set for the terminated orchestration instance.
      • getInstanceState

        @Nullable @Deprecated(forRemoval=true) public WorkflowInstanceStatus getInstanceState(String instanceId, boolean getInputsAndOutputs)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Fetches workflow instance metadata from the configured durable store.
        Parameters:
        instanceId - the unique ID of the workflow instance to fetch
        getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
        Returns:
        a metadata record that describes the workflow instance and it execution status, or a default instance
      • getWorkflowState

        @Nullable public WorkflowState getWorkflowState(String instanceId, boolean getInputsAndOutputs)
        Fetches workflow instance metadata from the configured durable store.
        Parameters:
        instanceId - the unique ID of the workflow instance to fetch
        getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
        Returns:
        a metadata record that describes the workflow instance and it execution status, or a default instance
      • waitForInstanceStart

        @Deprecated(forRemoval=true) @Nullable public WorkflowInstanceStatus waitForInstanceStart(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Waits for an workflow to start running and returns an WorkflowInstanceStatus object that contains metadata about the started instance and optionally its input, output, and custom status payloads.

        A "started" workflow instance is any instance not in the Pending state.

        If an workflow instance is already running when this method is called, the method will return immediately.

        Parameters:
        instanceId - the unique ID of the workflow instance to wait for
        timeout - the amount of time to wait for the workflow instance to start
        getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
        Returns:
        the workflow instance metadata or null if no such instance is found
        Throws:
        TimeoutException - when the workflow instance is not started within the specified amount of time
      • waitForWorkflowStart

        @Nullable public WorkflowState waitForWorkflowStart(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException
        Waits for a workflow to start running and returns an WorkflowState object that contains metadata about the started instance and optionally its input, output, and custom status payloads.

        A "started" workflow instance is any instance not in the Pending state.

        If an workflow instance is already running when this method is called, the method will return immediately.

        Parameters:
        instanceId - the unique ID of the workflow instance to wait for
        timeout - the amount of time to wait for the workflow instance to start
        getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
        Returns:
        the workflow instance metadata or null if no such instance is found
        Throws:
        TimeoutException - when the workflow instance is not started within the specified amount of time
      • waitForInstanceCompletion

        @Nullable @Deprecated(forRemoval=true) public WorkflowInstanceStatus waitForInstanceCompletion(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Waits for an workflow to complete and returns an WorkflowInstanceStatus object that contains metadata about the completed instance.

        A "completed" workflow instance is any instance in one of the terminal states. For example, the Completed, Failed, or Terminated states.

        Workflows are long-running and could take hours, days, or months before completing. Workflows can also be eternal, in which case they'll never complete unless terminated. In such cases, this call may block indefinitely, so care must be taken to ensure appropriate timeouts are used. If an workflow instance is already complete when this method is called, the method will return immediately.

        Parameters:
        instanceId - the unique ID of the workflow instance to wait for
        timeout - the amount of time to wait for the workflow instance to complete
        getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
        Returns:
        the workflow instance metadata or null if no such instance is found
        Throws:
        TimeoutException - when the workflow instance is not completed within the specified amount of time
      • waitForWorkflowCompletion

        @Nullable public WorkflowState waitForWorkflowCompletion(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException
        Waits for an workflow to complete and returns an WorkflowState object that contains metadata about the completed instance.

        A "completed" workflow instance is any instance in one of the terminal states. For example, the Completed, Failed, or Terminated states.

        Workflows are long-running and could take hours, days, or months before completing. Workflows can also be eternal, in which case they'll never complete unless terminated. In such cases, this call may block indefinitely, so care must be taken to ensure appropriate timeouts are used. If an workflow instance is already complete when this method is called, the method will return immediately.

        Parameters:
        instanceId - the unique ID of the workflow instance to wait for
        timeout - the amount of time to wait for the workflow instance to complete
        getInputsAndOutputs - true to fetch the workflow instance's inputs, outputs, and custom status, or false to omit them
        Returns:
        the workflow instance metadata or null if no such instance is found
        Throws:
        TimeoutException - when the workflow instance is not completed within the specified amount of time
      • raiseEvent

        public void raiseEvent(String workflowInstanceId, String eventName, Object eventPayload)
        Sends an event notification message to awaiting workflow instance.
        Parameters:
        workflowInstanceId - The ID of the workflow instance that will handle the event.
        eventName - The name of the event. Event names are case-insensitive.
        eventPayload - The serializable data payload to include with the event.
      • purgeInstance

        @Deprecated(forRemoval=true) public boolean purgeInstance(String workflowInstanceId)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Purges workflow instance state from the workflow state store.
        Parameters:
        workflowInstanceId - The unique ID of the workflow instance to purge.
        Returns:
        Return true if the workflow state was found and purged successfully otherwise false.
      • purgeWorkflow

        public boolean purgeWorkflow(String workflowInstanceId)
        Purges workflow instance state from the workflow state store.
        Parameters:
        workflowInstanceId - The unique ID of the workflow instance to purge.
        Returns:
        Return true if the workflow state was found and purged successfully otherwise false.
      • close

        public void close() throws InterruptedException
        Closes the inner DurableTask client and shutdown the GRPC channel.
        Specified by:
        close in interface AutoCloseable
        Throws:
        InterruptedException

    ================================================ FILE: docs/io/dapr/workflows/client/WorkflowFailureDetails.html ================================================ WorkflowFailureDetails (dapr-sdk-parent 1.17.2 API)

    Interface WorkflowFailureDetails

    All Known Implementing Classes:
    DefaultWorkflowFailureDetails

    public interface WorkflowFailureDetails
    Represents a workflow failure details.
    • Method Summary

      Modifier and Type
      Method
      Description
      Gets the error message.
      Gets the error type, which is the namespace-qualified exception type name.
      Gets the stack trace.
      default boolean
      isCausedBy(Class<? extends Exception> exceptionClass)
      Checks whether the failure was caused by the provided exception class.
    • Method Details

      • getErrorType

        String getErrorType()
        Gets the error type, which is the namespace-qualified exception type name.
        Returns:
        the error type, which is the namespace-qualified exception type name
      • getErrorMessage

        String getErrorMessage()
        Gets the error message.
        Returns:
        the error message
      • getStackTrace

        String getStackTrace()
        Gets the stack trace.
        Returns:
        the stack trace
      • isCausedBy

        default boolean isCausedBy(Class<? extends Exception> exceptionClass)
        Checks whether the failure was caused by the provided exception class.
        Parameters:
        exceptionClass - the exception class to check
        Returns:
        true if the failure was caused by the provided exception class

    ================================================ FILE: docs/io/dapr/workflows/client/WorkflowInstanceStatus.html ================================================ WorkflowInstanceStatus (dapr-sdk-parent 1.17.2 API)

    Interface WorkflowInstanceStatus

    All Known Implementing Classes:
    DefaultWorkflowInstanceStatus

    @Deprecated(forRemoval=true) public interface WorkflowInstanceStatus
    Deprecated, for removal: This API element is subject to removal in a future version.
    Use WorkflowState instead.
    Represents a snapshot of a workflow instance's current state, including metadata.
    • Method Summary

      Modifier and Type
      Method
      Description
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the workflow instance's creation time in UTC.
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the failure details, if any, for the failed workflow instance.
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the unique ID of the workflow instance.
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the workflow instance's last updated time in UTC.
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the name of the workflow.
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the current runtime status of the workflow instance at the time this object was fetched.
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the workflow instance's serialized input, if any, as a string value.
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the workflow instance's serialized output, if any, as a string value.
      boolean
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets a value indicating whether the workflow instance was completed at the time this object was fetched.
      boolean
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets a value indicating whether the workflow instance was running at the time this object was fetched.
      <T> T
      readInputAs(Class<T> type)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Deserializes the workflow's input into an object of the specified type.
      <T> T
      Deprecated, for removal: This API element is subject to removal in a future version.
      Deserializes the workflow's output into an object of the specified type.
    • Method Details

      • getName

        String getName()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Gets the name of the workflow.
        Returns:
        the name of the workflow
      • getInstanceId

        String getInstanceId()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Gets the unique ID of the workflow instance.
        Returns:
        the unique ID of the workflow instance
      • getRuntimeStatus

        WorkflowRuntimeStatus getRuntimeStatus()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Gets the current runtime status of the workflow instance at the time this object was fetched.
        Returns:
        the current runtime status of the workflow instance at the time this object was fetched
      • getCreatedAt

        Instant getCreatedAt()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Gets the workflow instance's creation time in UTC.
        Returns:
        the workflow instance's creation time in UTC
      • getLastUpdatedAt

        Instant getLastUpdatedAt()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Gets the workflow instance's last updated time in UTC.
        Returns:
        the workflow instance's last updated time in UTC
      • getSerializedInput

        String getSerializedInput()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Gets the workflow instance's serialized input, if any, as a string value.
        Returns:
        the workflow instance's serialized input or null
      • getSerializedOutput

        String getSerializedOutput()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Gets the workflow instance's serialized output, if any, as a string value.
        Returns:
        the workflow instance's serialized output or null
      • getFailureDetails

        @Nullable WorkflowFailureDetails getFailureDetails()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Gets the failure details, if any, for the failed workflow instance.

        This method returns data only if the workflow is in the WorkflowFailureDetails failureDetails, and only if this instance metadata was fetched with the option to include output data.

        Returns:
        the failure details of the failed workflow instance or null
      • isRunning

        boolean isRunning()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Gets a value indicating whether the workflow instance was running at the time this object was fetched.
        Returns:
        true if the workflow existed and was in a running state otherwise false
      • isCompleted

        boolean isCompleted()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Gets a value indicating whether the workflow instance was completed at the time this object was fetched.

        A workflow instance is considered completed when its runtime status value is WorkflowRuntimeStatus.COMPLETED, WorkflowRuntimeStatus.FAILED, or WorkflowRuntimeStatus.TERMINATED.

        Returns:
        true if the workflow was in a terminal state; otherwise false
      • readInputAs

        <T> T readInputAs(Class<T> type)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Deserializes the workflow's input into an object of the specified type.

        Deserialization is performed using the DataConverter that was configured on the DurableTaskClient object that created this workflow metadata object.

        Type Parameters:
        T - the type to deserialize the input data into
        Parameters:
        type - the class associated with the type to deserialize the input data into
        Returns:
        the deserialized input value
        Throws:
        IllegalStateException - if the metadata was fetched without the option to read inputs and outputs
      • readOutputAs

        <T> T readOutputAs(Class<T> type)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Deserializes the workflow's output into an object of the specified type.

        Deserialization is performed using the DataConverter that was configured on the DurableTaskClient object that created this workflow metadata object.

        Type Parameters:
        T - the type to deserialize the output data into
        Parameters:
        type - the class associated with the type to deserialize the output data into
        Returns:
        the deserialized input value
        Throws:
        IllegalStateException - if the metadata was fetched without the option to read inputs and outputs

    ================================================ FILE: docs/io/dapr/workflows/client/class-use/DaprWorkflowClient.html ================================================ Uses of Class io.dapr.workflows.client.DaprWorkflowClient (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.workflows.client.DaprWorkflowClient

    No usage of io.dapr.workflows.client.DaprWorkflowClient

    ================================================ FILE: docs/io/dapr/workflows/client/class-use/WorkflowFailureDetails.html ================================================ Uses of Interface io.dapr.workflows.client.WorkflowFailureDetails (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.workflows.client.WorkflowFailureDetails

    Packages that use WorkflowFailureDetails

    ================================================ FILE: docs/io/dapr/workflows/client/class-use/WorkflowInstanceStatus.html ================================================ Uses of Interface io.dapr.workflows.client.WorkflowInstanceStatus (dapr-sdk-parent 1.17.2 API)

    Uses of Interface
    io.dapr.workflows.client.WorkflowInstanceStatus

    Packages that use WorkflowInstanceStatus

    ================================================ FILE: docs/io/dapr/workflows/client/package-summary.html ================================================ io.dapr.workflows.client (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.workflows.client


    package io.dapr.workflows.client

    ================================================ FILE: docs/io/dapr/workflows/client/package-tree.html ================================================ io.dapr.workflows.client Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.workflows.client

    Package Hierarchies:

    Class Hierarchy

    Interface Hierarchy

    Enum Hierarchy


    ================================================ FILE: docs/io/dapr/workflows/client/package-use.html ================================================ Uses of Package io.dapr.workflows.client (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.workflows.client

    Packages that use io.dapr.workflows.client

    ================================================ FILE: docs/io/dapr/workflows/internal/ApiTokenClientInterceptor.html ================================================ ApiTokenClientInterceptor (dapr-sdk-parent 1.17.2 API)

    Class ApiTokenClientInterceptor

    java.lang.Object
    io.dapr.workflows.internal.ApiTokenClientInterceptor
    All Implemented Interfaces:
    io.grpc.ClientInterceptor

    public class ApiTokenClientInterceptor extends Object implements io.grpc.ClientInterceptor
    • Constructor Details

      • ApiTokenClientInterceptor

        public ApiTokenClientInterceptor(Properties properties)
    • Method Details

      • interceptCall

        public <ReqT, RespT> io.grpc.ClientCall<ReqT,RespT> interceptCall(io.grpc.MethodDescriptor<ReqT,RespT> methodDescriptor, io.grpc.CallOptions options, io.grpc.Channel channel)
        Specified by:
        interceptCall in interface io.grpc.ClientInterceptor

    ================================================ FILE: docs/io/dapr/workflows/internal/class-use/ApiTokenClientInterceptor.html ================================================ Uses of Class io.dapr.workflows.internal.ApiTokenClientInterceptor (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.workflows.internal.ApiTokenClientInterceptor

    No usage of io.dapr.workflows.internal.ApiTokenClientInterceptor

    ================================================ FILE: docs/io/dapr/workflows/internal/package-summary.html ================================================ io.dapr.workflows.internal (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.workflows.internal


    package io.dapr.workflows.internal

    ================================================ FILE: docs/io/dapr/workflows/internal/package-tree.html ================================================ io.dapr.workflows.internal Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.workflows.internal

    Package Hierarchies:

    Class Hierarchy


    ================================================ FILE: docs/io/dapr/workflows/internal/package-use.html ================================================ Uses of Package io.dapr.workflows.internal (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.workflows.internal

    No usage of io.dapr.workflows.internal

    ================================================ FILE: docs/io/dapr/workflows/package-summary.html ================================================ io.dapr.workflows (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.workflows


    package io.dapr.workflows

    ================================================ FILE: docs/io/dapr/workflows/package-tree.html ================================================ io.dapr.workflows Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.workflows

    Package Hierarchies:

    Class Hierarchy

    Interface Hierarchy


    ================================================ FILE: docs/io/dapr/workflows/package-use.html ================================================ Uses of Package io.dapr.workflows (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.workflows

    Packages that use io.dapr.workflows

    ================================================ FILE: docs/io/dapr/workflows/runtime/WorkflowRuntime.html ================================================ WorkflowRuntime (dapr-sdk-parent 1.17.2 API)

    Class WorkflowRuntime

    java.lang.Object
    io.dapr.workflows.runtime.WorkflowRuntime
    All Implemented Interfaces:
    AutoCloseable

    public class WorkflowRuntime extends Object implements AutoCloseable
    Contains methods to register workflows and activities.
    • Constructor Details

      • WorkflowRuntime

        public WorkflowRuntime(DurableTaskGrpcWorker worker, io.grpc.ManagedChannel managedChannel, ExecutorService executorService)
        Constructor.
        Parameters:
        worker - grpcWorker processing activities.
        managedChannel - grpc channel.
        executorService - executor service responsible for running the threads.
    • Method Details

      • start

        public void start()
        Start the Workflow runtime processing items and block.
      • start

        public void start(boolean block)
        Start the Workflow runtime processing items.
        Parameters:
        block - block the thread if true
      • close

        public void close()
        Specified by:
        close in interface AutoCloseable

    ================================================ FILE: docs/io/dapr/workflows/runtime/WorkflowRuntimeBuilder.html ================================================ WorkflowRuntimeBuilder (dapr-sdk-parent 1.17.2 API)

    Class WorkflowRuntimeBuilder

    java.lang.Object
    io.dapr.workflows.runtime.WorkflowRuntimeBuilder

    public class WorkflowRuntimeBuilder extends Object
    • Constructor Details

      • WorkflowRuntimeBuilder

        public WorkflowRuntimeBuilder()
        Constructs the WorkflowRuntimeBuilder.
      • WorkflowRuntimeBuilder

        public WorkflowRuntimeBuilder(Properties properties)
        Constructs the WorkflowRuntimeBuilder.
        Parameters:
        properties - Properties to use.
      • WorkflowRuntimeBuilder

        public WorkflowRuntimeBuilder(org.slf4j.Logger logger)
    • Method Details

      • build

        public WorkflowRuntime build()
        Returns a WorkflowRuntime object.
        Returns:
        A WorkflowRuntime object.
      • withExecutorService

        public WorkflowRuntimeBuilder withExecutorService(ExecutorService executorService)
        Register Executor Service to use with workflow.
        Parameters:
        executorService - to be used.
        Returns:
        WorkflowRuntimeBuilder.
      • registerWorkflow

        public <T extends Workflow> WorkflowRuntimeBuilder registerWorkflow(Class<T> clazz)
        Registers a Workflow object.
        Type Parameters:
        T - any Workflow type
        Parameters:
        clazz - the class being registered
        Returns:
        the WorkflowRuntimeBuilder
      • registerWorkflow

        public <T extends Workflow> WorkflowRuntimeBuilder registerWorkflow(String name, Class<T> clazz)
        Registers a Workflow object.
        Type Parameters:
        T - any Workflow type
        Parameters:
        name - the name of the workflow to register
        clazz - the class being registered
        Returns:
        the WorkflowRuntimeBuilder
      • registerWorkflow

        public <T extends Workflow> WorkflowRuntimeBuilder registerWorkflow(String name, Class<T> clazz, String versionName, Boolean isLatestVersion)
        Registers a Workflow object.
        Type Parameters:
        T - any Workflow type
        Parameters:
        name - the name of the workflow to register
        clazz - the class being registered
        versionName - the version name of the workflow
        isLatestVersion - whether the workflow is the latest version
        Returns:
        the WorkflowRuntimeBuilder
      • registerWorkflow

        public <T extends Workflow> WorkflowRuntimeBuilder registerWorkflow(T instance)
        Registers a Workflow object.
        Type Parameters:
        T - any Workflow type
        Parameters:
        instance - the workflow instance being registered
        Returns:
        the WorkflowRuntimeBuilder
      • registerWorkflow

        public <T extends Workflow> WorkflowRuntimeBuilder registerWorkflow(String name, T instance, String versionName, Boolean isLatestVersion)
        Registers a Workflow object.
        Type Parameters:
        T - any Workflow type
        Parameters:
        name - the name of the workflow to register
        instance - the workflow instance being registered
        versionName - the version name of the workflow
        isLatestVersion - whether the workflow is the latest version
        Returns:
        the WorkflowRuntimeBuilder
      • registerActivity

        public <T extends WorkflowActivity> WorkflowRuntimeBuilder registerActivity(Class<T> clazz)
        Registers an Activity object.
        Type Parameters:
        T - any WorkflowActivity type
        Parameters:
        clazz - the class being registered
        Returns:
        the WorkflowRuntimeBuilder
      • registerActivity

        public <T extends WorkflowActivity> WorkflowRuntimeBuilder registerActivity(String name, Class<T> clazz)
        Registers an Activity object.
        Type Parameters:
        T - any WorkflowActivity type
        Parameters:
        name - Name of the activity to register.
        clazz - Class of the activity to register.
        Returns:
        the WorkflowRuntimeBuilder
      • registerActivity

        public <T extends WorkflowActivity> WorkflowRuntimeBuilder registerActivity(T instance)
        Registers an Activity object.
        Type Parameters:
        T - any WorkflowActivity type
        Parameters:
        instance - the class instance being registered
        Returns:
        the WorkflowRuntimeBuilder
      • registerActivity

        public <T extends WorkflowActivity> WorkflowRuntimeBuilder registerActivity(String name, T instance)
        Registers an Activity object.
        Type Parameters:
        T - any WorkflowActivity type
        Parameters:
        name - Name of the activity to register.
        instance - the class instance being registered
        Returns:
        the WorkflowRuntimeBuilder
      • registerTaskActivityFactory

        public WorkflowRuntimeBuilder registerTaskActivityFactory(String activityName, TaskActivityFactory taskActivityFactory)
        Registers a Task Activity using a TaskActivityFactory.

        This method allows advanced use cases where activities are created dynamically or require custom instantiation logic instead of relying on class-based or instance-based registration.

        Parameters:
        activityName - the logical name of the activity to register
        taskActivityFactory - the factory responsible for creating the activity
        Returns:
        the WorkflowRuntimeBuilder
      • registerTaskOrchestrationFactory

        public WorkflowRuntimeBuilder registerTaskOrchestrationFactory(String orchestrationName, TaskOrchestrationFactory taskOrchestrationFactory)
        Registers a Task Orchestration using a TaskOrchestrationFactory.

        This method is intended for advanced scenarios where orchestrations are created programmatically or require custom construction logic, rather than being registered via workflow classes or instances.

        Parameters:
        orchestrationName - the logical name of the orchestration to register
        taskOrchestrationFactory - the factory responsible for creating the orchestration
        Returns:
        the WorkflowRuntimeBuilder

    ================================================ FILE: docs/io/dapr/workflows/runtime/class-use/WorkflowRuntime.html ================================================ Uses of Class io.dapr.workflows.runtime.WorkflowRuntime (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.workflows.runtime.WorkflowRuntime

    Packages that use WorkflowRuntime
    Package
    Description
     

    ================================================ FILE: docs/io/dapr/workflows/runtime/class-use/WorkflowRuntimeBuilder.html ================================================ Uses of Class io.dapr.workflows.runtime.WorkflowRuntimeBuilder (dapr-sdk-parent 1.17.2 API)

    Uses of Class
    io.dapr.workflows.runtime.WorkflowRuntimeBuilder

    Packages that use WorkflowRuntimeBuilder

    ================================================ FILE: docs/io/dapr/workflows/runtime/package-summary.html ================================================ io.dapr.workflows.runtime (dapr-sdk-parent 1.17.2 API)

    Package io.dapr.workflows.runtime


    package io.dapr.workflows.runtime

    ================================================ FILE: docs/io/dapr/workflows/runtime/package-tree.html ================================================ io.dapr.workflows.runtime Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For Package io.dapr.workflows.runtime

    Package Hierarchies:

    Class Hierarchy


    ================================================ FILE: docs/io/dapr/workflows/runtime/package-use.html ================================================ Uses of Package io.dapr.workflows.runtime (dapr-sdk-parent 1.17.2 API)

    Uses of Package
    io.dapr.workflows.runtime

    Packages that use io.dapr.workflows.runtime

    ================================================ FILE: docs/jquery-ui.overrides.css ================================================ /* * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { /* Overrides the color of selection used in jQuery UI */ background: #F8981D; border: 1px solid #F8981D; } ================================================ FILE: docs/legal/ADDITIONAL_LICENSE_INFO ================================================ ADDITIONAL INFORMATION ABOUT LICENSING Certain files distributed by Oracle America, Inc. and/or its affiliates are subject to the following clarification and special exception to the GPLv2, based on the GNU Project exception for its Classpath libraries, known as the GNU Classpath Exception. Note that Oracle includes multiple, independent programs in this software package. Some of those programs are provided under licenses deemed incompatible with the GPLv2 by the Free Software Foundation and others. For example, the package includes programs licensed under the Apache License, Version 2.0 and may include FreeType. Such programs are licensed to you under their original licenses. Oracle facilitates your further distribution of this package by adding the Classpath Exception to the necessary parts of its GPLv2 code, which permits you to use that code in combination with other independent modules not licensed under the GPLv2. However, note that this would not permit you to commingle code under an incompatible license with Oracle's GPLv2 licensed code by, for example, cutting and pasting such code into a file also containing Oracle's GPLv2 licensed code and then distributing the result. Additionally, if you were to remove the Classpath Exception from any of the files to which it applies and distribute the result, you would likely be required to license some or all of the other code in that distribution under the GPLv2 as well, and since the GPLv2 is incompatible with the license terms of some items included in the distribution by Oracle, removing the Classpath Exception could therefore effectively compromise your ability to further distribute the package. Failing to distribute notices associated with some files may also create unexpected legal consequences. Proceed with caution and we recommend that you obtain the advice of a lawyer skilled in open source matters before removing the Classpath Exception or making modifications to this package which may subsequently be redistributed and/or involve the use of third party software. ================================================ FILE: docs/legal/ASSEMBLY_EXCEPTION ================================================ OPENJDK ASSEMBLY EXCEPTION The OpenJDK source code made available by Oracle America, Inc. (Oracle) at openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU General Public License version 2 only ("GPL2"), with the following clarification and special exception. Linking this OpenJDK Code statically or dynamically with other code is making a combined work based on this library. Thus, the terms and conditions of GPL2 cover the whole combination. As a special exception, Oracle gives you permission to link this OpenJDK Code with certain code licensed by Oracle as indicated at http://openjdk.java.net/legal/exception-modules-2007-05-08.html ("Designated Exception Modules") to produce an executable, regardless of the license terms of the Designated Exception Modules, and to copy and distribute the resulting executable under GPL2, provided that the Designated Exception Modules continue to be governed by the licenses under which they were offered by Oracle. As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code to build an executable that includes those portions of necessary code that Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 with the Classpath exception). If you modify or add to the OpenJDK code, that new GPL2 code may still be combined with Designated Exception Modules if the new code is made subject to this exception by its copyright holder. ================================================ FILE: docs/legal/LICENSE ================================================ The GNU General Public License (GPL) Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. One line to give the program's name and a brief idea of what it does. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free software, and you are welcome to redistribute it under certain conditions; type 'show c' for details. The hypothetical commands 'show w' and 'show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than 'show w' and 'show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program 'Gnomovision' (which makes passes at compilers) written by James Hacker. signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. "CLASSPATH" EXCEPTION TO THE GPL Certain source files distributed by Oracle America and/or its affiliates are subject to the following clarification and special exception to the GPL, but only where Oracle has expressly included in the particular source file's header the words "Oracle designates this particular file as subject to the "Classpath" exception as provided by Oracle in the LICENSE file that accompanied this code." Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. ================================================ FILE: docs/legal/jquery.md ================================================ ## jQuery v3.7.1 ### jQuery License ``` jQuery v 3.7.1 Copyright OpenJS Foundation and other contributors, https://openjsf.org/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ================================================ FILE: docs/legal/jqueryUI.md ================================================ ## jQuery UI v1.14.1 ### jQuery UI License ``` Copyright OpenJS Foundation and other contributors, https://openjsf.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision history available at https://github.com/jquery/jquery-ui The following license applies to all parts of this software except as documented below: ==== Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ==== Copyright and related rights for sample code are waived via CC0. Sample code is defined as all source code contained within the demos directory. CC0: http://creativecommons.org/publicdomain/zero/1.0/ ==== All files located in the node_modules and external directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms above. ``` ================================================ FILE: docs/member-search-index.js ================================================ memberSearchIndex = [{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"abandonTaskActivityWorkItem(OrchestratorService.AbandonActivityTaskRequest)","u":"abandonTaskActivityWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonActivityTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"abandonTaskActivityWorkItem(OrchestratorService.AbandonActivityTaskRequest)","u":"abandonTaskActivityWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonActivityTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"abandonTaskActivityWorkItem(OrchestratorService.AbandonActivityTaskRequest)","u":"abandonTaskActivityWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonActivityTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"abandonTaskActivityWorkItem(OrchestratorService.AbandonActivityTaskRequest, StreamObserver)","u":"abandonTaskActivityWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonActivityTaskRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"abandonTaskActivityWorkItem(OrchestratorService.AbandonActivityTaskRequest, StreamObserver)","u":"abandonTaskActivityWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonActivityTaskRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"abandonTaskEntityWorkItem(OrchestratorService.AbandonEntityTaskRequest)","u":"abandonTaskEntityWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonEntityTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"abandonTaskEntityWorkItem(OrchestratorService.AbandonEntityTaskRequest)","u":"abandonTaskEntityWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonEntityTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"abandonTaskEntityWorkItem(OrchestratorService.AbandonEntityTaskRequest)","u":"abandonTaskEntityWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonEntityTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"abandonTaskEntityWorkItem(OrchestratorService.AbandonEntityTaskRequest, StreamObserver)","u":"abandonTaskEntityWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonEntityTaskRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"abandonTaskEntityWorkItem(OrchestratorService.AbandonEntityTaskRequest, StreamObserver)","u":"abandonTaskEntityWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonEntityTaskRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"abandonTaskOrchestratorWorkItem(OrchestratorService.AbandonOrchestrationTaskRequest)","u":"abandonTaskOrchestratorWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonOrchestrationTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"abandonTaskOrchestratorWorkItem(OrchestratorService.AbandonOrchestrationTaskRequest)","u":"abandonTaskOrchestratorWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonOrchestrationTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"abandonTaskOrchestratorWorkItem(OrchestratorService.AbandonOrchestrationTaskRequest)","u":"abandonTaskOrchestratorWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonOrchestrationTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"abandonTaskOrchestratorWorkItem(OrchestratorService.AbandonOrchestrationTaskRequest, StreamObserver)","u":"abandonTaskOrchestratorWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonOrchestrationTaskRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"abandonTaskOrchestratorWorkItem(OrchestratorService.AbandonOrchestrationTaskRequest, StreamObserver)","u":"abandonTaskOrchestratorWorkItem(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonOrchestrationTaskRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"AbstractActor(ActorRuntimeContext, ActorId)","u":"%3Cinit%3E(io.dapr.actors.runtime.ActorRuntimeContext,io.dapr.actors.ActorId)"},{"p":"io.dapr.spring.data","c":"AbstractDaprKeyValueAdapter","l":"AbstractDaprKeyValueAdapter(DaprClient, String)","u":"%3Cinit%3E(io.dapr.client.DaprClient,java.lang.String)"},{"p":"io.dapr.spring6.data","c":"AbstractDaprKeyValueAdapter","l":"AbstractDaprKeyValueAdapter(DaprClient, String)","u":"%3Cinit%3E(io.dapr.client.DaprClient,java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy","c":"AbstractDaprWaitStrategy","l":"AbstractDaprWaitStrategy()","u":"%3Cinit%3E()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"ACCEPTED_PREDICTION_TOKENS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"ACTION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"ACTIONS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"ACTIONS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"ACTIVE_ACTORS_COUNT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"ACTIVE_ACTORS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.RequestCase","l":"ACTIVITYREQUEST"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"ACTIVITYREQUEST_FIELD_NUMBER"},{"p":"io.dapr.durabletask.runner","c":"ActivityRunner","l":"ActivityRunner(OrchestratorService.WorkItem, TaskActivityExecutor, TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub, Tracer)","u":"%3Cinit%3E(io.dapr.durabletask.implementation.protobuf.OrchestratorService.WorkItem,io.dapr.durabletask.TaskActivityExecutor,io.dapr.durabletask.implementation.protobuf.TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub,io.opentelemetry.api.trace.Tracer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"ACTOR_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"ACTOR_RUNTIME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"ACTOR_TYPE_FIELD_NUMBER"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Actor","l":"Actor()","u":"%3Cinit%3E()"},{"p":"io.dapr.actors.client","c":"ActorClient","l":"ActorClient()","u":"%3Cinit%3E()"},{"p":"io.dapr.actors.client","c":"ActorClient","l":"ActorClient(Properties)","u":"%3Cinit%3E(io.dapr.config.Properties)"},{"p":"io.dapr.actors.client","c":"ActorClient","l":"ActorClient(Properties, Map, ResiliencyOptions)","u":"%3Cinit%3E(io.dapr.config.Properties,java.util.Map,io.dapr.client.resiliency.ResiliencyOptions)"},{"p":"io.dapr.actors.client","c":"ActorClient","l":"ActorClient(Properties, ResiliencyOptions)","u":"%3Cinit%3E(io.dapr.config.Properties,io.dapr.client.resiliency.ResiliencyOptions)"},{"p":"io.dapr.actors.client","c":"ActorClient","l":"ActorClient(ResiliencyOptions)","u":"%3Cinit%3E(io.dapr.client.resiliency.ResiliencyOptions)"},{"p":"io.dapr.actors","c":"ActorId","l":"ActorId(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.client.domain","c":"ActorMetadata","l":"ActorMetadata(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"io.dapr.actors.runtime","c":"ActorObjectSerializer","l":"ActorObjectSerializer()","u":"%3Cinit%3E()"},{"p":"io.dapr.actors.client","c":"ActorProxyBuilder","l":"ActorProxyBuilder(Class, ActorClient)","u":"%3Cinit%3E(java.lang.Class,io.dapr.actors.client.ActorClient)"},{"p":"io.dapr.actors.client","c":"ActorProxyBuilder","l":"ActorProxyBuilder(String, Class, ActorClient)","u":"%3Cinit%3E(java.lang.String,java.lang.Class,io.dapr.actors.client.ActorClient)"},{"p":"io.dapr.actors","c":"ActorTrace","l":"ActorTrace()","u":"%3Cinit%3E()"},{"p":"io.dapr.actors","c":"ActorUtils","l":"ActorUtils()","u":"%3Cinit%3E()"},{"p":"io.dapr.testcontainers.wait.strategy","c":"ActorWaitStrategy","l":"ActorWaitStrategy()","u":"%3Cinit%3E()"},{"p":"io.dapr.testcontainers.wait.strategy","c":"ActorWaitStrategy","l":"ActorWaitStrategy(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.actors.runtime","c":"ActorStateChangeKind","l":"ADD"},{"p":"io.dapr.actors.runtime","c":"ActorStateManager","l":"add(String, T)","u":"add(java.lang.String,T)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addActions(int, OrchestratorService.OperationAction)","u":"addActions(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addActions(int, OrchestratorService.OperationAction.Builder)","u":"addActions(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"addActions(int, OrchestratorService.OrchestratorAction)","u":"addActions(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"addActions(int, OrchestratorService.OrchestratorAction.Builder)","u":"addActions(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addActions(OrchestratorService.OperationAction)","u":"addActions(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addActions(OrchestratorService.OperationAction.Builder)","u":"addActions(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"addActions(OrchestratorService.OrchestratorAction)","u":"addActions(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"addActions(OrchestratorService.OrchestratorAction.Builder)","u":"addActions(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addActionsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"addActionsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addActionsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"addActionsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"addActiveActors(DaprMetadataProtos.ActiveActorsCount)","u":"addActiveActors(io.dapr.v1.DaprMetadataProtos.ActiveActorsCount)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"addActiveActors(DaprMetadataProtos.ActiveActorsCount.Builder)","u":"addActiveActors(io.dapr.v1.DaprMetadataProtos.ActiveActorsCount.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"addActiveActors(int, DaprMetadataProtos.ActiveActorsCount)","u":"addActiveActors(int,io.dapr.v1.DaprMetadataProtos.ActiveActorsCount)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"addActiveActors(int, DaprMetadataProtos.ActiveActorsCount.Builder)","u":"addActiveActors(int,io.dapr.v1.DaprMetadataProtos.ActiveActorsCount.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"addActiveActorsBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"addActiveActorsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addActiveActorsCount(DaprMetadataProtos.ActiveActorsCount)","u":"addActiveActorsCount(io.dapr.v1.DaprMetadataProtos.ActiveActorsCount)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addActiveActorsCount(DaprMetadataProtos.ActiveActorsCount.Builder)","u":"addActiveActorsCount(io.dapr.v1.DaprMetadataProtos.ActiveActorsCount.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addActiveActorsCount(int, DaprMetadataProtos.ActiveActorsCount)","u":"addActiveActorsCount(int,io.dapr.v1.DaprMetadataProtos.ActiveActorsCount)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addActiveActorsCount(int, DaprMetadataProtos.ActiveActorsCount.Builder)","u":"addActiveActorsCount(int,io.dapr.v1.DaprMetadataProtos.ActiveActorsCount.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addActiveActorsCountBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addActiveActorsCountBuilder(int)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorkerBuilder","l":"addActivity(TaskActivityFactory)","u":"addActivity(io.dapr.durabletask.TaskActivityFactory)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addAllActions(Iterable)","u":"addAllActions(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"addAllActions(Iterable)","u":"addAllActions(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"addAllActiveActors(Iterable)","u":"addAllActiveActors(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addAllActiveActorsCount(Iterable)","u":"addAllActiveActorsCount(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"addAllBindings(Iterable)","u":"addAllBindings(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"addAllCapabilities(Iterable)","u":"addAllCapabilities(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"addAllCapabilities(Iterable)","u":"addAllCapabilities(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"addAllCapabilitiesValue(Iterable)","u":"addAllCapabilitiesValue(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"addAllCarryoverEvents(Iterable)","u":"addAllCarryoverEvents(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"addAllChoices(Iterable)","u":"addAllChoices(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"addAllConnectedAddresses(Iterable)","u":"addAllConnectedAddresses(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addAllContent(Iterable)","u":"addAllContent(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"addAllContent(Iterable)","u":"addAllContent(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"addAllContent(Iterable)","u":"addAllContent(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"addAllContent(Iterable)","u":"addAllContent(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"addAllContent(Iterable)","u":"addAllContent(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addAllEnabledFeatures(Iterable)","u":"addAllEnabledFeatures(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"addAllEntities(Iterable)","u":"addAllEntities(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"addAllEntries(Iterable)","u":"addAllEntries(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"addAllEntries(Iterable)","u":"addAllEntries(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"addAllEvents(Iterable)","u":"addAllEvents(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"addAllEvents(Iterable)","u":"addAllEvents(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"addAllFailedEntries(Iterable)","u":"addAllFailedEntries(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addAllHttpEndpoints(Iterable)","u":"addAllHttpEndpoints(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"addAllInputs(Iterable)","u":"addAllInputs(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addAllInputs(Iterable)","u":"addAllInputs(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"addAllInstanceIds(Iterable)","u":"addAllInstanceIds(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"addAllItems(Iterable)","u":"addAllItems(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"addAllJobs(Iterable)","u":"addAllJobs(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"addAllKeys(Iterable)","u":"addAllKeys(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"addAllKeys(Iterable)","u":"addAllKeys(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"addAllKeys(Iterable)","u":"addAllKeys(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"addAllLockSet(Iterable)","u":"addAllLockSet(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"addAllMessages(Iterable)","u":"addAllMessages(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addAllNewEvents(Iterable)","u":"addAllNewEvents(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addAllOperationInfos(Iterable)","u":"addAllOperationInfos(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"addAllOperationRequests(Iterable)","u":"addAllOperationRequests(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"addAllOperations(Iterable)","u":"addAllOperations(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"addAllOperations(Iterable)","u":"addAllOperations(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"addAllOperations(Iterable)","u":"addAllOperations(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"addAllOperationStatus(Iterable)","u":"addAllOperationStatus(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"addAllOperationStatusValue(Iterable)","u":"addAllOperationStatusValue(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"addAllOrchestrationState(Iterable)","u":"addAllOrchestrationState(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"addAllOutputs(Iterable)","u":"addAllOutputs(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"addAllOutputs(Iterable)","u":"addAllOutputs(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addAllPastEvents(Iterable)","u":"addAllPastEvents(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"addAllPatches(Iterable)","u":"addAllPatches(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addAllRegisteredComponents(Iterable)","u":"addAllRegisteredComponents(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"addAllReminders(Iterable)","u":"addAllReminders(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"addAllResults(Iterable)","u":"addAllResults(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addAllResults(Iterable)","u":"addAllResults(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"addAllRules(Iterable)","u":"addAllRules(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"addAllRules(Iterable)","u":"addAllRules(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addAllRuntimeStatus(Iterable)","u":"addAllRuntimeStatus(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"addAllRuntimeStatus(Iterable)","u":"addAllRuntimeStatus(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addAllRuntimeStatusValue(Iterable)","u":"addAllRuntimeStatusValue(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"addAllRuntimeStatusValue(Iterable)","u":"addAllRuntimeStatusValue(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"addAllStates(Iterable)","u":"addAllStates(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"addAllStates(Iterable)","u":"addAllStates(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"addAllStates(Iterable)","u":"addAllStates(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"addAllStatuses(Iterable)","u":"addAllStatuses(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"addAllSubscriptions(Iterable)","u":"addAllSubscriptions(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addAllSubscriptions(Iterable)","u":"addAllSubscriptions(java.lang.Iterable)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addAllTaskHubNames(Iterable)","u":"addAllTaskHubNames(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"addAllTo(Iterable)","u":"addAllTo(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addAllToolCalls(Iterable)","u":"addAllToolCalls(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"addAllToolCalls(Iterable)","u":"addAllToolCalls(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addAllTools(Iterable)","u":"addAllTools(java.lang.Iterable)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"addBindings(String)","u":"addBindings(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"addBindingsBytes(ByteString)","u":"addBindingsBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"addCapabilities(OrchestratorService.WorkerCapability)","u":"addCapabilities(io.dapr.durabletask.implementation.protobuf.OrchestratorService.WorkerCapability)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"addCapabilities(String)","u":"addCapabilities(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"addCapabilitiesBytes(ByteString)","u":"addCapabilitiesBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"addCapabilitiesValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"addCarryoverEvents(int, OrchestratorService.HistoryEvent)","u":"addCarryoverEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"addCarryoverEvents(int, OrchestratorService.HistoryEvent.Builder)","u":"addCarryoverEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"addCarryoverEvents(OrchestratorService.HistoryEvent)","u":"addCarryoverEvents(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"addCarryoverEvents(OrchestratorService.HistoryEvent.Builder)","u":"addCarryoverEvents(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"addCarryoverEventsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"addCarryoverEventsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"addChoices(DaprAiProtos.ConversationResultChoices)","u":"addChoices(io.dapr.v1.DaprAiProtos.ConversationResultChoices)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"addChoices(DaprAiProtos.ConversationResultChoices.Builder)","u":"addChoices(io.dapr.v1.DaprAiProtos.ConversationResultChoices.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"addChoices(int, DaprAiProtos.ConversationResultChoices)","u":"addChoices(int,io.dapr.v1.DaprAiProtos.ConversationResultChoices)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"addChoices(int, DaprAiProtos.ConversationResultChoices.Builder)","u":"addChoices(int,io.dapr.v1.DaprAiProtos.ConversationResultChoices.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"addChoicesBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"addChoicesBuilder(int)"},{"p":"io.dapr.client.domain.query.filters","c":"AndFilter","l":"addClause(V)"},{"p":"io.dapr.client.domain.query.filters","c":"OrFilter","l":"addClause(V)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"addConnectedAddresses(String)","u":"addConnectedAddresses(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"addConnectedAddressesBytes(ByteString)","u":"addConnectedAddressesBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addContent(DaprAiProtos.ConversationMessageContent)","u":"addContent(io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"addContent(DaprAiProtos.ConversationMessageContent)","u":"addContent(io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"addContent(DaprAiProtos.ConversationMessageContent)","u":"addContent(io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"addContent(DaprAiProtos.ConversationMessageContent)","u":"addContent(io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"addContent(DaprAiProtos.ConversationMessageContent)","u":"addContent(io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addContent(DaprAiProtos.ConversationMessageContent.Builder)","u":"addContent(io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"addContent(DaprAiProtos.ConversationMessageContent.Builder)","u":"addContent(io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"addContent(DaprAiProtos.ConversationMessageContent.Builder)","u":"addContent(io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"addContent(DaprAiProtos.ConversationMessageContent.Builder)","u":"addContent(io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"addContent(DaprAiProtos.ConversationMessageContent.Builder)","u":"addContent(io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addContent(int, DaprAiProtos.ConversationMessageContent)","u":"addContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"addContent(int, DaprAiProtos.ConversationMessageContent)","u":"addContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"addContent(int, DaprAiProtos.ConversationMessageContent)","u":"addContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"addContent(int, DaprAiProtos.ConversationMessageContent)","u":"addContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"addContent(int, DaprAiProtos.ConversationMessageContent)","u":"addContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addContent(int, DaprAiProtos.ConversationMessageContent.Builder)","u":"addContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"addContent(int, DaprAiProtos.ConversationMessageContent.Builder)","u":"addContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"addContent(int, DaprAiProtos.ConversationMessageContent.Builder)","u":"addContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"addContent(int, DaprAiProtos.ConversationMessageContent.Builder)","u":"addContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"addContent(int, DaprAiProtos.ConversationMessageContent.Builder)","u":"addContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addContentBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"addContentBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"addContentBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"addContentBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"addContentBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addContentBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"addContentBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"addContentBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"addContentBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"addContentBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addEnabledFeatures(String)","u":"addEnabledFeatures(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addEnabledFeaturesBytes(ByteString)","u":"addEnabledFeaturesBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"addEntities(int, OrchestratorService.EntityMetadata)","u":"addEntities(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityMetadata)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"addEntities(int, OrchestratorService.EntityMetadata.Builder)","u":"addEntities(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityMetadata.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"addEntities(OrchestratorService.EntityMetadata)","u":"addEntities(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityMetadata)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"addEntities(OrchestratorService.EntityMetadata.Builder)","u":"addEntities(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityMetadata.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"addEntitiesBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"addEntitiesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"addEntries(DaprAppCallbackProtos.TopicEventBulkRequestEntry)","u":"addEntries(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"addEntries(DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder)","u":"addEntries(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"addEntries(DaprPubsubProtos.BulkPublishRequestEntry)","u":"addEntries(io.dapr.v1.DaprPubsubProtos.BulkPublishRequestEntry)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"addEntries(DaprPubsubProtos.BulkPublishRequestEntry.Builder)","u":"addEntries(io.dapr.v1.DaprPubsubProtos.BulkPublishRequestEntry.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"addEntries(int, DaprAppCallbackProtos.TopicEventBulkRequestEntry)","u":"addEntries(int,io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"addEntries(int, DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder)","u":"addEntries(int,io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"addEntries(int, DaprPubsubProtos.BulkPublishRequestEntry)","u":"addEntries(int,io.dapr.v1.DaprPubsubProtos.BulkPublishRequestEntry)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"addEntries(int, DaprPubsubProtos.BulkPublishRequestEntry.Builder)","u":"addEntries(int,io.dapr.v1.DaprPubsubProtos.BulkPublishRequestEntry.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"addEntriesBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"addEntriesBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"addEntriesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"addEntriesBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"addEvents(int, OrchestratorService.HistoryEvent)","u":"addEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"addEvents(int, OrchestratorService.HistoryEvent)","u":"addEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"addEvents(int, OrchestratorService.HistoryEvent.Builder)","u":"addEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"addEvents(int, OrchestratorService.HistoryEvent.Builder)","u":"addEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"addEvents(OrchestratorService.HistoryEvent)","u":"addEvents(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"addEvents(OrchestratorService.HistoryEvent)","u":"addEvents(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"addEvents(OrchestratorService.HistoryEvent.Builder)","u":"addEvents(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"addEvents(OrchestratorService.HistoryEvent.Builder)","u":"addEvents(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"addEventsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"addEventsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"addEventsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"addEventsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"addFailedEntries(DaprPubsubProtos.BulkPublishResponseFailedEntry)","u":"addFailedEntries(io.dapr.v1.DaprPubsubProtos.BulkPublishResponseFailedEntry)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"addFailedEntries(DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder)","u":"addFailedEntries(io.dapr.v1.DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"addFailedEntries(int, DaprPubsubProtos.BulkPublishResponseFailedEntry)","u":"addFailedEntries(int,io.dapr.v1.DaprPubsubProtos.BulkPublishResponseFailedEntry)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"addFailedEntries(int, DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder)","u":"addFailedEntries(int,io.dapr.v1.DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"addFailedEntriesBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"addFailedEntriesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addHttpEndpoints(DaprMetadataProtos.MetadataHTTPEndpoint)","u":"addHttpEndpoints(io.dapr.v1.DaprMetadataProtos.MetadataHTTPEndpoint)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addHttpEndpoints(DaprMetadataProtos.MetadataHTTPEndpoint.Builder)","u":"addHttpEndpoints(io.dapr.v1.DaprMetadataProtos.MetadataHTTPEndpoint.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addHttpEndpoints(int, DaprMetadataProtos.MetadataHTTPEndpoint)","u":"addHttpEndpoints(int,io.dapr.v1.DaprMetadataProtos.MetadataHTTPEndpoint)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addHttpEndpoints(int, DaprMetadataProtos.MetadataHTTPEndpoint.Builder)","u":"addHttpEndpoints(int,io.dapr.v1.DaprMetadataProtos.MetadataHTTPEndpoint.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addHttpEndpointsBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addHttpEndpointsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"addInputs(DaprAiProtos.ConversationInput)","u":"addInputs(io.dapr.v1.DaprAiProtos.ConversationInput)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"addInputs(DaprAiProtos.ConversationInput.Builder)","u":"addInputs(io.dapr.v1.DaprAiProtos.ConversationInput.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addInputs(DaprAiProtos.ConversationInputAlpha2)","u":"addInputs(io.dapr.v1.DaprAiProtos.ConversationInputAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addInputs(DaprAiProtos.ConversationInputAlpha2.Builder)","u":"addInputs(io.dapr.v1.DaprAiProtos.ConversationInputAlpha2.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"addInputs(int, DaprAiProtos.ConversationInput)","u":"addInputs(int,io.dapr.v1.DaprAiProtos.ConversationInput)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"addInputs(int, DaprAiProtos.ConversationInput.Builder)","u":"addInputs(int,io.dapr.v1.DaprAiProtos.ConversationInput.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addInputs(int, DaprAiProtos.ConversationInputAlpha2)","u":"addInputs(int,io.dapr.v1.DaprAiProtos.ConversationInputAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addInputs(int, DaprAiProtos.ConversationInputAlpha2.Builder)","u":"addInputs(int,io.dapr.v1.DaprAiProtos.ConversationInputAlpha2.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"addInputsBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addInputsBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"addInputsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addInputsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"addInstanceIds(String)","u":"addInstanceIds(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"addInstanceIdsBytes(ByteString)","u":"addInstanceIdsBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"addItems(DaprStateProtos.BulkStateItem)","u":"addItems(io.dapr.v1.DaprStateProtos.BulkStateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"addItems(DaprStateProtos.BulkStateItem.Builder)","u":"addItems(io.dapr.v1.DaprStateProtos.BulkStateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"addItems(int, DaprStateProtos.BulkStateItem)","u":"addItems(int,io.dapr.v1.DaprStateProtos.BulkStateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"addItems(int, DaprStateProtos.BulkStateItem.Builder)","u":"addItems(int,io.dapr.v1.DaprStateProtos.BulkStateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"addItemsBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"addItemsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"addJobs(DaprJobsProtos.Job)","u":"addJobs(io.dapr.v1.DaprJobsProtos.Job)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"addJobs(DaprJobsProtos.Job.Builder)","u":"addJobs(io.dapr.v1.DaprJobsProtos.Job.Builder)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"addJobs(int, DaprJobsProtos.Job)","u":"addJobs(int,io.dapr.v1.DaprJobsProtos.Job)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"addJobs(int, DaprJobsProtos.Job.Builder)","u":"addJobs(int,io.dapr.v1.DaprJobsProtos.Job.Builder)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"addJobsBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"addJobsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"addKeys(String)","u":"addKeys(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"addKeys(String)","u":"addKeys(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"addKeys(String)","u":"addKeys(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"addKeysBytes(ByteString)","u":"addKeysBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"addKeysBytes(ByteString)","u":"addKeysBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"addKeysBytes(ByteString)","u":"addKeysBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"addLockSet(String)","u":"addLockSet(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"addLockSetBytes(ByteString)","u":"addLockSetBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"addMessages(DaprAiProtos.ConversationMessage)","u":"addMessages(io.dapr.v1.DaprAiProtos.ConversationMessage)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"addMessages(DaprAiProtos.ConversationMessage.Builder)","u":"addMessages(io.dapr.v1.DaprAiProtos.ConversationMessage.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"addMessages(int, DaprAiProtos.ConversationMessage)","u":"addMessages(int,io.dapr.v1.DaprAiProtos.ConversationMessage)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"addMessages(int, DaprAiProtos.ConversationMessage.Builder)","u":"addMessages(int,io.dapr.v1.DaprAiProtos.ConversationMessage.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"addMessagesBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"addMessagesBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addNewEvents(int, OrchestratorService.HistoryEvent)","u":"addNewEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addNewEvents(int, OrchestratorService.HistoryEvent.Builder)","u":"addNewEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addNewEvents(OrchestratorService.HistoryEvent)","u":"addNewEvents(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addNewEvents(OrchestratorService.HistoryEvent.Builder)","u":"addNewEvents(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addNewEventsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addNewEventsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addOperationInfos(int, OrchestratorService.OperationInfo)","u":"addOperationInfos(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addOperationInfos(int, OrchestratorService.OperationInfo.Builder)","u":"addOperationInfos(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationInfo.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addOperationInfos(OrchestratorService.OperationInfo)","u":"addOperationInfos(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addOperationInfos(OrchestratorService.OperationInfo.Builder)","u":"addOperationInfos(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationInfo.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addOperationInfosBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addOperationInfosBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"addOperationRequests(int, OrchestratorService.HistoryEvent)","u":"addOperationRequests(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"addOperationRequests(int, OrchestratorService.HistoryEvent.Builder)","u":"addOperationRequests(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"addOperationRequests(OrchestratorService.HistoryEvent)","u":"addOperationRequests(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"addOperationRequests(OrchestratorService.HistoryEvent.Builder)","u":"addOperationRequests(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"addOperationRequestsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"addOperationRequestsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"addOperations(DaprActorsProtos.TransactionalActorStateOperation)","u":"addOperations(io.dapr.v1.DaprActorsProtos.TransactionalActorStateOperation)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"addOperations(DaprActorsProtos.TransactionalActorStateOperation.Builder)","u":"addOperations(io.dapr.v1.DaprActorsProtos.TransactionalActorStateOperation.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"addOperations(DaprStateProtos.TransactionalStateOperation)","u":"addOperations(io.dapr.v1.DaprStateProtos.TransactionalStateOperation)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"addOperations(DaprStateProtos.TransactionalStateOperation.Builder)","u":"addOperations(io.dapr.v1.DaprStateProtos.TransactionalStateOperation.Builder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"addOperations(int, DaprActorsProtos.TransactionalActorStateOperation)","u":"addOperations(int,io.dapr.v1.DaprActorsProtos.TransactionalActorStateOperation)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"addOperations(int, DaprActorsProtos.TransactionalActorStateOperation.Builder)","u":"addOperations(int,io.dapr.v1.DaprActorsProtos.TransactionalActorStateOperation.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"addOperations(int, DaprStateProtos.TransactionalStateOperation)","u":"addOperations(int,io.dapr.v1.DaprStateProtos.TransactionalStateOperation)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"addOperations(int, DaprStateProtos.TransactionalStateOperation.Builder)","u":"addOperations(int,io.dapr.v1.DaprStateProtos.TransactionalStateOperation.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"addOperations(int, OrchestratorService.OperationRequest)","u":"addOperations(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"addOperations(int, OrchestratorService.OperationRequest.Builder)","u":"addOperations(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationRequest.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"addOperations(OrchestratorService.OperationRequest)","u":"addOperations(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"addOperations(OrchestratorService.OperationRequest.Builder)","u":"addOperations(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationRequest.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"addOperationsBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"addOperationsBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"addOperationsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"addOperationsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"addOperationsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"addOperationsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"addOperationStatus(OrchestratorService.OrchestrationStatus)","u":"addOperationStatus(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationStatus)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"addOperationStatusValue(int)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorkerBuilder","l":"addOrchestration(TaskOrchestrationFactory)","u":"addOrchestration(io.dapr.durabletask.orchestration.TaskOrchestrationFactory)"},{"p":"io.dapr.durabletask.orchestration","c":"TaskOrchestrationFactories","l":"addOrchestration(TaskOrchestrationFactory)","u":"addOrchestration(io.dapr.durabletask.orchestration.TaskOrchestrationFactory)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"addOrchestrationState(int, OrchestratorService.OrchestrationState)","u":"addOrchestrationState(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"addOrchestrationState(int, OrchestratorService.OrchestrationState.Builder)","u":"addOrchestrationState(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"addOrchestrationState(OrchestratorService.OrchestrationState)","u":"addOrchestrationState(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"addOrchestrationState(OrchestratorService.OrchestrationState.Builder)","u":"addOrchestrationState(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"addOrchestrationStateBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"addOrchestrationStateBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"addOutputs(DaprAiProtos.ConversationResult)","u":"addOutputs(io.dapr.v1.DaprAiProtos.ConversationResult)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"addOutputs(DaprAiProtos.ConversationResult.Builder)","u":"addOutputs(io.dapr.v1.DaprAiProtos.ConversationResult.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"addOutputs(DaprAiProtos.ConversationResultAlpha2)","u":"addOutputs(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"addOutputs(DaprAiProtos.ConversationResultAlpha2.Builder)","u":"addOutputs(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"addOutputs(int, DaprAiProtos.ConversationResult)","u":"addOutputs(int,io.dapr.v1.DaprAiProtos.ConversationResult)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"addOutputs(int, DaprAiProtos.ConversationResult.Builder)","u":"addOutputs(int,io.dapr.v1.DaprAiProtos.ConversationResult.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"addOutputs(int, DaprAiProtos.ConversationResultAlpha2)","u":"addOutputs(int,io.dapr.v1.DaprAiProtos.ConversationResultAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"addOutputs(int, DaprAiProtos.ConversationResultAlpha2.Builder)","u":"addOutputs(int,io.dapr.v1.DaprAiProtos.ConversationResultAlpha2.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"addOutputsBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"addOutputsBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"addOutputsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"addOutputsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addPastEvents(int, OrchestratorService.HistoryEvent)","u":"addPastEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addPastEvents(int, OrchestratorService.HistoryEvent.Builder)","u":"addPastEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addPastEvents(OrchestratorService.HistoryEvent)","u":"addPastEvents(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addPastEvents(OrchestratorService.HistoryEvent.Builder)","u":"addPastEvents(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addPastEventsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addPastEventsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"addPatches(String)","u":"addPatches(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"addPatchesBytes(ByteString)","u":"addPatchesBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addRegisteredComponents(DaprMetadataProtos.RegisteredComponents)","u":"addRegisteredComponents(io.dapr.v1.DaprMetadataProtos.RegisteredComponents)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addRegisteredComponents(DaprMetadataProtos.RegisteredComponents.Builder)","u":"addRegisteredComponents(io.dapr.v1.DaprMetadataProtos.RegisteredComponents.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addRegisteredComponents(int, DaprMetadataProtos.RegisteredComponents)","u":"addRegisteredComponents(int,io.dapr.v1.DaprMetadataProtos.RegisteredComponents)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addRegisteredComponents(int, DaprMetadataProtos.RegisteredComponents.Builder)","u":"addRegisteredComponents(int,io.dapr.v1.DaprMetadataProtos.RegisteredComponents.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addRegisteredComponentsBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addRegisteredComponentsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"addReminders(DaprActorsProtos.NamedActorReminder)","u":"addReminders(io.dapr.v1.DaprActorsProtos.NamedActorReminder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"addReminders(DaprActorsProtos.NamedActorReminder.Builder)","u":"addReminders(io.dapr.v1.DaprActorsProtos.NamedActorReminder.Builder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"addReminders(int, DaprActorsProtos.NamedActorReminder)","u":"addReminders(int,io.dapr.v1.DaprActorsProtos.NamedActorReminder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"addReminders(int, DaprActorsProtos.NamedActorReminder.Builder)","u":"addReminders(int,io.dapr.v1.DaprActorsProtos.NamedActorReminder.Builder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"addRemindersBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"addRemindersBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"addRepeatedField(Descriptors.FieldDescriptor, Object)","u":"addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"addResults(DaprStateProtos.QueryStateItem)","u":"addResults(io.dapr.v1.DaprStateProtos.QueryStateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"addResults(DaprStateProtos.QueryStateItem.Builder)","u":"addResults(io.dapr.v1.DaprStateProtos.QueryStateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"addResults(int, DaprStateProtos.QueryStateItem)","u":"addResults(int,io.dapr.v1.DaprStateProtos.QueryStateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"addResults(int, DaprStateProtos.QueryStateItem.Builder)","u":"addResults(int,io.dapr.v1.DaprStateProtos.QueryStateItem.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addResults(int, OrchestratorService.OperationResult)","u":"addResults(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResult)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addResults(int, OrchestratorService.OperationResult.Builder)","u":"addResults(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResult.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addResults(OrchestratorService.OperationResult)","u":"addResults(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResult)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addResults(OrchestratorService.OperationResult.Builder)","u":"addResults(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResult.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addResultsBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"addResultsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"addResultsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"addResultsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"addRules(DaprAppCallbackProtos.TopicRule)","u":"addRules(io.dapr.v1.DaprAppCallbackProtos.TopicRule)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"addRules(DaprAppCallbackProtos.TopicRule.Builder)","u":"addRules(io.dapr.v1.DaprAppCallbackProtos.TopicRule.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"addRules(DaprMetadataProtos.PubsubSubscriptionRule)","u":"addRules(io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRule)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"addRules(DaprMetadataProtos.PubsubSubscriptionRule.Builder)","u":"addRules(io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRule.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"addRules(int, DaprAppCallbackProtos.TopicRule)","u":"addRules(int,io.dapr.v1.DaprAppCallbackProtos.TopicRule)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"addRules(int, DaprAppCallbackProtos.TopicRule.Builder)","u":"addRules(int,io.dapr.v1.DaprAppCallbackProtos.TopicRule.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"addRules(int, DaprMetadataProtos.PubsubSubscriptionRule)","u":"addRules(int,io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRule)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"addRules(int, DaprMetadataProtos.PubsubSubscriptionRule.Builder)","u":"addRules(int,io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRule.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"addRulesBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"addRulesBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"addRulesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"addRulesBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addRuntimeStatus(OrchestratorService.OrchestrationStatus)","u":"addRuntimeStatus(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationStatus)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"addRuntimeStatus(OrchestratorService.OrchestrationStatus)","u":"addRuntimeStatus(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationStatus)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addRuntimeStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"addRuntimeStatusValue(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"addStates(CommonProtos.StateItem)","u":"addStates(io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"addStates(CommonProtos.StateItem)","u":"addStates(io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"addStates(CommonProtos.StateItem)","u":"addStates(io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"addStates(CommonProtos.StateItem.Builder)","u":"addStates(io.dapr.v1.CommonProtos.StateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"addStates(CommonProtos.StateItem.Builder)","u":"addStates(io.dapr.v1.CommonProtos.StateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"addStates(CommonProtos.StateItem.Builder)","u":"addStates(io.dapr.v1.CommonProtos.StateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"addStates(int, CommonProtos.StateItem)","u":"addStates(int,io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"addStates(int, CommonProtos.StateItem)","u":"addStates(int,io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"addStates(int, CommonProtos.StateItem)","u":"addStates(int,io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"addStates(int, CommonProtos.StateItem.Builder)","u":"addStates(int,io.dapr.v1.CommonProtos.StateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"addStates(int, CommonProtos.StateItem.Builder)","u":"addStates(int,io.dapr.v1.CommonProtos.StateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"addStates(int, CommonProtos.StateItem.Builder)","u":"addStates(int,io.dapr.v1.CommonProtos.StateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"addStatesBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"addStatesBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"addStatesBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"addStatesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"addStatesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"addStatesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"addStatuses(DaprAppCallbackProtos.TopicEventBulkResponseEntry)","u":"addStatuses(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"addStatuses(DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder)","u":"addStatuses(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"addStatuses(int, DaprAppCallbackProtos.TopicEventBulkResponseEntry)","u":"addStatuses(int,io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"addStatuses(int, DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder)","u":"addStatuses(int,io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"addStatusesBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"addStatusesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"addSubscriptions(DaprAppCallbackProtos.TopicSubscription)","u":"addSubscriptions(io.dapr.v1.DaprAppCallbackProtos.TopicSubscription)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"addSubscriptions(DaprAppCallbackProtos.TopicSubscription.Builder)","u":"addSubscriptions(io.dapr.v1.DaprAppCallbackProtos.TopicSubscription.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addSubscriptions(DaprMetadataProtos.PubsubSubscription)","u":"addSubscriptions(io.dapr.v1.DaprMetadataProtos.PubsubSubscription)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addSubscriptions(DaprMetadataProtos.PubsubSubscription.Builder)","u":"addSubscriptions(io.dapr.v1.DaprMetadataProtos.PubsubSubscription.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"addSubscriptions(int, DaprAppCallbackProtos.TopicSubscription)","u":"addSubscriptions(int,io.dapr.v1.DaprAppCallbackProtos.TopicSubscription)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"addSubscriptions(int, DaprAppCallbackProtos.TopicSubscription.Builder)","u":"addSubscriptions(int,io.dapr.v1.DaprAppCallbackProtos.TopicSubscription.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addSubscriptions(int, DaprMetadataProtos.PubsubSubscription)","u":"addSubscriptions(int,io.dapr.v1.DaprMetadataProtos.PubsubSubscription)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addSubscriptions(int, DaprMetadataProtos.PubsubSubscription.Builder)","u":"addSubscriptions(int,io.dapr.v1.DaprMetadataProtos.PubsubSubscription.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"addSubscriptionsBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addSubscriptionsBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"addSubscriptionsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"addSubscriptionsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addTaskHubNames(int, StringValue)","u":"addTaskHubNames(int,com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addTaskHubNames(int, StringValue.Builder)","u":"addTaskHubNames(int,com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addTaskHubNames(StringValue)","u":"addTaskHubNames(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addTaskHubNames(StringValue.Builder)","u":"addTaskHubNames(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addTaskHubNamesBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"addTaskHubNamesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"addTo(String)","u":"addTo(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"addToBytes(ByteString)","u":"addToBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addToolCalls(DaprAiProtos.ConversationToolCalls)","u":"addToolCalls(io.dapr.v1.DaprAiProtos.ConversationToolCalls)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"addToolCalls(DaprAiProtos.ConversationToolCalls)","u":"addToolCalls(io.dapr.v1.DaprAiProtos.ConversationToolCalls)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addToolCalls(DaprAiProtos.ConversationToolCalls.Builder)","u":"addToolCalls(io.dapr.v1.DaprAiProtos.ConversationToolCalls.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"addToolCalls(DaprAiProtos.ConversationToolCalls.Builder)","u":"addToolCalls(io.dapr.v1.DaprAiProtos.ConversationToolCalls.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addToolCalls(int, DaprAiProtos.ConversationToolCalls)","u":"addToolCalls(int,io.dapr.v1.DaprAiProtos.ConversationToolCalls)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"addToolCalls(int, DaprAiProtos.ConversationToolCalls)","u":"addToolCalls(int,io.dapr.v1.DaprAiProtos.ConversationToolCalls)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addToolCalls(int, DaprAiProtos.ConversationToolCalls.Builder)","u":"addToolCalls(int,io.dapr.v1.DaprAiProtos.ConversationToolCalls.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"addToolCalls(int, DaprAiProtos.ConversationToolCalls.Builder)","u":"addToolCalls(int,io.dapr.v1.DaprAiProtos.ConversationToolCalls.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addToolCallsBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"addToolCallsBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"addToolCallsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"addToolCallsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addTools(DaprAiProtos.ConversationTools)","u":"addTools(io.dapr.v1.DaprAiProtos.ConversationTools)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addTools(DaprAiProtos.ConversationTools.Builder)","u":"addTools(io.dapr.v1.DaprAiProtos.ConversationTools.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addTools(int, DaprAiProtos.ConversationTools)","u":"addTools(int,io.dapr.v1.DaprAiProtos.ConversationTools)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addTools(int, DaprAiProtos.ConversationTools.Builder)","u":"addTools(int,io.dapr.v1.DaprAiProtos.ConversationTools.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addToolsBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"addToolsBuilder(int)"},{"p":"io.dapr.spring.messaging","c":"DaprMessagingTemplate","l":"afterSingletonsInstantiated()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"ALGORITHM_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"ALGORITHM_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"ALGORITHM_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"ALGORITHM_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"ALGORITHM_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"ALGORITHM_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"allOf(List>)","u":"allOf(java.util.List)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"allOf(List>)","u":"allOf(java.util.List)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"allOf(List>)","u":"allOf(java.util.List)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"allOf(Task...)","u":"allOf(io.dapr.durabletask.Task...)"},{"p":"io.dapr.client","c":"DaprHttp","l":"ALPHA_1_API_VERSION"},{"p":"io.dapr.spring.data.repository.query","c":"DaprPredicateQueryCreator","l":"and(Part, Predicate, Iterator)","u":"and(org.springframework.data.repository.query.parser.Part,java.util.function.Predicate,java.util.Iterator)"},{"p":"io.dapr.spring6.data.repository.query","c":"DaprPredicateQueryCreator","l":"and(Part, Predicate, Iterator)","u":"and(org.springframework.data.repository.query.parser.Part,java.util.function.Predicate,java.util.Iterator)"},{"p":"io.dapr.client.domain.query.filters","c":"AndFilter","l":"AndFilter()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"anyOf(List>)","u":"anyOf(java.util.List)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"anyOf(List>)","u":"anyOf(java.util.List)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"anyOf(List>)","u":"anyOf(java.util.List)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"anyOf(Task...)","u":"anyOf(io.dapr.durabletask.Task...)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"anyOf(Task...)","u":"anyOf(io.dapr.durabletask.Task...)"},{"p":"io.dapr.config","c":"Properties","l":"API_TOKEN"},{"p":"io.dapr.client","c":"DaprHttp","l":"API_VERSION"},{"p":"io.dapr.workflows.internal","c":"ApiTokenClientInterceptor","l":"ApiTokenClientInterceptor(Properties)","u":"%3Cinit%3E(io.dapr.config.Properties)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"APP_CONNECTION_PROPERTIES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaImplBase","l":"AppCallbackAlphaImplBase()","u":"%3Cinit%3E()"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase","l":"AppCallbackHealthCheckImplBase()","u":"%3Cinit%3E()"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackImplBase","l":"AppCallbackImplBase()","u":"%3Cinit%3E()"},{"p":"io.dapr.client.domain","c":"AppConnectionPropertiesHealthMetadata","l":"AppConnectionPropertiesHealthMetadata(String, String, String, int)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,int)"},{"p":"io.dapr.client.domain","c":"AppConnectionPropertiesMetadata","l":"AppConnectionPropertiesMetadata(int, String, String, int, AppConnectionPropertiesHealthMetadata)","u":"%3Cinit%3E(int,java.lang.String,java.lang.String,int,io.dapr.client.domain.AppConnectionPropertiesHealthMetadata)"},{"p":"io.dapr.testcontainers","c":"AppHttpPipeline","l":"AppHttpPipeline(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"APPID_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorkerBuilder","l":"appId(String)","u":"appId(java.lang.String)"},{"p":"io.dapr.durabletask","c":"TaskOptions.Builder","l":"appID(String)","u":"appID(java.lang.String)"},{"p":"io.dapr.internal.resiliency","c":"TimeoutPolicy","l":"apply(CallOptions)","u":"apply(io.grpc.CallOptions)"},{"p":"io.dapr.internal.resiliency","c":"RetryPolicy","l":"apply(Flux)","u":"apply(reactor.core.publisher.Flux)"},{"p":"io.dapr.internal.resiliency","c":"RetryPolicy","l":"apply(Mono)","u":"apply(reactor.core.publisher.Mono)"},{"p":"io.dapr.durabletask","c":"OrchestratorFunction","l":"apply(TaskOrchestrationContext)","u":"apply(io.dapr.durabletask.TaskOrchestrationContext)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"ARGUMENTS_FIELD_NUMBER"},{"p":"io.dapr.client.domain.query","c":"Sorting.Order","l":"ASC"},{"p":"io.dapr.client.domain","c":"ConversationMessageRole","l":"ASSISTANT"},{"p":"io.dapr.client.domain","c":"AssistantMessage","l":"AssistantMessage(List, List)","u":"%3Cinit%3E(java.util.List,java.util.List)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"ASSOCIATED_DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"ASSOCIATED_DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"ASSOCIATED_DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"ASSOCIATED_DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"AUDIO_TOKENS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"AUDIO_TOKENS_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"Task","l":"await()"},{"p":"io.dapr.client","c":"Subscription","l":"awaitTermination()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"BACKLOGQUEUESIZE_FIELD_NUMBER"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"BAD_REQUEST"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"basePackageClasses()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"basePackageClasses()"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"basePackages()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"basePackages()"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingObservationDocumentation.TemplateLowCardinalityTags","l":"BEAN_NAME"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"BINDINGS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceImplBase","l":"bindService()"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaImplBase","l":"bindService()"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackImplBase","l":"bindService()"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase","l":"bindService()"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprImplBase","l":"bindService()"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc","l":"bindService(AppCallbackAlphaGrpc.AsyncService)","u":"bindService(io.dapr.v1.AppCallbackAlphaGrpc.AsyncService)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"bindService(AppCallbackGrpc.AsyncService)","u":"bindService(io.dapr.v1.AppCallbackGrpc.AsyncService)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc","l":"bindService(AppCallbackHealthCheckGrpc.AsyncService)","u":"bindService(io.dapr.v1.AppCallbackHealthCheckGrpc.AsyncService)"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"bindService(DaprGrpc.AsyncService)","u":"bindService(io.dapr.v1.DaprGrpc.AsyncService)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"bindService(TaskHubSidecarServiceGrpc.AsyncService)","u":"bindService(io.dapr.durabletask.implementation.protobuf.TaskHubSidecarServiceGrpc.AsyncService)"},{"p":"io.dapr.utils","c":"TypeRef","l":"BOOLEAN"},{"p":"io.dapr.client","c":"DaprClientBuilder","l":"build()"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClientBuilder","l":"build()"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorkerBuilder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"build()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"build()"},{"p":"io.dapr.durabletask","c":"TaskOptions.Builder","l":"build()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"build()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"build()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"build()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"build()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"build()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"build()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"build()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"build()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"build()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"build()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"build()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"build()"},{"p":"io.dapr.actors.client","c":"ActorProxyBuilder","l":"build(ActorId)","u":"build(io.dapr.actors.ActorId)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaBlockingV2Stub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingV2Stub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackFutureStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingV2Stub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"build(Channel, CallOptions)","u":"build(io.grpc.Channel,io.grpc.CallOptions)"},{"p":"io.dapr.client","c":"DaprHttpBuilder","l":"build(Properties)","u":"build(io.dapr.config.Properties)"},{"p":"io.dapr.durabletask","c":"TaskOptions","l":"builder()"},{"p":"io.dapr.utils","c":"NetworkUtils","l":"buildGrpcManagedChannel(Properties, ClientInterceptor...)","u":"buildGrpcManagedChannel(io.dapr.config.Properties,io.grpc.ClientInterceptor...)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"buildPartial()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"buildPartial()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"buildPartial()"},{"p":"io.dapr.client","c":"DaprClientBuilder","l":"buildPreviewClient()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"BULK_SUBSCRIBE_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"BulkPublishEntry","l":"BulkPublishEntry(String, T, String)","u":"%3Cinit%3E(java.lang.String,T,java.lang.String)"},{"p":"io.dapr.client.domain","c":"BulkPublishEntry","l":"BulkPublishEntry(String, T, String, Map)","u":"%3Cinit%3E(java.lang.String,T,java.lang.String,java.util.Map)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"bulkPublishEvent(DaprPubsubProtos.BulkPublishRequest)","u":"bulkPublishEvent(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"bulkPublishEvent(DaprPubsubProtos.BulkPublishRequest)","u":"bulkPublishEvent(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"bulkPublishEvent(DaprPubsubProtos.BulkPublishRequest)","u":"bulkPublishEvent(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"bulkPublishEvent(DaprPubsubProtos.BulkPublishRequest, StreamObserver)","u":"bulkPublishEvent(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"bulkPublishEvent(DaprPubsubProtos.BulkPublishRequest, StreamObserver)","u":"bulkPublishEvent(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"bulkPublishEventAlpha1(DaprPubsubProtos.BulkPublishRequest)","u":"bulkPublishEventAlpha1(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"bulkPublishEventAlpha1(DaprPubsubProtos.BulkPublishRequest)","u":"bulkPublishEventAlpha1(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"bulkPublishEventAlpha1(DaprPubsubProtos.BulkPublishRequest)","u":"bulkPublishEventAlpha1(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"bulkPublishEventAlpha1(DaprPubsubProtos.BulkPublishRequest, StreamObserver)","u":"bulkPublishEventAlpha1(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"bulkPublishEventAlpha1(DaprPubsubProtos.BulkPublishRequest, StreamObserver)","u":"bulkPublishEventAlpha1(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"BulkPublishRequest","l":"BulkPublishRequest(String, String, List>)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.List)"},{"p":"io.dapr.client.domain","c":"BulkPublishRequest","l":"BulkPublishRequest(String, String, List>, Map)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.List,java.util.Map)"},{"p":"io.dapr.client.domain","c":"BulkPublishResponse","l":"BulkPublishResponse()","u":"%3Cinit%3E()"},{"p":"io.dapr.client.domain","c":"BulkPublishResponse","l":"BulkPublishResponse(List>)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.dapr.client.domain","c":"BulkPublishResponseFailedEntry","l":"BulkPublishResponseFailedEntry(BulkPublishEntry, String)","u":"%3Cinit%3E(io.dapr.client.domain.BulkPublishEntry,java.lang.String)"},{"p":"io.dapr.client.domain","c":"BulkSubscribeAppResponse","l":"BulkSubscribeAppResponse(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.dapr.client.domain","c":"BulkSubscribeAppResponseEntry","l":"BulkSubscribeAppResponseEntry(String, BulkSubscribeAppResponseStatus)","u":"%3Cinit%3E(java.lang.String,io.dapr.client.domain.BulkSubscribeAppResponseStatus)"},{"p":"io.dapr.client.domain","c":"BulkSubscribeMessage","l":"BulkSubscribeMessage(List>, String, Map)","u":"%3Cinit%3E(java.util.List,java.lang.String,java.util.Map)"},{"p":"io.dapr.client.domain","c":"BulkSubscribeMessageEntry","l":"BulkSubscribeMessageEntry(String, T, String, Map)","u":"%3Cinit%3E(java.lang.String,T,java.lang.String,java.util.Map)"},{"p":"io.dapr.utils","c":"TypeRef","l":"BYTE"},{"p":"io.dapr.utils","c":"TypeRef","l":"BYTE_ARRAY"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase","l":"BYTES"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"BYTES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"CACHED_TOKENS_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callActivity(String)","u":"callActivity(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String)","u":"callActivity(java.lang.String)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callActivity(String, Class)","u":"callActivity(java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String, Class)","u":"callActivity(java.lang.String,java.lang.Class)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callActivity(String, Object)","u":"callActivity(java.lang.String,java.lang.Object)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String, Object)","u":"callActivity(java.lang.String,java.lang.Object)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callActivity(String, Object, Class)","u":"callActivity(java.lang.String,java.lang.Object,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String, Object, Class)","u":"callActivity(java.lang.String,java.lang.Object,java.lang.Class)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callActivity(String, Object, TaskOptions)","u":"callActivity(java.lang.String,java.lang.Object,io.dapr.durabletask.TaskOptions)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callActivity(String, Object, TaskOptions, Class)","u":"callActivity(java.lang.String,java.lang.Object,io.dapr.durabletask.TaskOptions,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String, Object, WorkflowTaskOptions)","u":"callActivity(java.lang.String,java.lang.Object,io.dapr.workflows.WorkflowTaskOptions)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"callActivity(String, Object, WorkflowTaskOptions, Class)","u":"callActivity(java.lang.String,java.lang.Object,io.dapr.workflows.WorkflowTaskOptions,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callActivity(String, Object, WorkflowTaskOptions, Class)","u":"callActivity(java.lang.String,java.lang.Object,io.dapr.workflows.WorkflowTaskOptions,java.lang.Class)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"CALLBACK_FIELD_NUMBER"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String)","u":"callChildWorkflow(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String, Object)","u":"callChildWorkflow(java.lang.String,java.lang.Object)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String, Object, Class)","u":"callChildWorkflow(java.lang.String,java.lang.Object,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String, Object, String, Class)","u":"callChildWorkflow(java.lang.String,java.lang.Object,java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String, Object, String, WorkflowTaskOptions)","u":"callChildWorkflow(java.lang.String,java.lang.Object,java.lang.String,io.dapr.workflows.WorkflowTaskOptions)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class)","u":"callChildWorkflow(java.lang.String,java.lang.Object,java.lang.String,io.dapr.workflows.WorkflowTaskOptions,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class)","u":"callChildWorkflow(java.lang.String,java.lang.Object,java.lang.String,io.dapr.workflows.WorkflowTaskOptions,java.lang.Class)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callSubOrchestrator(String)","u":"callSubOrchestrator(java.lang.String)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callSubOrchestrator(String, Object)","u":"callSubOrchestrator(java.lang.String,java.lang.Object)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callSubOrchestrator(String, Object, Class)","u":"callSubOrchestrator(java.lang.String,java.lang.Object,java.lang.Class)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callSubOrchestrator(String, Object, String, Class)","u":"callSubOrchestrator(java.lang.String,java.lang.Object,java.lang.String,java.lang.Class)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callSubOrchestrator(String, Object, String, TaskOptions)","u":"callSubOrchestrator(java.lang.String,java.lang.Object,java.lang.String,io.dapr.durabletask.TaskOptions)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"callSubOrchestrator(String, Object, String, TaskOptions, Class)","u":"callSubOrchestrator(java.lang.String,java.lang.Object,java.lang.String,io.dapr.durabletask.TaskOptions,java.lang.Class)"},{"p":"io.dapr.durabletask","c":"OrchestrationRuntimeStatus","l":"CANCELED"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"CANCELED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"CAPABILITIES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"CAPABILITIES_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"CARRYOVEREVENTS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"CHANNEL_ADDRESS_FIELD_NUMBER"},{"p":"io.dapr.utils","c":"TypeRef","l":"CHAR"},{"p":"io.dapr.testcontainers.wait.strategy","c":"AbstractDaprWaitStrategy","l":"checkCondition(String)","u":"checkCondition(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"CHOICES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"CIPHERTEXT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"CIPHERTEXT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"cleanEntityStorage(OrchestratorService.CleanEntityStorageRequest)","u":"cleanEntityStorage(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CleanEntityStorageRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"cleanEntityStorage(OrchestratorService.CleanEntityStorageRequest)","u":"cleanEntityStorage(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CleanEntityStorageRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"cleanEntityStorage(OrchestratorService.CleanEntityStorageRequest)","u":"cleanEntityStorage(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CleanEntityStorageRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"cleanEntityStorage(OrchestratorService.CleanEntityStorageRequest, StreamObserver)","u":"cleanEntityStorage(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CleanEntityStorageRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"cleanEntityStorage(OrchestratorService.CleanEntityStorageRequest, StreamObserver)","u":"cleanEntityStorage(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CleanEntityStorageRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.actors.runtime","c":"ActorStateManager","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"clear()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"clear()"},{"p":"io.dapr.spring.data","c":"AbstractDaprKeyValueAdapter","l":"clear()"},{"p":"io.dapr.spring6.data","c":"AbstractDaprKeyValueAdapter","l":"clear()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"clear()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"clearAcceptedPredictionTokens()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"clearAction()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"clearActions()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"clearActions()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"clearActiveActors()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearActiveActorsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"clearActivityRequest()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"clearActorId()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearActorRuntime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"clearActorType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"clearAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"clearAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"clearAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"clearAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"clearAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"clearAlgorithm()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearAppConnectionProperties()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"clearAppID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"clearArguments()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"clearAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"clearAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"clearAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"clearAssociatedData()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"clearAudioTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"clearAudioTokens()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"clearBacklogQueueSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"clearBindings()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"clearBulkSubscribe()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"clearBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"clearCachedTokens()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clearCallback()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"clearCapabilities()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"clearCapabilities()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"clearCarryoverEvents()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"clearChannelAddress()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"clearChoices()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"clearCiphertext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"clearCiphertext()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"clearCloudEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearCompletedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearCompleteOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"clearCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"clearCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"clearCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"clearCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"clearCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"clearCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"clearCompletionToken()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"clearCompletionTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"clearCompletionTokensDetails()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"clearComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"clearComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"clearComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"clearComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"clearComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"clearComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"clearComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"clearComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"clearComponentName()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"clearConcurrency()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"clearConcurrency()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"clearConnectedAddresses()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"clearConnectedWorkers()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"clearConsistency()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"clearConsistency()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"clearConstant()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"clearContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"clearContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"clearContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"clearContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"clearContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"clearContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"clearContent()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"clearContentType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"clearContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"clearContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"clearContentType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"clearContentType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"clearContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"clearContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"clearContextID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"clearContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"clearContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"clearContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clearContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"clearContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"clearContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"clearContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"clearContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearContinueAsNew()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"clearCount()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"clearCreatedAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clearCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"clearCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearCreatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clearCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"clearCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearCreateSubOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearCreateTimer()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"clearCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"clearCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"clearCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"clearCustomStatus()"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"clearCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"clearData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"clearData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"clearDataContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearDataContentType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"clearDataContentType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"clearDataEncryptionCipher()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"clearDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"clearDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"clearDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"clearDecryptionKeyName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"clearDefault()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"clearDeletedInstanceCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"clearDescription()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"clearDescription()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"clearDetails()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"clearDigest()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"clearDigest()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"clearDrop()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"clearDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"clearDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clearDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clearDueTime()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"clearDueTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"clearEmptyEntitiesRemoved()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"clearEnabled()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearEnabledFeatures()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"clearEntities()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"clearEntity()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearEntityLockGranted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"clearEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"clearEntityMessageReorderWindow()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"clearEntityMessageType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"clearEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearEntityOperationCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearEntityOperationFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"clearEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"clearEntityParameters()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"clearEntityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"clearEntityRequestV2()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"clearEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"clearEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"clearEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"clearEntityUnlockSent()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"clearEntries()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"clearEntries()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"clearEntryId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"clearEntryId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"clearEntryId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"clearEntryId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"clearError()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"clearError()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"clearError()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"clearErrorMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"clearErrorType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"clearEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"clearEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"clearEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"clearEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"clearEtag()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"clearEvent()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"clearEvent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"clearEventData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearEventId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"clearEventID()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"clearEventMessage()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"clearEventName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"clearEventProcessed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearEventRaised()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"clearEvents()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"clearEvents()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearEventSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearEventType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearExecutionCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clearExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"clearExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"clearExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"clearExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"clearExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearExecutionResumed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearExecutionStalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearExecutionStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearExecutionSuspended()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearExecutionTerminated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"clearExists()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"clearExists()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"clearExpiryInSeconds()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearExtendedMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"clearExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearExtensions()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"clearFailedEntries()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"clearFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"clearFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"clearFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"clearFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"clearFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"clearFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"clearFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"clearFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"clearFailureDetails()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clearFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"clearFailurePolicy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clearFetchInputsAndOutputs()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"clearField(Descriptors.FieldDescriptor)","u":"clearField(com.google.protobuf.Descriptors.FieldDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"clearFinishReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"clearFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"clearFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"clearFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"clearForce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"clearFormat()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"clearForWorkItemProcessing()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"clearFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"clearFunction()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearGenericEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"clearGetInputsAndOutputs()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"clearHealth()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"clearHealthCheckPath()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"clearHealthPing()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"clearHealthProbeInterval()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"clearHealthProbeTimeout()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"clearHealthThreshold()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearHistoryState()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"clearHostReady()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearHttpEndpoints()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"clearHttpExtension()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"clearHttpExtension()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"clearId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"clearId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"clearId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"clearId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearId()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"clearId()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"clearId()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"clearId()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"clearId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"clearIncludeState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"clearIncludeState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"clearIncludeTransient()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"clearIndex()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"clearInitialRequest()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"clearInitialResponse()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"clearInnerFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"clearInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"clearInput()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"clearInput()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"clearInputs()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearInputs()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"clearInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"clearInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"clearInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"clearInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"clearInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clearInstanceIdPrefix()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"clearInstanceIds()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"clearInstanceIdStartsWith()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"clearInterval()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"clearIsComplete()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"clearIsNonRetriable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"clearItems()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"clearItems()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"clearItems()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"clearJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"clearJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"clearJobs()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"clearKey()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"clearKey()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"clearKey()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"clearKey()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"clearKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"clearKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"clearKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"clearKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"clearKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"clearKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"clearKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"clearKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"clearKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"clearKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"clearKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"clearKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"clearKeyName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"clearKeys()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"clearKeys()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"clearKeys()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"clearKeyWrapAlgorithm()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"clearLastModifiedFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"clearLastModifiedTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"clearLastModifiedTo()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"clearLastUpdatedAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearLastUpdatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"clearLockedBy()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"clearLockOwner()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"clearLockOwner()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"clearLockSet()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"clearMatch()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"clearMatch()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"clearMaxAwaitDurationMs()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"clearMaxConcurrency()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"clearMaxConcurrentActivityWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"clearMaxConcurrentEntityWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"clearMaxConcurrentOrchestrationWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clearMaxInstanceCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"clearMaxMessagesCount()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"clearMaxRetries()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"clearMessage()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"clearMessage()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"clearMessage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"clearMessages()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"clearMessageTypes()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"clearMetadata()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"clearMethod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"clearMethod()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"clearMethod()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"clearModel()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"clearName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"clearName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"clearNamePrefix()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"clearNewChildWorkflowInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"clearNewEvents()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"clearNewInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"clearNewInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"clearNewVersion()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"clearNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"clearNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"clearNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"clearNonce()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"clearNumEventsProcessed()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"clearOfAssistant()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"clearOfDeveloper()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"clearOfSystem()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"clearOfTool()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"clearOfUser()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"clearOk()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"clearOmitDecryptionKeyName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"clearOneof(Descriptors.OneofDescriptor)","u":"clearOneof(com.google.protobuf.Descriptors.OneofDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"clearOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"clearOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"clearOperation()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"clearOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"clearOperationActionType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"clearOperationInfos()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"clearOperationRequests()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"clearOperations()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"clearOperations()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"clearOperations()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"clearOperationStatus()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"clearOperationType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"clearOperationType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"clearOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"clearOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"clearOptions()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"clearOptions()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"clearOptions()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clearOrchestrationIdReusePolicy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"clearOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clearOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"clearOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clearOrchestrationSpanID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"clearOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"clearOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"clearOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"clearOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"clearOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearOrchestratorActionType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearOrchestratorCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"clearOrchestratorRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearOrchestratorStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearOrchestratorVersionNotAvailable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"clearOrphanedLocksReleased()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"clearOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"clearOutput()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"clearOutputs()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"clearOutputs()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clearOverwrite()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"clearOverwrite()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"clearOverwriteInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"clearPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"clearPageSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"clearParallelism()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"clearParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"clearParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"clearParameters()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"clearParentExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clearParentInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"clearParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"clearParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"clearParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"clearParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clearParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clearParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"clearParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"clearParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"clearPastEvents()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"clearPatches()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"clearPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"clearPath()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"clearPath()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"clearPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"clearPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"clearPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"clearPayload()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"clearPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"clearPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clearPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clearPeriod()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"clearPlacement()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"clearPlaintext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"clearPlaintext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"clearPlaintextKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"clearPlaintextKey()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"clearPolicy()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"clearPort()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"clearPosition()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearPromptCacheRetention()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"clearPromptTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"clearPromptTokensDetails()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"clearProperties()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"clearProtocol()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"clearPublicKey()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"clearPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"clearPubsubName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"clearPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"clearPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"clearPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"clearPubsubName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"clearPurgeInstanceFilter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"clearQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"clearQuery()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"clearQuery()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"clearQuerystring()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"clearReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"clearReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"clearReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"clearReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"clearReason()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"clearReasoningTokens()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"clearRecreateIfExists()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"clearRecurse()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"clearRecurse()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"clearRecursive()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"clearRecursive()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearRegisteredComponents()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"clearRejectedPredictionTokens()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"clearReleaseOrphanedLocks()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"clearReminder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"clearReminders()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"clearRemoveEmptyEntities()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"clearRepeats()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"clearRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"clearRequest()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"clearRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"clearRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"clearRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"clearRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"clearRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"clearRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"clearRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"clearRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"clearRequiresHistoryStreaming()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"clearRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"clearRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"clearRerunParentInstanceInfo()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"clearResourceId()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"clearResourceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"clearResponseDestination()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearResponseFormat()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"clearResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"clearResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"clearResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"clearResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"clearResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"clearResult()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"clearResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"clearResults()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"clearResults()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"clearResultType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"clearRole()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"clearRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"clearRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"clearRouter()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"clearRoutes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"clearRules()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"clearRules()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"clearRules()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clearRuntimeStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"clearRuntimeStatus()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"clearRuntimeStatus()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"clearRuntimeStatus()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearRuntimeVersion()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"clearSchedule()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clearScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clearScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"clearScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"clearScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"clearScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"clearScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"clearScheduledTime()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearScheduler()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearScheduleTask()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"clearScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"clearScrubPII()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"clearScrubPII()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"clearSecrets()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearSendEntityMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearSendEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"clearSendSignal()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"clearSeq()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"clearSerializedState()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"clearSignature()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"clearSignature()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"clearSource()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearSource()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"clearSourceAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"clearSourceInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"clearSpanID()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"clearSpecVersion()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearSpecVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"clearStackTrace()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"clearStartNewOrchestration()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"clearStates()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"clearStates()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"clearStates()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"clearStatus()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"clearStatus()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"clearStatus()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"clearStatus()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"clearStatuses()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"clearStoreName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearSubOrchestrationInstanceCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearSubOrchestrationInstanceCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearSubOrchestrationInstanceFailed()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"clearSubscribeTopicEventsRequestType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"clearSubscribeTopicEventsResponseType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"clearSubscriptions()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearSubscriptions()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"clearSuccess()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"clearSuccess()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"clearTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"clearTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"clearTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"clearTag()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clearTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clearTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"clearTargetAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"clearTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"clearTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"clearTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearTaskCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"clearTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"clearTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"clearTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"clearTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"clearTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearTaskFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clearTaskHubNames()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"clearTaskId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"clearTaskId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearTaskScheduled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"clearTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"clearTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"clearTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"clearTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"clearTaskScheduledId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"clearTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearTemperature()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clearTerminateOrchestration()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"clearText()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearTimerCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearTimerFired()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"clearTimerId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clearTimestamp()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"clearTo()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"clearToken()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"clearToolCalls()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"clearToolCalls()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearToolChoice()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"clearToolId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clearTools()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"clearToolTypes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"clearToolTypes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"clearTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"clearTopic()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"clearTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"clearTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"clearTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"clearTopic()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"clearTotalTokens()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"clearTraceParent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"clearTraceState()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"clearTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"clearTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clearTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clearTtl()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"clearTtl()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"clearType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"clearType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clearType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"clearType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"clearType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"clearType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"clearUsage()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"clearValid()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"clearValue()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"clearValue()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"clearValue()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"clearValue()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"clearValue()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"clearVerb()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"clearVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clearVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"clearVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clearVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clearVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"clearVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"clearVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"clearVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"clearVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"clearVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"clearVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"clearVersion()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"clearVersion()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"clearVersion()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"clearWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"clearWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"clearWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"clearWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"clearWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"clearWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"clearWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"clearWorkflowName()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"clearWorkflowName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clearWorkflows()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"clearWrappedKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"clearWrappedKey()"},{"p":"io.dapr.spring.boot.properties.client","c":"ClientPropertiesDaprConnectionDetails","l":"ClientPropertiesDaprConnectionDetails(DaprClientProperties)","u":"%3Cinit%3E(io.dapr.spring.boot.properties.client.DaprClientProperties)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"clone()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"clone()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"clone()"},{"p":"io.dapr.actors.client","c":"ActorClient","l":"close()"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"close()"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"close()"},{"p":"io.dapr.client","c":"DaprHttp","l":"close()"},{"p":"io.dapr.client","c":"Subscription","l":"close()"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"close()"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"close()"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorker","l":"close()"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"close()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntime","l":"close()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase","l":"CLOUD_EVENT"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"CLOUD_EVENT_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"CloudEvent()","u":"%3Cinit%3E()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"CloudEvent(String, String, String, String, byte[])","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String,byte[])"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"CloudEvent(String, String, String, String, String, T)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,T)"},{"p":"io.dapr.actors","c":"ActorId","l":"compareTo(ActorId)","u":"compareTo(io.dapr.actors.ActorId)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"complete(Object)","u":"complete(java.lang.Object)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"complete(Object)","u":"complete(java.lang.Object)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"complete(Object)","u":"complete(java.lang.Object)"},{"p":"io.dapr.spring.data.repository.query","c":"DaprPredicateQueryCreator","l":"complete(Predicate, Sort)","u":"complete(java.util.function.Predicate,org.springframework.data.domain.Sort)"},{"p":"io.dapr.spring6.data.repository.query","c":"DaprPredicateQueryCreator","l":"complete(Predicate, Sort)","u":"complete(java.util.function.Predicate,org.springframework.data.domain.Sort)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"completeActivityTask(OrchestratorService.ActivityResponse)","u":"completeActivityTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"completeActivityTask(OrchestratorService.ActivityResponse)","u":"completeActivityTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"completeActivityTask(OrchestratorService.ActivityResponse)","u":"completeActivityTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"completeActivityTask(OrchestratorService.ActivityResponse, StreamObserver)","u":"completeActivityTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityResponse,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"completeActivityTask(OrchestratorService.ActivityResponse, StreamObserver)","u":"completeActivityTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityResponse,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask","c":"OrchestrationRuntimeStatus","l":"COMPLETED"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"COMPLETED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"COMPLETEDTIMESTAMP_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"completeEntityTask(OrchestratorService.EntityBatchResult)","u":"completeEntityTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchResult)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"completeEntityTask(OrchestratorService.EntityBatchResult)","u":"completeEntityTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchResult)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"completeEntityTask(OrchestratorService.EntityBatchResult)","u":"completeEntityTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchResult)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"completeEntityTask(OrchestratorService.EntityBatchResult, StreamObserver)","u":"completeEntityTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchResult,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"completeEntityTask(OrchestratorService.EntityBatchResult, StreamObserver)","u":"completeEntityTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchResult,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"COMPLETEORCHESTRATION"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"COMPLETEORCHESTRATION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"completeOrchestratorTask(OrchestratorService.OrchestratorResponse)","u":"completeOrchestratorTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"completeOrchestratorTask(OrchestratorService.OrchestratorResponse)","u":"completeOrchestratorTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"completeOrchestratorTask(OrchestratorService.OrchestratorResponse)","u":"completeOrchestratorTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"completeOrchestratorTask(OrchestratorService.OrchestratorResponse, StreamObserver)","u":"completeOrchestratorTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorResponse,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"completeOrchestratorTask(OrchestratorService.OrchestratorResponse, StreamObserver)","u":"completeOrchestratorTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorResponse,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"COMPLETION_TOKENS_DETAILS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"COMPLETION_TOKENS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"COMPLETIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"COMPLETIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"COMPLETIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"COMPLETIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"COMPLETIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"COMPLETIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"COMPLETIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"COMPONENT_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"COMPONENT_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"COMPONENT_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"COMPONENT_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"COMPONENT_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"COMPONENT_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"COMPONENT_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"COMPONENT_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"COMPONENT_NAME_FIELD_NUMBER"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Component","l":"Component()","u":"%3Cinit%3E()"},{"p":"io.dapr.testcontainers","c":"Component","l":"Component(String, String, String, List)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.util.List)"},{"p":"io.dapr.testcontainers","c":"Component","l":"Component(String, String, String, Map)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.util.Map)"},{"p":"io.dapr.client.domain","c":"ComponentMetadata","l":"ComponentMetadata(String, String, String, List)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.util.List)"},{"p":"io.dapr.testcontainers.converter","c":"ComponentYamlConverter","l":"ComponentYamlConverter(Yaml)","u":"%3Cinit%3E(org.yaml.snakeyaml.Yaml)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"CONCURRENCY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"CONCURRENCY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"CONCURRENCY_FIRST_WRITE"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"CONCURRENCY_FIRST_WRITE_VALUE"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"CONCURRENCY_LAST_WRITE"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"CONCURRENCY_LAST_WRITE_VALUE"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"CONCURRENCY_UNSPECIFIED"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"CONCURRENCY_UNSPECIFIED_VALUE"},{"p":"io.dapr.spring.boot.properties.pubsub","c":"DaprPubSubProperties","l":"CONFIG_PREFIX"},{"p":"io.dapr.spring.boot.properties.statestore","c":"DaprStateStoreProperties","l":"CONFIG_PREFIX"},{"p":"io.dapr.testcontainers","c":"Configuration","l":"Configuration(String, TracingConfigurationSettings, AppHttpPipeline)","u":"%3Cinit%3E(java.lang.String,io.dapr.testcontainers.TracingConfigurationSettings,io.dapr.testcontainers.AppHttpPipeline)"},{"p":"io.dapr.client.domain","c":"ConfigurationItem","l":"ConfigurationItem(String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"io.dapr.client.domain","c":"ConfigurationItem","l":"ConfigurationItem(String, String, String, Map)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.util.Map)"},{"p":"io.dapr.testcontainers.converter","c":"ConfigurationYamlConverter","l":"ConfigurationYamlConverter(Yaml)","u":"%3Cinit%3E(org.yaml.snakeyaml.Yaml)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"configure()"},{"p":"io.dapr.testcontainers","c":"DaprPlacementContainer","l":"configure()"},{"p":"io.dapr.testcontainers","c":"DaprSchedulerContainer","l":"configure()"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"configure()"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"CONNECT"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"CONNECT"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"CONNECT"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"CONNECT_VALUE"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"CONNECTED_ADDRESSES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"CONNECTED_WORKERS_FIELD_NUMBER"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"considerNestedRepositories()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"considerNestedRepositories()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"CONSISTENCY_EVENTUAL"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"CONSISTENCY_EVENTUAL_VALUE"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"CONSISTENCY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"CONSISTENCY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"CONSISTENCY_STRONG"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"CONSISTENCY_STRONG_VALUE"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"CONSISTENCY_UNSPECIFIED"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"CONSISTENCY_UNSPECIFIED_VALUE"},{"p":"io.dapr.client.domain","c":"FailurePolicyType","l":"CONSTANT"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.PolicyCase","l":"CONSTANT"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"CONSTANT_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"ConstantFailurePolicy","l":"ConstantFailurePolicy()","u":"%3Cinit%3E()"},{"p":"io.dapr.client.domain","c":"ConstantFailurePolicy","l":"ConstantFailurePolicy(Duration)","u":"%3Cinit%3E(java.time.Duration)"},{"p":"io.dapr.client.domain","c":"ConstantFailurePolicy","l":"ConstantFailurePolicy(Integer)","u":"%3Cinit%3E(java.lang.Integer)"},{"p":"io.dapr.spring.data","c":"AbstractDaprKeyValueAdapter","l":"contains(Object, String)","u":"contains(java.lang.Object,java.lang.String)"},{"p":"io.dapr.spring6.data","c":"AbstractDaprKeyValueAdapter","l":"contains(Object, String)","u":"contains(java.lang.Object,java.lang.String)"},{"p":"io.dapr.actors.runtime","c":"ActorStateManager","l":"contains(String)","u":"contains(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"containsData(String)","u":"containsData(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"containsData(String)","u":"containsData(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponseOrBuilder","l":"containsData(String)","u":"containsData(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"containsData(String)","u":"containsData(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"containsData(String)","u":"containsData(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponseOrBuilder","l":"containsData(String)","u":"containsData(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"containsExtendedMetadata(String)","u":"containsExtendedMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"containsExtendedMetadata(String)","u":"containsExtendedMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"containsExtendedMetadata(String)","u":"containsExtendedMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"containsItems(String)","u":"containsItems(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"containsItems(String)","u":"containsItems(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponseOrBuilder","l":"containsItems(String)","u":"containsItems(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"containsItems(String)","u":"containsItems(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"containsItems(String)","u":"containsItems(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponseOrBuilder","l":"containsItems(String)","u":"containsItems(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItemOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponseOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponseOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponseOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequestOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"containsMetadata(String)","u":"containsMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"containsOptions(String)","u":"containsOptions(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"containsOptions(String)","u":"containsOptions(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"containsOptions(String)","u":"containsOptions(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"containsParameters(String)","u":"containsParameters(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"containsParameters(String)","u":"containsParameters(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"containsParameters(String)","u":"containsParameters(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"containsParameters(String)","u":"containsParameters(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"containsParameters(String)","u":"containsParameters(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"containsParameters(String)","u":"containsParameters(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"containsParameters(String)","u":"containsParameters(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"containsParameters(String)","u":"containsParameters(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultOrBuilder","l":"containsParameters(String)","u":"containsParameters(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"containsProperties(String)","u":"containsProperties(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"containsProperties(String)","u":"containsProperties(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"containsProperties(String)","u":"containsProperties(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"containsSecrets(String)","u":"containsSecrets(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"containsSecrets(String)","u":"containsSecrets(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponseOrBuilder","l":"containsSecrets(String)","u":"containsSecrets(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"containsTags(String)","u":"containsTags(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"containsTags(String)","u":"containsTags(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"containsTags(String)","u":"containsTags(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"containsTags(String)","u":"containsTags(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"containsTags(String)","u":"containsTags(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"containsTags(String)","u":"containsTags(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"containsTags(String)","u":"containsTags(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"containsTags(String)","u":"containsTags(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"containsTags(String)","u":"containsTags(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"CONTENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"CONTENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"CONTENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"CONTENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"CONTENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"CONTENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"CONTENT_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"CONTENT_TYPE"},{"p":"io.dapr.client.domain","c":"Metadata","l":"CONTENT_TYPE"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"CONTENT_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"CONTENT_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"CONTENT_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"CONTENT_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"CONTENT_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"CONTEXT_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"CONTEXT_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"CONTEXTID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"CONTEXTID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"CONTINUATIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"CONTINUATIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"CONTINUATIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"CONTINUATIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"CONTINUATIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"CONTINUATIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"CONTINUATIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"CONTINUATIONTOKEN_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"CONTINUEASNEW"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"CONTINUEASNEW_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"continueAsNew(Object)","u":"continueAsNew(java.lang.Object)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"continueAsNew(Object)","u":"continueAsNew(java.lang.Object)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"continueAsNew(Object)","u":"continueAsNew(java.lang.Object)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"continueAsNew(Object, boolean)","u":"continueAsNew(java.lang.Object,boolean)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"continueAsNew(Object, boolean)","u":"continueAsNew(java.lang.Object,boolean)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"continueAsNew(Object, boolean)","u":"continueAsNew(java.lang.Object,boolean)"},{"p":"io.dapr.durabletask.interruption","c":"ContinueAsNewInterruption","l":"ContinueAsNewInterruption(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.durabletask","c":"OrchestrationRuntimeStatus","l":"CONTINUED_AS_NEW"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"CONTINUED_AS_NEW"},{"p":"io.dapr.client.domain","c":"ConversationInput","l":"ConversationInput(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.client.domain","c":"ConversationInputAlpha2","l":"ConversationInputAlpha2(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.dapr.client.domain","c":"ConversationMessageContent","l":"ConversationMessageContent(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.client.domain","c":"ConversationOutput","l":"ConversationOutput(String, Map)","u":"%3Cinit%3E(java.lang.String,java.util.Map)"},{"p":"io.dapr.client.domain","c":"ConversationRequest","l":"ConversationRequest(String, List)","u":"%3Cinit%3E(java.lang.String,java.util.List)"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"ConversationRequestAlpha2(String, List)","u":"%3Cinit%3E(java.lang.String,java.util.List)"},{"p":"io.dapr.client.domain","c":"ConversationResponse","l":"ConversationResponse(String, List)","u":"%3Cinit%3E(java.lang.String,java.util.List)"},{"p":"io.dapr.client.domain","c":"ConversationResponseAlpha2","l":"ConversationResponseAlpha2(String, List)","u":"%3Cinit%3E(java.lang.String,java.util.List)"},{"p":"io.dapr.client.domain","c":"ConversationResultAlpha2","l":"ConversationResultAlpha2(List, String, ConversationResultCompletionUsage)","u":"%3Cinit%3E(java.util.List,java.lang.String,io.dapr.client.domain.ConversationResultCompletionUsage)"},{"p":"io.dapr.client.domain","c":"ConversationResultChoices","l":"ConversationResultChoices(String, long, ConversationResultMessage)","u":"%3Cinit%3E(java.lang.String,long,io.dapr.client.domain.ConversationResultMessage)"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsage","l":"ConversationResultCompletionUsage(long, long, long)","u":"%3Cinit%3E(long,long,long)"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsageDetails","l":"ConversationResultCompletionUsageDetails(long, long, long, long)","u":"%3Cinit%3E(long,long,long,long)"},{"p":"io.dapr.client.domain","c":"ConversationResultMessage","l":"ConversationResultMessage(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.client.domain","c":"ConversationResultMessage","l":"ConversationResultMessage(String, List)","u":"%3Cinit%3E(java.lang.String,java.util.List)"},{"p":"io.dapr.client.domain","c":"ConversationResultPromptUsageDetails","l":"ConversationResultPromptUsageDetails(long, long)","u":"%3Cinit%3E(long,long)"},{"p":"io.dapr.client.domain","c":"ConversationToolCalls","l":"ConversationToolCalls(ConversationToolCallsOfFunction)","u":"%3Cinit%3E(io.dapr.client.domain.ConversationToolCallsOfFunction)"},{"p":"io.dapr.client.domain","c":"ConversationToolCallsOfFunction","l":"ConversationToolCallsOfFunction(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.client.domain","c":"ConversationTools","l":"ConversationTools(ConversationToolsFunction)","u":"%3Cinit%3E(io.dapr.client.domain.ConversationToolsFunction)"},{"p":"io.dapr.client.domain","c":"ConversationToolsFunction","l":"ConversationToolsFunction(String, Map)","u":"%3Cinit%3E(java.lang.String,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"converse(ConversationRequest)","u":"converse(io.dapr.client.domain.ConversationRequest)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"converse(ConversationRequest)","u":"converse(io.dapr.client.domain.ConversationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"converseAlpha1(DaprAiProtos.ConversationRequest)","u":"converseAlpha1(io.dapr.v1.DaprAiProtos.ConversationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"converseAlpha1(DaprAiProtos.ConversationRequest)","u":"converseAlpha1(io.dapr.v1.DaprAiProtos.ConversationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"converseAlpha1(DaprAiProtos.ConversationRequest)","u":"converseAlpha1(io.dapr.v1.DaprAiProtos.ConversationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"converseAlpha1(DaprAiProtos.ConversationRequest, StreamObserver)","u":"converseAlpha1(io.dapr.v1.DaprAiProtos.ConversationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"converseAlpha1(DaprAiProtos.ConversationRequest, StreamObserver)","u":"converseAlpha1(io.dapr.v1.DaprAiProtos.ConversationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"converseAlpha2(ConversationRequestAlpha2)","u":"converseAlpha2(io.dapr.client.domain.ConversationRequestAlpha2)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"converseAlpha2(ConversationRequestAlpha2)","u":"converseAlpha2(io.dapr.client.domain.ConversationRequestAlpha2)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"converseAlpha2(DaprAiProtos.ConversationRequestAlpha2)","u":"converseAlpha2(io.dapr.v1.DaprAiProtos.ConversationRequestAlpha2)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"converseAlpha2(DaprAiProtos.ConversationRequestAlpha2)","u":"converseAlpha2(io.dapr.v1.DaprAiProtos.ConversationRequestAlpha2)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"converseAlpha2(DaprAiProtos.ConversationRequestAlpha2)","u":"converseAlpha2(io.dapr.v1.DaprAiProtos.ConversationRequestAlpha2)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"converseAlpha2(DaprAiProtos.ConversationRequestAlpha2, StreamObserver)","u":"converseAlpha2(io.dapr.v1.DaprAiProtos.ConversationRequestAlpha2,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"converseAlpha2(DaprAiProtos.ConversationRequestAlpha2, StreamObserver)","u":"converseAlpha2(io.dapr.v1.DaprAiProtos.ConversationRequestAlpha2,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.testcontainers.converter","c":"ComponentYamlConverter","l":"convert(Component)","u":"convert(io.dapr.testcontainers.Component)"},{"p":"io.dapr.testcontainers.converter","c":"ConfigurationYamlConverter","l":"convert(Configuration)","u":"convert(io.dapr.testcontainers.Configuration)"},{"p":"io.dapr.testcontainers.converter","c":"HttpEndpointYamlConverter","l":"convert(HttpEndpoint)","u":"convert(io.dapr.testcontainers.HttpEndpoint)"},{"p":"io.dapr.testcontainers.converter","c":"SubscriptionYamlConverter","l":"convert(Subscription)","u":"convert(io.dapr.testcontainers.Subscription)"},{"p":"io.dapr.testcontainers.converter","c":"YamlConverter","l":"convert(T)"},{"p":"io.dapr.utils","c":"DefaultContentTypeConverter","l":"convertBytesToEventFromGrpc(byte[], String, TypeRef)","u":"convertBytesToEventFromGrpc(byte[],java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.utils","c":"DefaultContentTypeConverter","l":"convertBytesToEventFromHttp(byte[], String, TypeRef)","u":"convertBytesToEventFromHttp(byte[],java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.utils","c":"DurationUtils","l":"convertDurationFromDaprFormat(String)","u":"convertDurationFromDaprFormat(java.lang.String)"},{"p":"io.dapr.utils","c":"DurationUtils","l":"convertDurationToDaprFormat(Duration)","u":"convertDurationToDaprFormat(java.time.Duration)"},{"p":"io.dapr.utils","c":"DefaultContentTypeConverter","l":"convertEventToBytesForGrpc(T, String)","u":"convertEventToBytesForGrpc(T,java.lang.String)"},{"p":"io.dapr.utils","c":"DefaultContentTypeConverter","l":"convertEventToBytesForHttp(T, String)","u":"convertEventToBytesForHttp(T,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"COUNT_FIELD_NUMBER"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"count(Class)","u":"count(java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"count(Class)","u":"count(java.lang.Class)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"count(KeyValueQuery, Class)","u":"count(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"count(KeyValueQuery, Class)","u":"count(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.Class)"},{"p":"io.dapr.spring.data","c":"MySQLDaprKeyValueAdapter","l":"count(KeyValueQuery, String)","u":"count(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.String)"},{"p":"io.dapr.spring.data","c":"PostgreSQLDaprKeyValueAdapter","l":"count(KeyValueQuery, String)","u":"count(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.String)"},{"p":"io.dapr.spring6.data","c":"MySQLDaprKeyValueAdapter","l":"count(KeyValueQuery, String)","u":"count(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.String)"},{"p":"io.dapr.spring6.data","c":"PostgreSQLDaprKeyValueAdapter","l":"count(KeyValueQuery, String)","u":"count(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.String)"},{"p":"io.dapr.spring.data","c":"MySQLDaprKeyValueAdapter","l":"count(String)","u":"count(java.lang.String)"},{"p":"io.dapr.spring.data","c":"PostgreSQLDaprKeyValueAdapter","l":"count(String)","u":"count(java.lang.String)"},{"p":"io.dapr.spring6.data","c":"MySQLDaprKeyValueAdapter","l":"count(String)","u":"count(java.lang.String)"},{"p":"io.dapr.spring6.data","c":"PostgreSQLDaprKeyValueAdapter","l":"count(String)","u":"count(java.lang.String)"},{"p":"io.dapr.durabletask.orchestration","c":"TaskOrchestrationFactory","l":"create()"},{"p":"io.dapr.durabletask","c":"TaskActivityFactory","l":"create()"},{"p":"io.dapr.durabletask","c":"TaskOptions","l":"create()"},{"p":"io.dapr.testcontainers.converter","c":"YamlMapperFactory","l":"create()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityClassWrapper","l":"create()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityInstanceWrapper","l":"create()"},{"p":"io.dapr.workflows","c":"Workflow","l":"create()"},{"p":"io.dapr.spring.data.repository.query","c":"DaprPredicateQueryCreator","l":"create(Part, Iterator)","u":"create(org.springframework.data.repository.query.parser.Part,java.util.Iterator)"},{"p":"io.dapr.spring6.data.repository.query","c":"DaprPredicateQueryCreator","l":"create(Part, Iterator)","u":"create(org.springframework.data.repository.query.parser.Part,java.util.Iterator)"},{"p":"io.dapr.actors.runtime","c":"ActorFactory","l":"createActor(ActorRuntimeContext, ActorId)","u":"createActor(io.dapr.actors.runtime.ActorRuntimeContext,io.dapr.actors.ActorId)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"CREATED_AT_FIELD_NUMBER"},{"p":"io.dapr.spring.boot.autoconfigure.client","c":"DaprClientAutoConfiguration","l":"createDaprClientBuilder()"},{"p":"io.dapr.spring.boot4.autoconfigure.client","c":"DaprClientSB4AutoConfiguration","l":"createDaprClientBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"CREATEDTIMEFROM_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"CREATEDTIMEFROM_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"CREATEDTIMESTAMP_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"CREATEDTIMETO_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"CREATEDTIMETO_FIELD_NUMBER"},{"p":"io.dapr.spring.boot.autoconfigure.client","c":"DaprClientAutoConfiguration","l":"createPropertiesFromConnectionDetails(DaprConnectionDetails)","u":"createPropertiesFromConnectionDetails(io.dapr.spring.boot.properties.client.DaprConnectionDetails)"},{"p":"io.dapr.spring.boot4.autoconfigure.client","c":"DaprClientSB4AutoConfiguration","l":"createPropertiesFromConnectionDetails(DaprConnectionDetails)","u":"createPropertiesFromConnectionDetails(io.dapr.spring.boot.properties.client.DaprConnectionDetails)"},{"p":"io.dapr.actors","c":"ActorId","l":"createRandom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"CREATESUBORCHESTRATION"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"CREATESUBORCHESTRATION_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"createTaskHub(boolean)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"createTaskHub(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"createTaskHub(OrchestratorService.CreateTaskHubRequest)","u":"createTaskHub(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTaskHubRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"createTaskHub(OrchestratorService.CreateTaskHubRequest)","u":"createTaskHub(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTaskHubRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"createTaskHub(OrchestratorService.CreateTaskHubRequest)","u":"createTaskHub(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTaskHubRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"createTaskHub(OrchestratorService.CreateTaskHubRequest, StreamObserver)","u":"createTaskHub(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTaskHubRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"createTaskHub(OrchestratorService.CreateTaskHubRequest, StreamObserver)","u":"createTaskHub(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTaskHubRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"CREATETIMER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"CREATETIMER_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"createTimer(Duration)","u":"createTimer(java.time.Duration)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"createTimer(Duration)","u":"createTimer(java.time.Duration)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"createTimer(Duration)","u":"createTimer(java.time.Duration)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"createTimer(String, Duration)","u":"createTimer(java.lang.String,java.time.Duration)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"createTimer(String, ZonedDateTime)","u":"createTimer(java.lang.String,java.time.ZonedDateTime)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"createTimer(ZonedDateTime)","u":"createTimer(java.time.ZonedDateTime)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"createTimer(ZonedDateTime)","u":"createTimer(java.time.ZonedDateTime)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"createTimer(ZonedDateTime)","u":"createTimer(java.time.ZonedDateTime)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"CRITICALSECTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"CRITICALSECTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"CRITICALSECTIONID_FIELD_NUMBER"},{"p":"io.dapr.serializer","c":"CustomizableObjectSerializer","l":"CustomizableObjectSerializer(ObjectMapper)","u":"%3Cinit%3E(com.fasterxml.jackson.databind.ObjectMapper)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"CUSTOMSTATUS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"CUSTOMSTATUS_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"JobSchedule","l":"daily()"},{"p":"io.dapr.client","c":"Headers","l":"DAPR_API_TOKEN"},{"p":"io.dapr.testcontainers","c":"DaprContainerConstants","l":"DAPR_PLACEMENT_IMAGE_TAG"},{"p":"io.dapr.testcontainers","c":"DaprContainerConstants","l":"DAPR_RUNTIME_IMAGE_TAG"},{"p":"io.dapr.testcontainers","c":"DaprContainerConstants","l":"DAPR_SCHEDULER_IMAGE_TAG"},{"p":"io.dapr.client","c":"Headers","l":"DAPR_USER_AGENT"},{"p":"io.dapr.testcontainers","c":"DaprContainerConstants","l":"DAPR_VERSION"},{"p":"io.dapr.testcontainers","c":"DaprContainerConstants","l":"DAPR_WORKFLOWS_DASHBOARD"},{"p":"io.dapr.testcontainers","c":"DaprContainerConstants","l":"DAPR_WORKFLOWS_DASHBOARD_VERSION"},{"p":"io.dapr.internal.grpc.interceptors","c":"DaprApiTokenInterceptor","l":"DaprApiTokenInterceptor(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.internal.grpc.interceptors","c":"DaprAppIdInterceptor","l":"DaprAppIdInterceptor(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.spring.boot.autoconfigure.client","c":"DaprClientAutoConfiguration","l":"DaprClientAutoConfiguration()","u":"%3Cinit%3E()"},{"p":"io.dapr.client","c":"DaprClientBuilder","l":"DaprClientBuilder()","u":"%3Cinit%3E()"},{"p":"io.dapr.internal.grpc","c":"DaprClientGrpcInterceptors","l":"DaprClientGrpcInterceptors()","u":"%3Cinit%3E()"},{"p":"io.dapr.internal.grpc","c":"DaprClientGrpcInterceptors","l":"DaprClientGrpcInterceptors(String, TimeoutPolicy)","u":"%3Cinit%3E(java.lang.String,io.dapr.internal.resiliency.TimeoutPolicy)"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"DaprClientProperties()","u":"%3Cinit%3E()"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"DaprClientProperties(String, String, Integer, Integer, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.Integer,java.lang.Integer,java.lang.String)"},{"p":"io.dapr.spring.boot4.autoconfigure.client","c":"DaprClientSB4AutoConfiguration","l":"DaprClientSB4AutoConfiguration()","u":"%3Cinit%3E()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"DaprContainer(DockerImageName)","u":"%3Cinit%3E(org.testcontainers.utility.DockerImageName)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"DaprContainer(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.exceptions","c":"DaprError","l":"DaprError()","u":"%3Cinit%3E()"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails","l":"DaprErrorDetails(List>)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails","l":"DaprErrorDetails(Status)","u":"%3Cinit%3E(com.google.rpc.Status)"},{"p":"io.dapr.exceptions","c":"DaprException","l":"DaprException(DaprError, byte[], int)","u":"%3Cinit%3E(io.dapr.exceptions.DaprError,byte[],int)"},{"p":"io.dapr.exceptions","c":"DaprException","l":"DaprException(DaprError, Throwable)","u":"%3Cinit%3E(io.dapr.exceptions.DaprError,java.lang.Throwable)"},{"p":"io.dapr.exceptions","c":"DaprException","l":"DaprException(String, String, byte[], int)","u":"%3Cinit%3E(java.lang.String,java.lang.String,byte[],int)"},{"p":"io.dapr.exceptions","c":"DaprException","l":"DaprException(String, String, DaprErrorDetails, byte[])","u":"%3Cinit%3E(java.lang.String,java.lang.String,io.dapr.exceptions.DaprErrorDetails,byte[])"},{"p":"io.dapr.exceptions","c":"DaprException","l":"DaprException(String, String, DaprErrorDetails, byte[], int)","u":"%3Cinit%3E(java.lang.String,java.lang.String,io.dapr.exceptions.DaprErrorDetails,byte[],int)"},{"p":"io.dapr.exceptions","c":"DaprException","l":"DaprException(String, String, List>, byte[], int)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.List,byte[],int)"},{"p":"io.dapr.exceptions","c":"DaprException","l":"DaprException(String, String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.Throwable)"},{"p":"io.dapr.exceptions","c":"DaprException","l":"DaprException(String, String, Throwable, DaprErrorDetails, byte[])","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.Throwable,io.dapr.exceptions.DaprErrorDetails,byte[])"},{"p":"io.dapr.exceptions","c":"DaprException","l":"DaprException(Throwable)","u":"%3Cinit%3E(java.lang.Throwable)"},{"p":"io.dapr.client","c":"DaprHttpBuilder","l":"DaprHttpBuilder()","u":"%3Cinit%3E()"},{"p":"io.dapr.internal.exceptions","c":"DaprHttpException","l":"DaprHttpException(int, byte[])","u":"%3Cinit%3E(int,byte[])"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprImplBase","l":"DaprImplBase()","u":"%3Cinit%3E()"},{"p":"io.dapr.spring.boot4.autoconfigure.client","c":"DaprJackson3SB4AutoConfiguration","l":"DaprJackson3SB4AutoConfiguration()","u":"%3Cinit%3E()"},{"p":"io.dapr.spring.data","c":"DaprKeyValueAdapterResolver","l":"DaprKeyValueAdapterResolver(DaprClient, ObjectMapper, String, String)","u":"%3Cinit%3E(io.dapr.client.DaprClient,com.fasterxml.jackson.databind.ObjectMapper,java.lang.String,java.lang.String)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueAdapterResolver","l":"DaprKeyValueAdapterResolver(DaprClient, ObjectMapper, String, String)","u":"%3Cinit%3E(io.dapr.client.DaprClient,com.fasterxml.jackson.databind.ObjectMapper,java.lang.String,java.lang.String)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"DaprKeyValueTemplate(KeyValueAdapterResolver)","u":"%3Cinit%3E(io.dapr.spring.data.KeyValueAdapterResolver)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"DaprKeyValueTemplate(KeyValueAdapterResolver)","u":"%3Cinit%3E(io.dapr.spring6.data.KeyValueAdapterResolver)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"DaprKeyValueTemplate(KeyValueAdapterResolver, MappingContext, ? extends KeyValuePersistentProperty>)","u":"%3Cinit%3E(io.dapr.spring.data.KeyValueAdapterResolver,org.springframework.data.mapping.context.MappingContext)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"DaprKeyValueTemplate(KeyValueAdapterResolver, MappingContext, ? extends KeyValuePersistentProperty>)","u":"%3Cinit%3E(io.dapr.spring6.data.KeyValueAdapterResolver,org.springframework.data.mapping.context.MappingContext)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"DaprKeyValueTemplate(KeyValueAdapterResolver, MappingContext, ? extends KeyValuePersistentProperty>, IdentifierGenerator)","u":"%3Cinit%3E(io.dapr.spring.data.KeyValueAdapterResolver,org.springframework.data.mapping.context.MappingContext,org.springframework.data.keyvalue.core.IdentifierGenerator)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"DaprKeyValueTemplate(KeyValueAdapterResolver, MappingContext, ? extends KeyValuePersistentProperty>, IdentifierGenerator)","u":"%3Cinit%3E(io.dapr.spring6.data.KeyValueAdapterResolver,org.springframework.data.mapping.context.MappingContext,org.springframework.data.keyvalue.core.IdentifierGenerator)"},{"p":"io.dapr.spring.messaging","c":"DaprMessagingTemplate","l":"DaprMessagingTemplate(DaprClient, String, boolean)","u":"%3Cinit%3E(io.dapr.client.DaprClient,java.lang.String,boolean)"},{"p":"io.dapr.client.domain","c":"DaprMetadata","l":"DaprMetadata(String, String, List, List, Map, List, List, List, AppConnectionPropertiesMetadata)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.List,java.util.List,java.util.Map,java.util.List,java.util.List,java.util.List,io.dapr.client.domain.AppConnectionPropertiesMetadata)"},{"p":"io.dapr.internal.grpc.interceptors","c":"DaprMetadataReceiverInterceptor","l":"DaprMetadataReceiverInterceptor(Consumer)","u":"%3Cinit%3E(java.util.function.Consumer)"},{"p":"io.dapr.testcontainers","c":"DaprPlacementContainer","l":"DaprPlacementContainer(DockerImageName)","u":"%3Cinit%3E(org.testcontainers.utility.DockerImageName)"},{"p":"io.dapr.testcontainers","c":"DaprPlacementContainer","l":"DaprPlacementContainer(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.spring6.data.repository.query","c":"DaprPredicate","l":"DaprPredicate(PropertyPath, Object)","u":"%3Cinit%3E(org.springframework.data.core.PropertyPath,java.lang.Object)"},{"p":"io.dapr.spring.data.repository.query","c":"DaprPredicate","l":"DaprPredicate(PropertyPath, Object)","u":"%3Cinit%3E(org.springframework.data.mapping.PropertyPath,java.lang.Object)"},{"p":"io.dapr.spring6.data.repository.query","c":"DaprPredicate","l":"DaprPredicate(PropertyPath, Object, Function)","u":"%3Cinit%3E(org.springframework.data.core.PropertyPath,java.lang.Object,java.util.function.Function)"},{"p":"io.dapr.spring.data.repository.query","c":"DaprPredicate","l":"DaprPredicate(PropertyPath, Object, Function)","u":"%3Cinit%3E(org.springframework.data.mapping.PropertyPath,java.lang.Object,java.util.function.Function)"},{"p":"io.dapr.spring.data.repository.query","c":"DaprPredicateQueryCreator","l":"DaprPredicateQueryCreator(PartTree, ParameterAccessor)","u":"%3Cinit%3E(org.springframework.data.repository.query.parser.PartTree,org.springframework.data.repository.query.ParameterAccessor)"},{"p":"io.dapr.spring6.data.repository.query","c":"DaprPredicateQueryCreator","l":"DaprPredicateQueryCreator(PartTree, ParameterAccessor)","u":"%3Cinit%3E(org.springframework.data.repository.query.parser.PartTree,org.springframework.data.repository.query.ParameterAccessor)"},{"p":"io.dapr.spring.boot.properties.pubsub","c":"DaprPubSubProperties","l":"DaprPubSubProperties()","u":"%3Cinit%3E()"},{"p":"io.dapr.spring.data.repository.config","c":"DaprRepositoriesRegistrar","l":"DaprRepositoriesRegistrar()","u":"%3Cinit%3E()"},{"p":"io.dapr.spring6.data.repository.config","c":"DaprRepositoriesRegistrar","l":"DaprRepositoriesRegistrar()","u":"%3Cinit%3E()"},{"p":"io.dapr.spring.data.repository.config","c":"DaprRepositoryConfigurationExtension","l":"DaprRepositoryConfigurationExtension()","u":"%3Cinit%3E()"},{"p":"io.dapr.spring6.data.repository.config","c":"DaprRepositoryConfigurationExtension","l":"DaprRepositoryConfigurationExtension()","u":"%3Cinit%3E()"},{"p":"io.dapr.testcontainers","c":"DaprSchedulerContainer","l":"DaprSchedulerContainer(DockerImageName)","u":"%3Cinit%3E(org.testcontainers.utility.DockerImageName)"},{"p":"io.dapr.testcontainers","c":"DaprSchedulerContainer","l":"DaprSchedulerContainer(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.spring.boot.properties.statestore","c":"DaprStateStoreProperties","l":"DaprStateStoreProperties()","u":"%3Cinit%3E()"},{"p":"io.dapr.internal.grpc.interceptors","c":"DaprTimeoutInterceptor","l":"DaprTimeoutInterceptor(TimeoutPolicy)","u":"%3Cinit%3E(io.dapr.internal.resiliency.TimeoutPolicy)"},{"p":"io.dapr.internal.grpc.interceptors","c":"DaprTracingInterceptor","l":"DaprTracingInterceptor(ContextView)","u":"%3Cinit%3E(reactor.util.context.ContextView)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"DaprWorkflowClient()","u":"%3Cinit%3E()"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"DaprWorkflowClient(Properties)","u":"%3Cinit%3E(io.dapr.config.Properties)"},{"p":"io.dapr.spring.workflows.config","c":"DaprWorkflowsConfiguration","l":"DaprWorkflowsConfiguration(WorkflowRuntimeBuilder)","u":"%3Cinit%3E(io.dapr.workflows.runtime.WorkflowRuntimeBuilder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"DATA_CONTENT_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"DATA_CONTENT_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"DATA_CONTENT_TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"DATA_ENCRYPTION_CIPHER_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"DATA_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClientBuilder","l":"dataConverter(DataConverter)","u":"dataConverter(io.dapr.durabletask.DataConverter)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorkerBuilder","l":"dataConverter(DataConverter)","u":"dataConverter(io.dapr.durabletask.DataConverter)"},{"p":"io.dapr.durabletask","c":"DataConverter.DataConverterException","l":"DataConverterException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"deactivate(String, String)","u":"deactivate(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"DEAD_LETTER_TOPIC_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"DEAD_LETTER_TOPIC_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"DEAD_LETTER_TOPIC_FIELD_NUMBER"},{"p":"io.dapr","c":"Topic","l":"deadLetterTopic()"},{"p":"io.dapr.testcontainers","c":"DaprLogLevel","l":"DEBUG"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"DEBUG_INFO"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"DECLARATIVE"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"DECLARATIVE_VALUE"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"decrypt(DecryptRequestAlpha1)","u":"decrypt(io.dapr.client.domain.DecryptRequestAlpha1)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"decrypt(DecryptRequestAlpha1)","u":"decrypt(io.dapr.client.domain.DecryptRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"decryptAlpha1()"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"decryptAlpha1(StreamObserver)","u":"decryptAlpha1(io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"decryptAlpha1(StreamObserver)","u":"decryptAlpha1(io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"DECRYPTION_KEY_NAME_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"DecryptRequestAlpha1","l":"DecryptRequestAlpha1(String, Flux)","u":"%3Cinit%3E(java.lang.String,reactor.core.publisher.Flux)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"DEFAULT_FIELD_NUMBER"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"DEFAULT_IMAGE_NAME"},{"p":"io.dapr.utils","c":"DefaultContentTypeConverter","l":"DefaultContentTypeConverter()","u":"%3Cinit%3E()"},{"p":"io.dapr.serializer","c":"DefaultObjectSerializer","l":"DefaultObjectSerializer()","u":"%3Cinit%3E()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"DefaultWorkflowActivityContext(TaskActivityContext)","u":"%3Cinit%3E(io.dapr.durabletask.TaskActivityContext)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"DefaultWorkflowActivityContext(TaskActivityContext, Class)","u":"%3Cinit%3E(io.dapr.durabletask.TaskActivityContext,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"DefaultWorkflowActivityContext(TaskActivityContext, Logger)","u":"%3Cinit%3E(io.dapr.durabletask.TaskActivityContext,org.slf4j.Logger)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"DefaultWorkflowContext(TaskOrchestrationContext)","u":"%3Cinit%3E(io.dapr.durabletask.TaskOrchestrationContext)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"DefaultWorkflowContext(TaskOrchestrationContext, Class)","u":"%3Cinit%3E(io.dapr.durabletask.TaskOrchestrationContext,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"DefaultWorkflowContext(TaskOrchestrationContext, Logger)","u":"%3Cinit%3E(io.dapr.durabletask.TaskOrchestrationContext,org.slf4j.Logger)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"DefaultWorkflowFailureDetails(FailureDetails)","u":"%3Cinit%3E(io.dapr.durabletask.FailureDetails)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"DefaultWorkflowInstanceStatus(OrchestrationMetadata)","u":"%3Cinit%3E(io.dapr.durabletask.OrchestrationMetadata)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"DefaultWorkflowState(OrchestrationMetadata)","u":"%3Cinit%3E(io.dapr.durabletask.OrchestrationMetadata)"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"DELETE"},{"p":"io.dapr.client.domain","c":"TransactionalStateOperation.OperationType","l":"DELETE"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"DELETE"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"DELETE"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"DELETE_VALUE"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"delete(Class)","u":"delete(java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"delete(Class)","u":"delete(java.lang.Class)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"delete(Object, Class)","u":"delete(java.lang.Object,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"delete(Object, Class)","u":"delete(java.lang.Object,java.lang.Class)"},{"p":"io.dapr.spring.data","c":"AbstractDaprKeyValueAdapter","l":"delete(Object, String)","u":"delete(java.lang.Object,java.lang.String)"},{"p":"io.dapr.spring6.data","c":"AbstractDaprKeyValueAdapter","l":"delete(Object, String)","u":"delete(java.lang.Object,java.lang.String)"},{"p":"io.dapr.spring.data","c":"AbstractDaprKeyValueAdapter","l":"delete(Object, String, Class)","u":"delete(java.lang.Object,java.lang.String,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"AbstractDaprKeyValueAdapter","l":"delete(Object, String, Class)","u":"delete(java.lang.Object,java.lang.String,java.lang.Class)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"delete(T)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"delete(T)"},{"p":"io.dapr.spring.data","c":"MySQLDaprKeyValueAdapter","l":"deleteAllOf(String)","u":"deleteAllOf(java.lang.String)"},{"p":"io.dapr.spring.data","c":"PostgreSQLDaprKeyValueAdapter","l":"deleteAllOf(String)","u":"deleteAllOf(java.lang.String)"},{"p":"io.dapr.spring6.data","c":"MySQLDaprKeyValueAdapter","l":"deleteAllOf(String)","u":"deleteAllOf(java.lang.String)"},{"p":"io.dapr.spring6.data","c":"PostgreSQLDaprKeyValueAdapter","l":"deleteAllOf(String)","u":"deleteAllOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"deleteBulkState(DaprStateProtos.DeleteBulkStateRequest)","u":"deleteBulkState(io.dapr.v1.DaprStateProtos.DeleteBulkStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"deleteBulkState(DaprStateProtos.DeleteBulkStateRequest)","u":"deleteBulkState(io.dapr.v1.DaprStateProtos.DeleteBulkStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"deleteBulkState(DaprStateProtos.DeleteBulkStateRequest)","u":"deleteBulkState(io.dapr.v1.DaprStateProtos.DeleteBulkStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"deleteBulkState(DaprStateProtos.DeleteBulkStateRequest, StreamObserver)","u":"deleteBulkState(io.dapr.v1.DaprStateProtos.DeleteBulkStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"deleteBulkState(DaprStateProtos.DeleteBulkStateRequest, StreamObserver)","u":"deleteBulkState(io.dapr.v1.DaprStateProtos.DeleteBulkStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"DELETEDINSTANCECOUNT_FIELD_NUMBER"},{"p":"io.dapr.client","c":"DaprClient","l":"deleteJob(DeleteJobRequest)","u":"deleteJob(io.dapr.client.domain.DeleteJobRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"deleteJob(DeleteJobRequest)","u":"deleteJob(io.dapr.client.domain.DeleteJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"deleteJobAlpha1(DaprJobsProtos.DeleteJobRequest)","u":"deleteJobAlpha1(io.dapr.v1.DaprJobsProtos.DeleteJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"deleteJobAlpha1(DaprJobsProtos.DeleteJobRequest)","u":"deleteJobAlpha1(io.dapr.v1.DaprJobsProtos.DeleteJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"deleteJobAlpha1(DaprJobsProtos.DeleteJobRequest)","u":"deleteJobAlpha1(io.dapr.v1.DaprJobsProtos.DeleteJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"deleteJobAlpha1(DaprJobsProtos.DeleteJobRequest, StreamObserver)","u":"deleteJobAlpha1(io.dapr.v1.DaprJobsProtos.DeleteJobRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"deleteJobAlpha1(DaprJobsProtos.DeleteJobRequest, StreamObserver)","u":"deleteJobAlpha1(io.dapr.v1.DaprJobsProtos.DeleteJobRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"DeleteJobRequest","l":"DeleteJobRequest(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"deleteJobsByPrefixAlpha1(DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1)","u":"deleteJobsByPrefixAlpha1(io.dapr.v1.DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"deleteJobsByPrefixAlpha1(DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1)","u":"deleteJobsByPrefixAlpha1(io.dapr.v1.DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"deleteJobsByPrefixAlpha1(DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1)","u":"deleteJobsByPrefixAlpha1(io.dapr.v1.DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"deleteJobsByPrefixAlpha1(DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1, StreamObserver)","u":"deleteJobsByPrefixAlpha1(io.dapr.v1.DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"deleteJobsByPrefixAlpha1(DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1, StreamObserver)","u":"deleteJobsByPrefixAlpha1(io.dapr.v1.DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"deleteState(DaprStateProtos.DeleteStateRequest)","u":"deleteState(io.dapr.v1.DaprStateProtos.DeleteStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"deleteState(DaprStateProtos.DeleteStateRequest)","u":"deleteState(io.dapr.v1.DaprStateProtos.DeleteStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"deleteState(DaprStateProtos.DeleteStateRequest)","u":"deleteState(io.dapr.v1.DaprStateProtos.DeleteStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"deleteState(DaprStateProtos.DeleteStateRequest, StreamObserver)","u":"deleteState(io.dapr.v1.DaprStateProtos.DeleteStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"deleteState(DaprStateProtos.DeleteStateRequest, StreamObserver)","u":"deleteState(io.dapr.v1.DaprStateProtos.DeleteStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClient","l":"deleteState(DeleteStateRequest)","u":"deleteState(io.dapr.client.domain.DeleteStateRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"deleteState(DeleteStateRequest)","u":"deleteState(io.dapr.client.domain.DeleteStateRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"deleteState(String, String)","u":"deleteState(java.lang.String,java.lang.String)"},{"p":"io.dapr.client","c":"DaprClient","l":"deleteState(String, String)","u":"deleteState(java.lang.String,java.lang.String)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"deleteState(String, String, String, StateOptions)","u":"deleteState(java.lang.String,java.lang.String,java.lang.String,io.dapr.client.domain.StateOptions)"},{"p":"io.dapr.client","c":"DaprClient","l":"deleteState(String, String, String, StateOptions)","u":"deleteState(java.lang.String,java.lang.String,java.lang.String,io.dapr.client.domain.StateOptions)"},{"p":"io.dapr.client.domain","c":"DeleteStateRequest","l":"DeleteStateRequest(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"deleteTaskHub()"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"deleteTaskHub()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"deleteTaskHub(OrchestratorService.DeleteTaskHubRequest)","u":"deleteTaskHub(io.dapr.durabletask.implementation.protobuf.OrchestratorService.DeleteTaskHubRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"deleteTaskHub(OrchestratorService.DeleteTaskHubRequest)","u":"deleteTaskHub(io.dapr.durabletask.implementation.protobuf.OrchestratorService.DeleteTaskHubRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"deleteTaskHub(OrchestratorService.DeleteTaskHubRequest)","u":"deleteTaskHub(io.dapr.durabletask.implementation.protobuf.OrchestratorService.DeleteTaskHubRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"deleteTaskHub(OrchestratorService.DeleteTaskHubRequest, StreamObserver)","u":"deleteTaskHub(io.dapr.durabletask.implementation.protobuf.OrchestratorService.DeleteTaskHubRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"deleteTaskHub(OrchestratorService.DeleteTaskHubRequest, StreamObserver)","u":"deleteTaskHub(io.dapr.durabletask.implementation.protobuf.OrchestratorService.DeleteTaskHubRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain.query","c":"Sorting.Order","l":"DESC"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"DESCRIPTION_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"DESCRIPTION_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"deserialize(byte[])"},{"p":"io.dapr.actors.runtime","c":"ActorObjectSerializer","l":"deserialize(byte[], Class)","u":"deserialize(byte[],java.lang.Class)"},{"p":"io.dapr.client","c":"ObjectSerializer","l":"deserialize(byte[], Class)","u":"deserialize(byte[],java.lang.Class)"},{"p":"io.dapr.client","c":"ObjectSerializer","l":"deserialize(byte[], TypeRef)","u":"deserialize(byte[],io.dapr.utils.TypeRef)"},{"p":"io.dapr.serializer","c":"DaprObjectSerializer","l":"deserialize(byte[], TypeRef)","u":"deserialize(byte[],io.dapr.utils.TypeRef)"},{"p":"io.dapr.serializer","c":"DefaultObjectSerializer","l":"deserialize(byte[], TypeRef)","u":"deserialize(byte[],io.dapr.utils.TypeRef)"},{"p":"io.dapr.spring.boot4.autoconfigure.client","c":"Jackson3ObjectSerializer","l":"deserialize(byte[], TypeRef)","u":"deserialize(byte[],io.dapr.utils.TypeRef)"},{"p":"io.dapr.client.domain","c":"StateOptions.StateOptionDurationDeserializer","l":"deserialize(JsonParser, DeserializationContext)","u":"deserialize(com.fasterxml.jackson.core.JsonParser,com.fasterxml.jackson.databind.DeserializationContext)"},{"p":"io.dapr.durabletask","c":"DataConverter","l":"deserialize(String, Class)","u":"deserialize(java.lang.String,java.lang.Class)"},{"p":"io.dapr.durabletask","c":"JacksonDataConverter","l":"deserialize(String, Class)","u":"deserialize(java.lang.String,java.lang.Class)"},{"p":"io.dapr.spring.data","c":"AbstractDaprKeyValueAdapter","l":"destroy()"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"destroy()"},{"p":"io.dapr.spring6.data","c":"AbstractDaprKeyValueAdapter","l":"destroy()"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"destroy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"DETAILS_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"ConversationMessageRole","l":"DEVELOPER"},{"p":"io.dapr.client.domain","c":"DeveloperMessage","l":"DeveloperMessage(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"DIGEST_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"DIGEST_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"DISABLED"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"DISABLED_VALUE"},{"p":"io.dapr.utils","c":"TypeRef","l":"DOUBLE"},{"p":"io.dapr.client.domain","c":"BulkSubscribeAppResponseStatus","l":"DROP"},{"p":"io.dapr.client.domain","c":"FailurePolicyType","l":"DROP"},{"p":"io.dapr.client","c":"SubscriptionListener.Status","l":"DROP"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.PolicyCase","l":"DROP"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"DROP"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"DROP_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"DROP_VALUE"},{"p":"io.dapr.client.domain","c":"DropFailurePolicy","l":"DropFailurePolicy()","u":"%3Cinit%3E()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"DUE_TIME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"DUE_TIME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"DUE_TIME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"DUE_TIME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"DUE_TIME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.runner","c":"DurableRunner","l":"DurableRunner(OrchestratorService.WorkItem, TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub, Tracer)","u":"%3Cinit%3E(io.dapr.durabletask.implementation.protobuf.OrchestratorService.WorkItem,io.dapr.durabletask.implementation.protobuf.TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub,io.opentelemetry.api.trace.Tracer)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"DurableTaskClient()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClientBuilder","l":"DurableTaskGrpcClientBuilder()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorkerBuilder","l":"DurableTaskGrpcWorkerBuilder()","u":"%3Cinit%3E()"},{"p":"io.dapr.utils","c":"DurationUtils","l":"DurationUtils()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"EMPTYENTITIESREMOVED_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"ENABLED_FEATURES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"ENABLED_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"encodeQueryString()"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"encrypt(EncryptRequestAlpha1)","u":"encrypt(io.dapr.client.domain.EncryptRequestAlpha1)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"encrypt(EncryptRequestAlpha1)","u":"encrypt(io.dapr.client.domain.EncryptRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"encryptAlpha1()"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"encryptAlpha1(StreamObserver)","u":"encryptAlpha1(io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"encryptAlpha1(StreamObserver)","u":"encryptAlpha1(io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"EncryptRequestAlpha1","l":"EncryptRequestAlpha1(String, Flux, String, String)","u":"%3Cinit%3E(java.lang.String,reactor.core.publisher.Flux,java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"ENTITIES_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"ENTITY_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"ENTITYLOCKGRANTED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"ENTITYLOCKGRANTED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"ENTITYLOCKREQUESTED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.EntityMessageTypeCase","l":"ENTITYLOCKREQUESTED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"ENTITYLOCKREQUESTED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"ENTITYLOCKREQUESTED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"ENTITYMESSAGEREORDERWINDOW_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.EntityMessageTypeCase","l":"ENTITYMESSAGETYPE_NOT_SET"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"ENTITYOPERATIONCALLED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.EntityMessageTypeCase","l":"ENTITYOPERATIONCALLED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"ENTITYOPERATIONCALLED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"ENTITYOPERATIONCALLED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"ENTITYOPERATIONCOMPLETED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"ENTITYOPERATIONCOMPLETED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"ENTITYOPERATIONFAILED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"ENTITYOPERATIONFAILED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"ENTITYOPERATIONSIGNALED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.EntityMessageTypeCase","l":"ENTITYOPERATIONSIGNALED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"ENTITYOPERATIONSIGNALED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"ENTITYOPERATIONSIGNALED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"ENTITYPARAMETERS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.RequestCase","l":"ENTITYREQUEST"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"ENTITYREQUEST_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.RequestCase","l":"ENTITYREQUESTV2"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"ENTITYREQUESTV2_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"ENTITYSTATE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"ENTITYSTATE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"ENTITYSTATE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"ENTITYUNLOCKSENT"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.EntityMessageTypeCase","l":"ENTITYUNLOCKSENT"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"ENTITYUNLOCKSENT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"ENTITYUNLOCKSENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"ENTRIES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"ENTRIES_FIELD_NUMBER"},{"p":"io.dapr.spring.data","c":"AbstractDaprKeyValueAdapter","l":"entries(String)","u":"entries(java.lang.String)"},{"p":"io.dapr.spring6.data","c":"AbstractDaprKeyValueAdapter","l":"entries(String)","u":"entries(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"ENTRY_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"ENTRY_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"ENTRY_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"ENTRY_ID_FIELD_NUMBER"},{"p":"io.dapr.client.domain.query.filters","c":"EqFilter","l":"EqFilter()","u":"%3Cinit%3E()"},{"p":"io.dapr.client.domain.query.filters","c":"EqFilter","l":"EqFilter(String, T)","u":"%3Cinit%3E(java.lang.String,T)"},{"p":"io.dapr.actors","c":"ActorId","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.client.domain","c":"QueryStateItem","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.client.domain","c":"State","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.client.domain","c":"TransactionalStateOperation","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.testcontainers","c":"DaprPlacementContainer","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.testcontainers","c":"DaprSchedulerContainer","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"ERROR"},{"p":"io.dapr.testcontainers","c":"DaprLogLevel","l":"ERROR"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"ERROR_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"ERROR_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"ERROR_FIELD_NUMBER"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"ERROR_INFO"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"ERROR_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"ERRORMESSAGE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"ERRORTYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"ETAG_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"ETAG_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"ETAG_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"ETAG_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"ETAG_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"EVENT_DATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"EVENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.SubscribeTopicEventsResponseTypeCase","l":"EVENT_MESSAGE"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"EVENT_MESSAGE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"EVENT_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase","l":"EVENT_NOT_SET"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.SubscribeTopicEventsRequestTypeCase","l":"EVENT_PROCESSED"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"EVENT_PROCESSED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"EVENTID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"EVENTID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"EVENTRAISED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"EVENTRAISED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"EVENTS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"EVENTS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"EVENTSENT"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"EVENTSENT_FIELD_NUMBER"},{"p":"io.dapr.internal.subscription","c":"EventSubscriberStreamObserver","l":"EventSubscriberStreamObserver(DaprGrpc.DaprStub, FluxSink, TypeRef, DaprObjectSerializer)","u":"%3Cinit%3E(io.dapr.v1.DaprGrpc.DaprStub,reactor.core.publisher.FluxSink,io.dapr.utils.TypeRef,io.dapr.serializer.DaprObjectSerializer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"EVENTTYPE_NOT_SET"},{"p":"io.dapr.client.domain","c":"StateOptions.Consistency","l":"EVENTUAL"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"excludeFilters()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"excludeFilters()"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"execute(KeyValueCallback)","u":"execute(org.springframework.data.keyvalue.core.KeyValueCallback)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"execute(KeyValueCallback)","u":"execute(org.springframework.data.keyvalue.core.KeyValueCallback)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationExecutor","l":"execute(List, List)","u":"execute(java.util.List,java.util.List)"},{"p":"io.dapr.durabletask","c":"TaskActivityExecutor","l":"execute(String, String, String, int, String)","u":"execute(java.lang.String,java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"executeActorStateTransaction(DaprActorsProtos.ExecuteActorStateTransactionRequest)","u":"executeActorStateTransaction(io.dapr.v1.DaprActorsProtos.ExecuteActorStateTransactionRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"executeActorStateTransaction(DaprActorsProtos.ExecuteActorStateTransactionRequest)","u":"executeActorStateTransaction(io.dapr.v1.DaprActorsProtos.ExecuteActorStateTransactionRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"executeActorStateTransaction(DaprActorsProtos.ExecuteActorStateTransactionRequest)","u":"executeActorStateTransaction(io.dapr.v1.DaprActorsProtos.ExecuteActorStateTransactionRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"executeActorStateTransaction(DaprActorsProtos.ExecuteActorStateTransactionRequest, StreamObserver)","u":"executeActorStateTransaction(io.dapr.v1.DaprActorsProtos.ExecuteActorStateTransactionRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"executeActorStateTransaction(DaprActorsProtos.ExecuteActorStateTransactionRequest, StreamObserver)","u":"executeActorStateTransaction(io.dapr.v1.DaprActorsProtos.ExecuteActorStateTransactionRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"executeRequired(KeyValueCallback)","u":"executeRequired(org.springframework.data.keyvalue.core.KeyValueCallback)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"executeRequired(KeyValueCallback)","u":"executeRequired(org.springframework.data.keyvalue.core.KeyValueCallback)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"executeStateTransaction(DaprStateProtos.ExecuteStateTransactionRequest)","u":"executeStateTransaction(io.dapr.v1.DaprStateProtos.ExecuteStateTransactionRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"executeStateTransaction(DaprStateProtos.ExecuteStateTransactionRequest)","u":"executeStateTransaction(io.dapr.v1.DaprStateProtos.ExecuteStateTransactionRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"executeStateTransaction(DaprStateProtos.ExecuteStateTransactionRequest)","u":"executeStateTransaction(io.dapr.v1.DaprStateProtos.ExecuteStateTransactionRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"executeStateTransaction(DaprStateProtos.ExecuteStateTransactionRequest, StreamObserver)","u":"executeStateTransaction(io.dapr.v1.DaprStateProtos.ExecuteStateTransactionRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"executeStateTransaction(DaprStateProtos.ExecuteStateTransactionRequest, StreamObserver)","u":"executeStateTransaction(io.dapr.v1.DaprStateProtos.ExecuteStateTransactionRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClient","l":"executeStateTransaction(ExecuteStateTransactionRequest)","u":"executeStateTransaction(io.dapr.client.domain.ExecuteStateTransactionRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"executeStateTransaction(ExecuteStateTransactionRequest)","u":"executeStateTransaction(io.dapr.client.domain.ExecuteStateTransactionRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"executeStateTransaction(String, List>)","u":"executeStateTransaction(java.lang.String,java.util.List)"},{"p":"io.dapr.client","c":"DaprClient","l":"executeStateTransaction(String, List>)","u":"executeStateTransaction(java.lang.String,java.util.List)"},{"p":"io.dapr.client.domain","c":"ExecuteStateTransactionRequest","l":"ExecuteStateTransactionRequest(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"EXECUTIONCOMPLETED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"EXECUTIONCOMPLETED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"EXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"EXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"EXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"EXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"EXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"EXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"EXECUTIONRESUMED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"EXECUTIONRESUMED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"EXECUTIONSTALLED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"EXECUTIONSTALLED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"EXECUTIONSTARTED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"EXECUTIONSTARTED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"EXECUTIONSUSPENDED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"EXECUTIONSUSPENDED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"EXECUTIONTERMINATED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"EXECUTIONTERMINATED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"EXISTS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"EXISTS_FIELD_NUMBER"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"exists(KeyValueQuery, Class)","u":"exists(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"exists(KeyValueQuery, Class)","u":"exists(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.Class)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"EXPIRY_IN_SECONDS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"EXTENDED_METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"EXTENSIONS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"EXTENSIONS_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"OrchestrationRuntimeStatus","l":"FAILED"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"FAILED"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"FAILEDENTRIES_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.ResultTypeCase","l":"FAILURE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"FAILURE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"FAILURE_POLICY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"FAILURE_POLICY_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"FAILUREDETAILS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"FAILUREDETAILS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"FAILUREDETAILS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"FAILUREDETAILS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"FAILUREDETAILS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"FAILUREDETAILS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"FAILUREDETAILS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"FAILUREDETAILS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"FAILUREDETAILS_FIELD_NUMBER"},{"p":"io.dapr.utils","c":"FailurePolicyUtils","l":"FailurePolicyUtils()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"FETCHINPUTSANDOUTPUTS_FIELD_NUMBER"},{"p":"io.dapr.testcontainers.wait.strategy","c":"AbstractDaprWaitStrategy","l":"fetchMetadata(String)","u":"fetchMetadata(java.lang.String)"},{"p":"io.dapr.client.domain.query.filters","c":"Filter","l":"Filter(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"find(KeyValueQuery, Class)","u":"find(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"find(KeyValueQuery, Class)","u":"find(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.Class)"},{"p":"io.dapr.spring.data","c":"MySQLDaprKeyValueAdapter","l":"find(KeyValueQuery, String, Class)","u":"find(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.String,java.lang.Class)"},{"p":"io.dapr.spring.data","c":"PostgreSQLDaprKeyValueAdapter","l":"find(KeyValueQuery, String, Class)","u":"find(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.String,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"MySQLDaprKeyValueAdapter","l":"find(KeyValueQuery, String, Class)","u":"find(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.String,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"PostgreSQLDaprKeyValueAdapter","l":"find(KeyValueQuery, String, Class)","u":"find(org.springframework.data.keyvalue.core.query.KeyValueQuery,java.lang.String,java.lang.Class)"},{"p":"io.dapr.actors","c":"ActorUtils","l":"findActorTypeName(Class)","u":"findActorTypeName(java.lang.Class)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"findAll(Class)","u":"findAll(java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"findAll(Class)","u":"findAll(java.lang.Class)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"findAll(Sort, Class)","u":"findAll(org.springframework.data.domain.Sort,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"findAll(Sort, Class)","u":"findAll(org.springframework.data.domain.Sort,java.lang.Class)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"findById(Object, Class)","u":"findById(java.lang.Object,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"findById(Object, Class)","u":"findById(java.lang.Object,java.lang.Class)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"findInRange(long, int, Class)","u":"findInRange(long,int,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"findInRange(long, int, Class)","u":"findInRange(long,int,java.lang.Class)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"findInRange(long, int, Sort, Class)","u":"findInRange(long,int,org.springframework.data.domain.Sort,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"findInRange(long, int, Sort, Class)","u":"findInRange(long,int,org.springframework.data.domain.Sort,java.lang.Class)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"FINISH_REASON_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"FIREAT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"FIREAT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"FIREAT_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"StateOptions.Concurrency","l":"FIRST_WRITE"},{"p":"io.dapr.utils","c":"TypeRef","l":"FLOAT"},{"p":"io.dapr.testcontainers.wait.strategy","c":"DaprWait","l":"forActors()"},{"p":"io.dapr.testcontainers.wait.strategy","c":"DaprWait","l":"forActorType(String)","u":"forActorType(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"FORCE_FIELD_NUMBER"},{"p":"io.dapr.testcontainers.wait.strategy","c":"AbstractDaprWaitStrategy","l":"forCondition(Predicate, String)","u":"forCondition(java.util.function.Predicate,java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy","c":"DaprWait","l":"forCondition(Predicate, String)","u":"forCondition(java.util.function.Predicate,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"FORMAT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"forNumber(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"forNumber(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.OperationActionTypeCase","l":"forNumber(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.ResultTypeCase","l":"forNumber(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"forNumber(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"forNumber(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.RequestCase","l":"forNumber(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.EntityMessageTypeCase","l":"forNumber(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"forNumber(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"forNumber(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.RequestCase","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.PolicyCase","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.MessageTypesCase","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.ToolTypesCase","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.ToolTypesCase","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.SubscribeTopicEventsRequestTypeCase","l":"forNumber(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.SubscribeTopicEventsResponseTypeCase","l":"forNumber(int)"},{"p":"io.dapr.testcontainers.wait.strategy","c":"DaprWait","l":"forSubscription(String, String)","u":"forSubscription(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"FORWORKITEMPROCESSING_FIELD_NUMBER"},{"p":"io.dapr.internal.exceptions","c":"DaprHttpException","l":"fromGrpcExecutionException(Metadata, Throwable)","u":"fromGrpcExecutionException(io.grpc.Metadata,java.lang.Throwable)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeStatusConverter","l":"fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus)","u":"fromOrchestrationRuntimeStatus(io.dapr.durabletask.OrchestrationRuntimeStatus)"},{"p":"io.dapr.client.domain","c":"JobSchedule","l":"fromPeriod(Duration)","u":"fromPeriod(java.time.Duration)"},{"p":"io.dapr.client.domain","c":"JobSchedule","l":"fromString(String)","u":"fromString(java.lang.String)"},{"p":"io.dapr.client.domain.query","c":"Sorting.Order","l":"fromValue(String)","u":"fromValue(java.lang.String)"},{"p":"io.dapr.client.domain","c":"StateOptions.Concurrency","l":"fromValue(String)","u":"fromValue(java.lang.String)"},{"p":"io.dapr.client.domain","c":"StateOptions.Consistency","l":"fromValue(String)","u":"fromValue(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.ToolTypesCase","l":"FUNCTION"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.ToolTypesCase","l":"FUNCTION"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"FUNCTION_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"FUNCTION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.util","c":"UuidGenerator","l":"generate(int, String, UUID, String)","u":"generate(int,java.lang.String,java.util.UUID,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"GENERICEVENT"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"GENERICEVENT_FIELD_NUMBER"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"GET"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"GET"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"GET"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"GET_VALUE"},{"p":"io.dapr.config","c":"Property","l":"get()"},{"p":"io.dapr.utils","c":"TypeRef","l":"get(Class)","u":"get(java.lang.Class)"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails","l":"get(DaprErrorDetails.ErrorDetailType, String, TypeRef)","u":"get(io.dapr.exceptions.DaprErrorDetails.ErrorDetailType,java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.spring.data","c":"AbstractDaprKeyValueAdapter","l":"get(Object, String)","u":"get(java.lang.Object,java.lang.String)"},{"p":"io.dapr.spring6.data","c":"AbstractDaprKeyValueAdapter","l":"get(Object, String)","u":"get(java.lang.Object,java.lang.String)"},{"p":"io.dapr.spring.data","c":"AbstractDaprKeyValueAdapter","l":"get(Object, String, Class)","u":"get(java.lang.Object,java.lang.String,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"AbstractDaprKeyValueAdapter","l":"get(Object, String, Class)","u":"get(java.lang.Object,java.lang.String,java.lang.Class)"},{"p":"io.dapr.config","c":"Property","l":"get(String)","u":"get(java.lang.String)"},{"p":"io.dapr.actors.runtime","c":"ActorStateManager","l":"get(String, Class)","u":"get(java.lang.String,java.lang.Class)"},{"p":"io.dapr.actors.runtime","c":"ActorStateManager","l":"get(String, TypeRef)","u":"get(java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.utils","c":"TypeRef","l":"get(Type)","u":"get(java.lang.reflect.Type)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getAbandonTaskActivityWorkItemMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getAbandonTaskEntityWorkItemMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getAbandonTaskOrchestratorWorkItemMethod()"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsageDetails","l":"getAcceptedPredictionTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"getAcceptedPredictionTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"getAcceptedPredictionTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetailsOrBuilder","l":"getAcceptedPredictionTokens()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"getAction()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getAction()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicyOrBuilder","l":"getAction()"},{"p":"io.dapr.durabletask","c":"TaskOrchestratorResult","l":"getActions()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getActions(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getActions(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getActions(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getActions(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getActions(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getActions(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getActionsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getActionsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getActionsBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getActionsBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getActionsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getActionsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getActionsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getActionsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getActionsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getActionsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getActionsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getActionsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getActionsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getActionsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getActionsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getActionsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getActionsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getActionsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getActionsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getActionsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getActionsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getActionsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getActionsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getActionsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getActionsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getActionsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getActionsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getActionsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"getActionValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getActionValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicyOrBuilder","l":"getActionValue()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getActiveActors(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getActiveActors(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntimeOrBuilder","l":"getActiveActors(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getActiveActorsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getActiveActorsBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getActiveActorsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getActiveActorsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntimeOrBuilder","l":"getActiveActorsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getActiveActorsCount(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getActiveActorsCount(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getActiveActorsCount(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getActiveActorsCountBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getActiveActorsCountBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getActiveActorsCountCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getActiveActorsCountCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getActiveActorsCountCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getActiveActorsCountList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getActiveActorsCountList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getActiveActorsCountList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getActiveActorsCountOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getActiveActorsCountOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getActiveActorsCountOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getActiveActorsCountOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getActiveActorsCountOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getActiveActorsCountOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getActiveActorsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getActiveActorsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntimeOrBuilder","l":"getActiveActorsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getActiveActorsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getActiveActorsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntimeOrBuilder","l":"getActiveActorsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getActiveActorsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getActiveActorsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntimeOrBuilder","l":"getActiveActorsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getActivityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getActivityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getActivityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getActivityRequestBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getActivityRequestOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getActivityRequestOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getActivityRequestOrBuilder()"},{"p":"io.dapr.actors.client","c":"ActorProxy","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequestOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequestOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequestOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequestOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequestOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequestOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequestOrBuilder","l":"getActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequestOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequestOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequestOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequestOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequestOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequestOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"getActorIdBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequestOrBuilder","l":"getActorIdBytes()"},{"p":"io.dapr.actors.runtime","c":"ActorRuntimeConfig","l":"getActorIdleTimeout()"},{"p":"io.dapr.actors.runtime","c":"ActorTypeConfig","l":"getActorIdleTimeout()"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getActorReminder(DaprActorsProtos.GetActorReminderRequest)","u":"getActorReminder(io.dapr.v1.DaprActorsProtos.GetActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getActorReminder(DaprActorsProtos.GetActorReminderRequest)","u":"getActorReminder(io.dapr.v1.DaprActorsProtos.GetActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getActorReminder(DaprActorsProtos.GetActorReminderRequest)","u":"getActorReminder(io.dapr.v1.DaprActorsProtos.GetActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getActorReminder(DaprActorsProtos.GetActorReminderRequest, StreamObserver)","u":"getActorReminder(io.dapr.v1.DaprActorsProtos.GetActorReminderRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getActorReminder(DaprActorsProtos.GetActorReminderRequest, StreamObserver)","u":"getActorReminder(io.dapr.v1.DaprActorsProtos.GetActorReminderRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getActorRuntime()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getActorRuntime()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getActorRuntime()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getActorRuntimeBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getActorRuntimeOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getActorRuntimeOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getActorRuntimeOrBuilder()"},{"p":"io.dapr.client.domain","c":"DaprMetadata","l":"getActors()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"getActors()"},{"p":"io.dapr.actors.runtime","c":"ActorRuntimeConfig","l":"getActorScanInterval()"},{"p":"io.dapr.actors.runtime","c":"ActorTypeConfig","l":"getActorScanInterval()"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getActorState(DaprActorsProtos.GetActorStateRequest)","u":"getActorState(io.dapr.v1.DaprActorsProtos.GetActorStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getActorState(DaprActorsProtos.GetActorStateRequest)","u":"getActorState(io.dapr.v1.DaprActorsProtos.GetActorStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getActorState(DaprActorsProtos.GetActorStateRequest)","u":"getActorState(io.dapr.v1.DaprActorsProtos.GetActorStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getActorState(DaprActorsProtos.GetActorStateRequest, StreamObserver)","u":"getActorState(io.dapr.v1.DaprActorsProtos.GetActorStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getActorState(DaprActorsProtos.GetActorStateRequest, StreamObserver)","u":"getActorState(io.dapr.v1.DaprActorsProtos.GetActorStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"getActorStateManager()"},{"p":"io.dapr.actors.client","c":"ActorProxy","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequestOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequestOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequestOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequestOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequestOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequestOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequestOrBuilder","l":"getActorType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequestOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequestOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequestOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequestOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequestOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequestOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequestOrBuilder","l":"getActorTypeBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequestOrBuilder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequestOrBuilder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequestOrBuilder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequestOrBuilder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequestOrBuilder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequestOrBuilder","l":"getAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequestOrBuilder","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequestOrBuilder","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequestOrBuilder","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequestOrBuilder","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequestOrBuilder","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequestOrBuilder","l":"getAlgorithmBytes()"},{"p":"io.dapr.spring.data","c":"AbstractDaprKeyValueAdapter","l":"getAllOf(String)","u":"getAllOf(java.lang.String)"},{"p":"io.dapr.spring6.data","c":"AbstractDaprKeyValueAdapter","l":"getAllOf(String)","u":"getAllOf(java.lang.String)"},{"p":"io.dapr.spring.data","c":"MySQLDaprKeyValueAdapter","l":"getAllOf(String, Class)","u":"getAllOf(java.lang.String,java.lang.Class)"},{"p":"io.dapr.spring.data","c":"PostgreSQLDaprKeyValueAdapter","l":"getAllOf(String, Class)","u":"getAllOf(java.lang.String,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"MySQLDaprKeyValueAdapter","l":"getAllOf(String, Class)","u":"getAllOf(java.lang.String,java.lang.Class)"},{"p":"io.dapr.spring6.data","c":"PostgreSQLDaprKeyValueAdapter","l":"getAllOf(String, Class)","u":"getAllOf(java.lang.String,java.lang.Class)"},{"p":"io.dapr.spring.data.repository.config","c":"DaprRepositoriesRegistrar","l":"getAnnotation()"},{"p":"io.dapr.spring6.data.repository.config","c":"DaprRepositoriesRegistrar","l":"getAnnotation()"},{"p":"io.dapr.spring.boot.properties.client","c":"ClientPropertiesDaprConnectionDetails","l":"getApiToken()"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"getApiToken()"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprConnectionDetails","l":"getApiToken()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getAppChannelAddress()"},{"p":"io.dapr.client.domain","c":"DaprMetadata","l":"getAppConnectionProperties()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getAppConnectionProperties()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getAppConnectionProperties()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getAppConnectionProperties()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getAppConnectionPropertiesBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getAppConnectionPropertiesOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getAppConnectionPropertiesOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getAppConnectionPropertiesOrBuilder()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getAppHealthCheckPath()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getAppHealthCheckProbeInterval()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getAppHealthCheckProbeTimeout()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getAppHealthCheckThreshold()"},{"p":"io.dapr.testcontainers","c":"Configuration","l":"getAppHttpPipeline()"},{"p":"io.dapr.client.domain","c":"InvokeMethodRequest","l":"getAppId()"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"getAppId()"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"getAppId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"getAppID()"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"getAppID()"},{"p":"io.dapr.durabletask","c":"TaskOptions","l":"getAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getAppIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getAppIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"getAppIDBytes()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getAppName()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getAppPort()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getAppProtocol()"},{"p":"io.dapr.client.domain","c":"ConversationToolCallsOfFunction","l":"getArguments()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"getArguments()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"getArguments()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunctionOrBuilder","l":"getArguments()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"getArgumentsBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"getArgumentsBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunctionOrBuilder","l":"getArgumentsBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequestOrBuilder","l":"getAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequestOrBuilder","l":"getAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequestOrBuilder","l":"getAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getAssociatedData()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequestOrBuilder","l":"getAssociatedData()"},{"p":"io.dapr.client.domain","c":"DaprMetadata","l":"getAttributes()"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsageDetails","l":"getAudioTokens()"},{"p":"io.dapr.client.domain","c":"ConversationResultPromptUsageDetails","l":"getAudioTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"getAudioTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"getAudioTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetailsOrBuilder","l":"getAudioTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"getAudioTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"getAudioTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetailsOrBuilder","l":"getAudioTokens()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getBacklogQueueSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getBacklogQueueSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"getBacklogQueueSize()"},{"p":"io.dapr.durabletask","c":"RetryPolicy","l":"getBackoffCoefficient()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"getBackoffCoefficient()"},{"p":"io.dapr.testcontainers","c":"HttpEndpoint","l":"getBaseUrl()"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingSenderContext","l":"getBeanName()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getBinaryData()"},{"p":"io.dapr.spring.boot.properties.statestore","c":"DaprStateStoreProperties","l":"getBinding()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"getBindings(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"getBindings(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder","l":"getBindings(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"getBindingsBytes(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"getBindingsBytes(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder","l":"getBindingsBytes(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"getBindingsCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"getBindingsCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder","l":"getBindingsCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"getBindingsList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"getBindingsList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder","l":"getBindingsList()"},{"p":"io.dapr.client","c":"DaprHttp.Response","l":"getBody()"},{"p":"io.dapr.client.domain","c":"InvokeMethodRequest","l":"getBody()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getBulkPublishEventAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getBulkPublishEventMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getBulkSecret(DaprSecretProtos.GetBulkSecretRequest)","u":"getBulkSecret(io.dapr.v1.DaprSecretProtos.GetBulkSecretRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getBulkSecret(DaprSecretProtos.GetBulkSecretRequest)","u":"getBulkSecret(io.dapr.v1.DaprSecretProtos.GetBulkSecretRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getBulkSecret(DaprSecretProtos.GetBulkSecretRequest)","u":"getBulkSecret(io.dapr.v1.DaprSecretProtos.GetBulkSecretRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getBulkSecret(DaprSecretProtos.GetBulkSecretRequest, StreamObserver)","u":"getBulkSecret(io.dapr.v1.DaprSecretProtos.GetBulkSecretRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getBulkSecret(DaprSecretProtos.GetBulkSecretRequest, StreamObserver)","u":"getBulkSecret(io.dapr.v1.DaprSecretProtos.GetBulkSecretRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClient","l":"getBulkSecret(GetBulkSecretRequest)","u":"getBulkSecret(io.dapr.client.domain.GetBulkSecretRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getBulkSecret(GetBulkSecretRequest)","u":"getBulkSecret(io.dapr.client.domain.GetBulkSecretRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getBulkSecret(String)","u":"getBulkSecret(java.lang.String)"},{"p":"io.dapr.client","c":"DaprClient","l":"getBulkSecret(String)","u":"getBulkSecret(java.lang.String)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getBulkSecret(String, Map)","u":"getBulkSecret(java.lang.String,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClient","l":"getBulkSecret(String, Map)","u":"getBulkSecret(java.lang.String,java.util.Map)"},{"p":"io.dapr.client.domain","c":"GetBulkSecretRequest","l":"GetBulkSecretRequest(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getBulkState(DaprStateProtos.GetBulkStateRequest)","u":"getBulkState(io.dapr.v1.DaprStateProtos.GetBulkStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getBulkState(DaprStateProtos.GetBulkStateRequest)","u":"getBulkState(io.dapr.v1.DaprStateProtos.GetBulkStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getBulkState(DaprStateProtos.GetBulkStateRequest)","u":"getBulkState(io.dapr.v1.DaprStateProtos.GetBulkStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getBulkState(DaprStateProtos.GetBulkStateRequest, StreamObserver)","u":"getBulkState(io.dapr.v1.DaprStateProtos.GetBulkStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getBulkState(DaprStateProtos.GetBulkStateRequest, StreamObserver)","u":"getBulkState(io.dapr.v1.DaprStateProtos.GetBulkStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClient","l":"getBulkState(GetBulkStateRequest, TypeRef)","u":"getBulkState(io.dapr.client.domain.GetBulkStateRequest,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getBulkState(GetBulkStateRequest, TypeRef)","u":"getBulkState(io.dapr.client.domain.GetBulkStateRequest,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getBulkState(String, List, Class)","u":"getBulkState(java.lang.String,java.util.List,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClient","l":"getBulkState(String, List, Class)","u":"getBulkState(java.lang.String,java.util.List,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getBulkState(String, List, TypeRef)","u":"getBulkState(java.lang.String,java.util.List,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClient","l":"getBulkState(String, List, TypeRef)","u":"getBulkState(java.lang.String,java.util.List,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client.domain","c":"GetBulkStateRequest","l":"GetBulkStateRequest(String, List)","u":"%3Cinit%3E(java.lang.String,java.util.List)"},{"p":"io.dapr.client.domain","c":"GetBulkStateRequest","l":"GetBulkStateRequest(String, String...)","u":"%3Cinit%3E(java.lang.String,java.lang.String...)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getBulkSubscribe()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getBulkSubscribe()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getBulkSubscribe()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getBulkSubscribeBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getBulkSubscribeOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getBulkSubscribeOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getBulkSubscribeOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getBytes()"},{"p":"io.dapr.client.domain","c":"ConversationResultPromptUsageDetails","l":"getCachedTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"getCachedTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"getCachedTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetailsOrBuilder","l":"getCachedTokens()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getCallback()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getCallback()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getCallback()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getCallbackBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getCallbackBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getCallbackBytes()"},{"p":"io.dapr.actors.runtime","c":"ActorMethodContext","l":"getCallType()"},{"p":"io.dapr.client.domain","c":"ComponentMetadata","l":"getCapabilities()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Component","l":"getCapabilities()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"getCapabilities(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getCapabilities(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequestOrBuilder","l":"getCapabilities(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getCapabilities(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getCapabilities(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponentsOrBuilder","l":"getCapabilities(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getCapabilitiesBytes(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getCapabilitiesBytes(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponentsOrBuilder","l":"getCapabilitiesBytes(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"getCapabilitiesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getCapabilitiesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequestOrBuilder","l":"getCapabilitiesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getCapabilitiesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getCapabilitiesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponentsOrBuilder","l":"getCapabilitiesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"getCapabilitiesList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getCapabilitiesList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequestOrBuilder","l":"getCapabilitiesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getCapabilitiesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getCapabilitiesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponentsOrBuilder","l":"getCapabilitiesList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"getCapabilitiesValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getCapabilitiesValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequestOrBuilder","l":"getCapabilitiesValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"getCapabilitiesValueList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getCapabilitiesValueList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequestOrBuilder","l":"getCapabilitiesValueList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getCarryoverEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getCarryoverEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getCarryoverEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getCarryoverEventsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getCarryoverEventsBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getCarryoverEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getCarryoverEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getCarryoverEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getCarryoverEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getCarryoverEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getCarryoverEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getCarryoverEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getCarryoverEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getCarryoverEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getCarryoverEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getCarryoverEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getCarryoverEventsOrBuilderList()"},{"p":"io.dapr.client.domain","c":"AppConnectionPropertiesMetadata","l":"getChannelAddress()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getChannelAddress()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getChannelAddress()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionPropertiesOrBuilder","l":"getChannelAddress()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getChannelAddressBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getChannelAddressBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionPropertiesOrBuilder","l":"getChannelAddressBytes()"},{"p":"io.dapr.client.domain","c":"ConversationResultAlpha2","l":"getChoices()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getChoices(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getChoices(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2OrBuilder","l":"getChoices(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getChoicesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getChoicesBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getChoicesCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getChoicesCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2OrBuilder","l":"getChoicesCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getChoicesList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getChoicesList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2OrBuilder","l":"getChoicesList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getChoicesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getChoicesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2OrBuilder","l":"getChoicesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getChoicesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getChoicesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2OrBuilder","l":"getChoicesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getCiphertext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getCiphertext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequestOrBuilder","l":"getCiphertext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"getCiphertext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"getCiphertext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponseOrBuilder","l":"getCiphertext()"},{"p":"io.dapr.client.domain","c":"DecryptRequestAlpha1","l":"getCipherTextStream()"},{"p":"io.dapr.client.domain.query.filters","c":"AndFilter","l":"getClauses()"},{"p":"io.dapr.client.domain.query.filters","c":"OrFilter","l":"getClauses()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getCleanEntityStorageMethod()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getCloudEvent()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getCloudEvent()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getCloudEvent()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getCloudEventBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getCloudEventOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getCloudEventOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getCloudEventOrBuilder()"},{"p":"io.dapr.client.domain","c":"UnlockResponseStatus","l":"getCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getCompleteActivityTaskMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getCompletedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getCompletedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getCompletedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getCompletedTimestampBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getCompletedTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getCompletedTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getCompletedTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getCompleteEntityTaskMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getCompleteOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getCompleteOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getCompleteOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getCompleteOrchestrationBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getCompleteOrchestrationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getCompleteOrchestrationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getCompleteOrchestrationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getCompleteOrchestratorTaskMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequestOrBuilder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequestOrBuilder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequestOrBuilder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponseOrBuilder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getCompletionToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequestOrBuilder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequestOrBuilder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequestOrBuilder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponseOrBuilder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getCompletionTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getCompletionTokenBytes()"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsage","l":"getCompletionTokenDetails()"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsage","l":"getCompletionTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getCompletionTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getCompletionTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageOrBuilder","l":"getCompletionTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getCompletionTokensDetails()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getCompletionTokensDetails()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageOrBuilder","l":"getCompletionTokensDetails()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getCompletionTokensDetailsBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getCompletionTokensDetailsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getCompletionTokensDetailsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageOrBuilder","l":"getCompletionTokensDetailsOrBuilder()"},{"p":"io.dapr.client.domain","c":"DecryptRequestAlpha1","l":"getComponentName()"},{"p":"io.dapr.client.domain","c":"EncryptRequestAlpha1","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptionsOrBuilder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequestOrBuilder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequestOrBuilder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequestOrBuilder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequestOrBuilder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequestOrBuilder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequestOrBuilder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequestOrBuilder","l":"getComponentName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptionsOrBuilder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequestOrBuilder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequestOrBuilder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequestOrBuilder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequestOrBuilder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequestOrBuilder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequestOrBuilder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getComponentNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequestOrBuilder","l":"getComponentNameBytes()"},{"p":"io.dapr.client.domain","c":"DaprMetadata","l":"getComponents()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getComponents()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"getComponents()"},{"p":"io.dapr.client.domain","c":"StateOptions","l":"getConcurrency()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"getConcurrency()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"getConcurrency()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptionsOrBuilder","l":"getConcurrency()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getConcurrency()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getConcurrency()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getConcurrency()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"getConcurrencyValue()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"getConcurrencyValue()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptionsOrBuilder","l":"getConcurrencyValue()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getConcurrencyValue()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getConcurrencyValue()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getConcurrencyValue()"},{"p":"io.dapr.testcontainers.wait.strategy","c":"AbstractDaprWaitStrategy","l":"getConditionDescription()"},{"p":"io.dapr.testcontainers.wait.strategy","c":"ActorWaitStrategy","l":"getConditionDescription()"},{"p":"io.dapr.testcontainers.wait.strategy","c":"SubscriptionWaitStrategy","l":"getConditionDescription()"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"getConfig()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getConfiguration()"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getConfiguration(DaprConfigurationProtos.GetConfigurationRequest)","u":"getConfiguration(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getConfiguration(DaprConfigurationProtos.GetConfigurationRequest)","u":"getConfiguration(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getConfiguration(DaprConfigurationProtos.GetConfigurationRequest)","u":"getConfiguration(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getConfiguration(DaprConfigurationProtos.GetConfigurationRequest, StreamObserver)","u":"getConfiguration(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getConfiguration(DaprConfigurationProtos.GetConfigurationRequest, StreamObserver)","u":"getConfiguration(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClient","l":"getConfiguration(GetConfigurationRequest)","u":"getConfiguration(io.dapr.client.domain.GetConfigurationRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getConfiguration(GetConfigurationRequest)","u":"getConfiguration(io.dapr.client.domain.GetConfigurationRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getConfiguration(String, List, Map)","u":"getConfiguration(java.lang.String,java.util.List,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClient","l":"getConfiguration(String, List, Map)","u":"getConfiguration(java.lang.String,java.util.List,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getConfiguration(String, String)","u":"getConfiguration(java.lang.String,java.lang.String)"},{"p":"io.dapr.client","c":"DaprClient","l":"getConfiguration(String, String)","u":"getConfiguration(java.lang.String,java.lang.String)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getConfiguration(String, String, Map)","u":"getConfiguration(java.lang.String,java.lang.String,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClient","l":"getConfiguration(String, String, Map)","u":"getConfiguration(java.lang.String,java.lang.String,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getConfiguration(String, String...)","u":"getConfiguration(java.lang.String,java.lang.String...)"},{"p":"io.dapr.client","c":"DaprClient","l":"getConfiguration(String, String...)","u":"getConfiguration(java.lang.String,java.lang.String...)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getConfigurationAlpha1(DaprConfigurationProtos.GetConfigurationRequest)","u":"getConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getConfigurationAlpha1(DaprConfigurationProtos.GetConfigurationRequest)","u":"getConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getConfigurationAlpha1(DaprConfigurationProtos.GetConfigurationRequest)","u":"getConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getConfigurationAlpha1(DaprConfigurationProtos.GetConfigurationRequest, StreamObserver)","u":"getConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getConfigurationAlpha1(DaprConfigurationProtos.GetConfigurationRequest, StreamObserver)","u":"getConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"GetConfigurationRequest","l":"GetConfigurationRequest(String, List)","u":"%3Cinit%3E(java.lang.String,java.util.List)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"getConnectedAddresses(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"getConnectedAddresses(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataSchedulerOrBuilder","l":"getConnectedAddresses(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"getConnectedAddressesBytes(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"getConnectedAddressesBytes(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataSchedulerOrBuilder","l":"getConnectedAddressesBytes(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"getConnectedAddressesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"getConnectedAddressesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataSchedulerOrBuilder","l":"getConnectedAddressesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"getConnectedAddressesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"getConnectedAddressesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataSchedulerOrBuilder","l":"getConnectedAddressesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"getConnectedWorkers()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"getConnectedWorkers()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflowsOrBuilder","l":"getConnectedWorkers()"},{"p":"io.dapr.client.domain","c":"StateOptions","l":"getConsistency()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"getConsistency()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"getConsistency()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptionsOrBuilder","l":"getConsistency()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getConsistency()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getConsistency()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"getConsistency()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"getConsistencyValue()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"getConsistencyValue()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptionsOrBuilder","l":"getConsistencyValue()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getConsistencyValue()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getConsistencyValue()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"getConsistencyValue()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"getConstant()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"getConstant()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyOrBuilder","l":"getConstant()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"getConstantBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"getConstantOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"getConstantOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyOrBuilder","l":"getConstantOrBuilder()"},{"p":"io.dapr.spring.boot.testcontainers.service.connection","c":"DaprContainerConnectionDetailsFactory","l":"getContainerConnectionDetails(ContainerConnectionSource)","u":"getContainerConnectionDetails(org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource)"},{"p":"io.dapr.client.domain","c":"AssistantMessage","l":"getContent()"},{"p":"io.dapr.client.domain","c":"ConversationInput","l":"getContent()"},{"p":"io.dapr.client.domain","c":"ConversationMessage","l":"getContent()"},{"p":"io.dapr.client.domain","c":"ConversationResultMessage","l":"getContent()"},{"p":"io.dapr.client.domain","c":"DeveloperMessage","l":"getContent()"},{"p":"io.dapr.client.domain","c":"SystemMessage","l":"getContent()"},{"p":"io.dapr.client.domain","c":"ToolMessage","l":"getContent()"},{"p":"io.dapr.client.domain","c":"UserMessage","l":"getContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"getContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"getContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputOrBuilder","l":"getContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessageOrBuilder","l":"getContent()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloperOrBuilder","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystemOrBuilder","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfToolOrBuilder","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUserOrBuilder","l":"getContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getContentBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getContentBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getContentBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getContentBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getContentBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getContentBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getContentBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getContentBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getContentBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getContentBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"getContentBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"getContentBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputOrBuilder","l":"getContentBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getContentBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getContentBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessageOrBuilder","l":"getContentBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloperOrBuilder","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystemOrBuilder","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfToolOrBuilder","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUserOrBuilder","l":"getContentCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloperOrBuilder","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystemOrBuilder","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfToolOrBuilder","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUserOrBuilder","l":"getContentList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloperOrBuilder","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystemOrBuilder","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfToolOrBuilder","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUserOrBuilder","l":"getContentOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloperOrBuilder","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystemOrBuilder","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfToolOrBuilder","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getContentOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUserOrBuilder","l":"getContentOrBuilderList()"},{"p":"io.dapr.client.domain","c":"BulkPublishEntry","l":"getContentType()"},{"p":"io.dapr.client.domain","c":"BulkSubscribeMessageEntry","l":"getContentType()"},{"p":"io.dapr.client.domain","c":"InvokeMethodRequest","l":"getContentType()"},{"p":"io.dapr.client.domain","c":"PublishEventRequest","l":"getContentType()"},{"p":"io.dapr.serializer","c":"CustomizableObjectSerializer","l":"getContentType()"},{"p":"io.dapr.serializer","c":"DaprObjectSerializer","l":"getContentType()"},{"p":"io.dapr.serializer","c":"DefaultObjectSerializer","l":"getContentType()"},{"p":"io.dapr.spring.boot4.autoconfigure.client","c":"Jackson3ObjectSerializer","l":"getContentType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getContentType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getContentType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequestOrBuilder","l":"getContentType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"getContentType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"getContentType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponseOrBuilder","l":"getContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"getContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getContentType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getContentType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getContentType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder","l":"getContentType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequestOrBuilder","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponseOrBuilder","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder","l":"getContentTypeBytes()"},{"p":"io.dapr.client.domain","c":"ConversationRequest","l":"getContextId()"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"getContextId()"},{"p":"io.dapr.client.domain","c":"ConversationResponse","l":"getContextId()"},{"p":"io.dapr.client.domain","c":"ConversationResponseAlpha2","l":"getContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2OrBuilder","l":"getContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseOrBuilder","l":"getContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getContextIdBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getContextIdBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getContextIdBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getContextIdBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getContextIdBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2OrBuilder","l":"getContextIdBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getContextIDBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getContextIDBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getContextIDBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getContextIDBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getContextIDBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseOrBuilder","l":"getContextIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequestOrBuilder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponseOrBuilder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequestOrBuilder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponseOrBuilder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponseOrBuilder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponseOrBuilder","l":"getContinuationToken()"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"getContinuationToken()"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQueryResult","l":"getContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"getContinuationTokenBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"getContinuationTokenBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getContinuationTokenBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getContinuationTokenBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getContinuationTokenBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getContinuationTokenBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"getContinuationTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"getContinuationTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequestOrBuilder","l":"getContinuationTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"getContinuationTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"getContinuationTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponseOrBuilder","l":"getContinuationTokenBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequestOrBuilder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponseOrBuilder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponseOrBuilder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponseOrBuilder","l":"getContinuationTokenOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getContinueAsNew()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getContinueAsNew()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getContinueAsNew()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getContinueAsNewBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getContinueAsNewOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getContinueAsNewOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getContinueAsNewOrBuilder()"},{"p":"io.dapr.client.domain","c":"ConversationResponse","l":"getConversationOutputs()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getConverseAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getConverseAlpha2Method()"},{"p":"io.dapr.client.domain","c":"ActorMetadata","l":"getCount()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Actor","l":"getCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"getCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"getCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCountOrBuilder","l":"getCount()"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"getCreatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getCreatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getCreatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getCreatedAt()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getCreatedAt()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getCreatedAt()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getCreatedAt()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getCreatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getCreatedAtBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getCreatedAtOrBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getCreatedAtOrBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getCreatedAtOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilterOrBuilder","l":"getCreatedTimeFrom()"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"getCreatedTimeFrom()"},{"p":"io.dapr.durabletask","c":"PurgeInstanceCriteria","l":"getCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getCreatedTimeFromBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getCreatedTimeFromBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getCreatedTimeFromOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getCreatedTimeFromOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getCreatedTimeFromOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getCreatedTimeFromOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getCreatedTimeFromOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilterOrBuilder","l":"getCreatedTimeFromOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getCreatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getCreatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getCreatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getCreatedTimestampBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getCreatedTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getCreatedTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getCreatedTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilterOrBuilder","l":"getCreatedTimeTo()"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"getCreatedTimeTo()"},{"p":"io.dapr.durabletask","c":"PurgeInstanceCriteria","l":"getCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getCreatedTimeToBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getCreatedTimeToBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getCreatedTimeToOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getCreatedTimeToOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getCreatedTimeToOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getCreatedTimeToOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getCreatedTimeToOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilterOrBuilder","l":"getCreatedTimeToOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getCreateSubOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getCreateSubOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getCreateSubOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getCreateSubOrchestrationBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getCreateSubOrchestrationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getCreateSubOrchestrationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getCreateSubOrchestrationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getCreateTaskHubMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getCreateTimer()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getCreateTimer()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getCreateTimer()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getCreateTimerBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getCreateTimerOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getCreateTimerOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getCreateTimerOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"getCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"getCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEventOrBuilder","l":"getCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEventOrBuilder","l":"getCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"getCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"getCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEventOrBuilder","l":"getCriticalSectionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"getCriticalSectionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"getCriticalSectionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEventOrBuilder","l":"getCriticalSectionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getCriticalSectionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getCriticalSectionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEventOrBuilder","l":"getCriticalSectionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"getCriticalSectionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"getCriticalSectionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEventOrBuilder","l":"getCriticalSectionIdBytes()"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"getCurrentInstant()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"getCurrentInstant()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"getCurrentInstant()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getCustomStatus()"},{"p":"io.dapr.durabletask","c":"TaskOrchestratorResult","l":"getCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getCustomStatusBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getCustomStatusBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getCustomStatusOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getCustomStatusOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getCustomStatusOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getCustomStatusOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getCustomStatusOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getCustomStatusOrBuilder()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getData()"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"getData()"},{"p":"io.dapr.client.domain","c":"InvokeBindingRequest","l":"getData()"},{"p":"io.dapr.client.domain","c":"PublishEventRequest","l":"getData()"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"getData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"getData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"getData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEventOrBuilder","l":"getData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"getData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"getData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventActionOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequestOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"getData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponseOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"getData()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayloadOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponseOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponseOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequestOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getData()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequestOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"getData()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponseOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getData()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getData()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"getData()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponseOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"getData()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponseOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponseOrBuilder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"getData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getData()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItemOrBuilder","l":"getData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"getDataBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"getDataBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getDataBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"getDataBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getDataBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getDataBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getDataBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getDataBuilder()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getDatacontenttype()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getDataContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getDataContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getDataContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getDataContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getDataContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getDataContentType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getDataContentType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getDataContentType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getDataContentType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getDataContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getDataContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getDataContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getDataContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getDataContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getDataContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getDataContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getDataContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getDataContentTypeBytes()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"getDataCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"getDataCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponseOrBuilder","l":"getDataCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"getDataCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"getDataCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponseOrBuilder","l":"getDataCount()"},{"p":"io.dapr.client.domain","c":"EncryptRequestAlpha1","l":"getDataEncryptionCipher()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getDataEncryptionCipher()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getDataEncryptionCipher()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder","l":"getDataEncryptionCipher()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getDataEncryptionCipherBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getDataEncryptionCipherBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder","l":"getDataEncryptionCipherBytes()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"getDataMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"getDataMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponseOrBuilder","l":"getDataMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"getDataMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"getDataMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponseOrBuilder","l":"getDataMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"getDataOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"getDataOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEventOrBuilder","l":"getDataOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"getDataOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"getDataOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventActionOrBuilder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequestOrBuilder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponseOrBuilder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getDataOrBuilder()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"getDataOrDefault(String, DaprSecretProtos.SecretResponse)","u":"getDataOrDefault(java.lang.String,io.dapr.v1.DaprSecretProtos.SecretResponse)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"getDataOrDefault(String, DaprSecretProtos.SecretResponse)","u":"getDataOrDefault(java.lang.String,io.dapr.v1.DaprSecretProtos.SecretResponse)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponseOrBuilder","l":"getDataOrDefault(String, DaprSecretProtos.SecretResponse)","u":"getDataOrDefault(java.lang.String,io.dapr.v1.DaprSecretProtos.SecretResponse)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"getDataOrDefault(String, String)","u":"getDataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"getDataOrDefault(String, String)","u":"getDataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponseOrBuilder","l":"getDataOrDefault(String, String)","u":"getDataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"getDataOrThrow(String)","u":"getDataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"getDataOrThrow(String)","u":"getDataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponseOrBuilder","l":"getDataOrThrow(String)","u":"getDataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"getDataOrThrow(String)","u":"getDataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"getDataOrThrow(String)","u":"getDataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponseOrBuilder","l":"getDataOrThrow(String)","u":"getDataOrThrow(java.lang.String)"},{"p":"io.dapr.client.domain","c":"SubscriptionMetadata","l":"getDeadLetterTopic()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"getDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"getDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getDeadLetterTopicBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getDeadLetterTopicBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getDeadLetterTopicBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getDeadLetterTopicBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getDeadLetterTopicBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getDeadLetterTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getDeadLetterTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getDeadLetterTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"getDeadLetterTopicBytes()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getDecryptAlpha1Method()"},{"p":"io.dapr.client.domain","c":"EncryptRequestAlpha1","l":"getDecryptionKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getDecryptionKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getDecryptionKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder","l":"getDecryptionKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getDecryptionKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getDecryptionKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder","l":"getDecryptionKeyNameBytes()"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingObservationConvention","l":"getDefault()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getDefault()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getDefault()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutesOrBuilder","l":"getDefault()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getDefaultBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getDefaultBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutesOrBuilder","l":"getDefaultBytes()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getDefaultImageName()"},{"p":"io.dapr.testcontainers","c":"DaprPlacementContainer","l":"getDefaultImageName()"},{"p":"io.dapr.testcontainers","c":"DaprSchedulerContainer","l":"getDefaultImageName()"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"getDefaultImageName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"getDefaultInstance()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"getDefaultInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"getDefaultInstanceForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"getDefaultInstanceForType()"},{"p":"io.dapr.spring.data.repository.config","c":"DaprRepositoryConfigurationExtension","l":"getDefaultKeyValueTemplateRef()"},{"p":"io.dapr.spring6.data.repository.config","c":"DaprRepositoryConfigurationExtension","l":"getDefaultKeyValueTemplateRef()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getDeleteBulkStateMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"getDeletedInstanceCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"getDeletedInstanceCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponseOrBuilder","l":"getDeletedInstanceCount()"},{"p":"io.dapr.durabletask","c":"PurgeResult","l":"getDeletedInstanceCount()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getDeleteJobAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getDeleteJobsByPrefixAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getDeleteStateMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getDeleteTaskHubMethod()"},{"p":"io.dapr.client.domain","c":"ConversationToolsFunction","l":"getDescription()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"getDescription()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"getDescription()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEventOrBuilder","l":"getDescription()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"getDescription()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"getDescription()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunctionOrBuilder","l":"getDescription()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"getDescriptionBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"getDescriptionBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEventOrBuilder","l":"getDescriptionBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"getDescriptionBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"getDescriptionBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunctionOrBuilder","l":"getDescriptionBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAiProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprLockProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprSecretProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"getDescriptor()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"getDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"getDescriptorForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"getDescriptorForType()"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingSenderContext","l":"getDestination()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getDetails()"},{"p":"io.dapr.exceptions","c":"DaprError","l":"getDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getDetailsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getDetailsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"getDigest()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getDigest()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequestOrBuilder","l":"getDigest()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"getDigest()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getDigest()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequestOrBuilder","l":"getDigest()"},{"p":"io.dapr.actors.runtime","c":"ActorRuntimeConfig","l":"getDrainBalancedActors()"},{"p":"io.dapr.actors.runtime","c":"ActorTypeConfig","l":"getDrainBalancedActors()"},{"p":"io.dapr.actors.runtime","c":"ActorRuntimeConfig","l":"getDrainOngoingCallTimeout()"},{"p":"io.dapr.actors.runtime","c":"ActorTypeConfig","l":"getDrainOngoingCallTimeout()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"getDrop()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"getDrop()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyOrBuilder","l":"getDrop()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"getDropBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"getDropOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"getDropOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyOrBuilder","l":"getDropOrBuilder()"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"getDueTime()"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getDueTimeBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getDueTimeBytes()"},{"p":"io.dapr.client.domain","c":"ConstantFailurePolicy","l":"getDurationBetweenRetries()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"getEmptyEntitiesRemoved()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"getEmptyEntitiesRemoved()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponseOrBuilder","l":"getEmptyEntitiesRemoved()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"getEnabled()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"getEnabled()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder","l":"getEnabled()"},{"p":"io.dapr.client.domain","c":"DaprMetadata","l":"getEnabledFeatures()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"getEnabledFeatures()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getEnabledFeatures(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getEnabledFeatures(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getEnabledFeatures(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getEnabledFeaturesBytes(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getEnabledFeaturesBytes(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getEnabledFeaturesBytes(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getEnabledFeaturesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getEnabledFeaturesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getEnabledFeaturesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getEnabledFeaturesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getEnabledFeaturesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getEnabledFeaturesList()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getEncryptAlpha1Method()"},{"p":"io.dapr.testcontainers","c":"OtelTracingConfigurationSettings","l":"getEndpointAddress()"},{"p":"io.dapr.testcontainers","c":"ZipkinTracingConfigurationSettings","l":"getEndpointAddress()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getEntities(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getEntities(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponseOrBuilder","l":"getEntities(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getEntitiesBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getEntitiesBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getEntitiesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getEntitiesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponseOrBuilder","l":"getEntitiesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getEntitiesList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getEntitiesList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponseOrBuilder","l":"getEntitiesList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getEntitiesOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getEntitiesOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponseOrBuilder","l":"getEntitiesOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"getEntitiesOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getEntitiesOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponseOrBuilder","l":"getEntitiesOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"getEntity()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"getEntity()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponseOrBuilder","l":"getEntity()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"getEntity(OrchestratorService.GetEntityRequest)","u":"getEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetEntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"getEntity(OrchestratorService.GetEntityRequest)","u":"getEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetEntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"getEntity(OrchestratorService.GetEntityRequest)","u":"getEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetEntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"getEntity(OrchestratorService.GetEntityRequest, StreamObserver)","u":"getEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetEntityRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"getEntity(OrchestratorService.GetEntityRequest, StreamObserver)","u":"getEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetEntityRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"getEntityBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityLockGranted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityLockGranted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityLockGranted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityLockGrantedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityLockGrantedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityLockGrantedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityLockGrantedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"getEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityLockRequestedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityLockRequestedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityLockRequestedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityLockRequestedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityLockRequestedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityLockRequestedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getEntityLockRequestedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"getEntityLockRequestedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"getEntityMessageReorderWindow()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"getEntityMessageReorderWindow()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParametersOrBuilder","l":"getEntityMessageReorderWindow()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"getEntityMessageReorderWindowBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"getEntityMessageReorderWindowOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"getEntityMessageReorderWindowOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParametersOrBuilder","l":"getEntityMessageReorderWindowOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityMessageTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getEntityMessageTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"getEntityMessageTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"getEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationCalledBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityOperationCalledBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationCalledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityOperationCalledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityOperationCalledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityOperationCalledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getEntityOperationCalledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"getEntityOperationCalledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityOperationCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityOperationCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationCompletedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityOperationCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityOperationCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityOperationFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityOperationFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationFailedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationFailedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityOperationFailedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityOperationFailedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"getEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationSignaledBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityOperationSignaledBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityOperationSignaledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityOperationSignaledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityOperationSignaledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityOperationSignaledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getEntityOperationSignaledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"getEntityOperationSignaledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"getEntityOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"getEntityOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponseOrBuilder","l":"getEntityOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getEntityParameters()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getEntityParameters()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getEntityParameters()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getEntityParametersBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getEntityParametersOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getEntityParametersOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getEntityParametersOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getEntityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getEntityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getEntityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getEntityRequestBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getEntityRequestOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getEntityRequestOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getEntityRequestOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getEntityRequestV2()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getEntityRequestV2()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getEntityRequestV2()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getEntityRequestV2Builder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getEntityRequestV2OrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getEntityRequestV2OrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getEntityRequestV2OrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequestOrBuilder","l":"getEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"getEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getEntityStateBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getEntityStateBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getEntityStateBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getEntityStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getEntityStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequestOrBuilder","l":"getEntityStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getEntityStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getEntityStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getEntityStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getEntityStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getEntityStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"getEntityStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"getEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityUnlockSentBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityUnlockSentBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEntityUnlockSentOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEntityUnlockSentOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEntityUnlockSentOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"getEntityUnlockSentOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getEntityUnlockSentOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"getEntityUnlockSentOrBuilder()"},{"p":"io.dapr.client.domain","c":"BulkPublishRequest","l":"getEntries()"},{"p":"io.dapr.client.domain","c":"BulkSubscribeMessage","l":"getEntries()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getEntries(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getEntries(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getEntries(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getEntries(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getEntries(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getEntries(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getEntriesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getEntriesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getEntriesBuilderList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getEntriesBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getEntriesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getEntriesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getEntriesCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getEntriesCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getEntriesCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getEntriesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getEntriesList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getEntriesList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getEntriesList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getEntriesList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getEntriesList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getEntriesList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getEntriesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getEntriesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getEntriesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getEntriesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getEntriesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getEntriesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getEntriesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getEntriesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getEntriesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getEntriesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getEntriesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getEntriesOrBuilderList()"},{"p":"io.dapr.client.domain","c":"BulkPublishResponseFailedEntry","l":"getEntry()"},{"p":"io.dapr.client.domain","c":"BulkPublishEntry","l":"getEntryId()"},{"p":"io.dapr.client.domain","c":"BulkSubscribeAppResponseEntry","l":"getEntryId()"},{"p":"io.dapr.client.domain","c":"BulkSubscribeMessageEntry","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntryOrBuilder","l":"getEntryId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getEntryIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getEntryIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getEntryIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"getEntryIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"getEntryIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder","l":"getEntryIdBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getEntryIdBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getEntryIdBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder","l":"getEntryIdBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"getEntryIdBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"getEntryIdBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntryOrBuilder","l":"getEntryIdBytes()"},{"p":"io.dapr.config","c":"Property","l":"getEnvName()"},{"p":"io.dapr.client.domain","c":"QueryStateItem","l":"getError()"},{"p":"io.dapr.client.domain","c":"State","l":"getError()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"getError()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"getError()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntryOrBuilder","l":"getError()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getError()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getError()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getError()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"getError()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getError()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItemOrBuilder","l":"getError()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"getErrorBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"getErrorBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntryOrBuilder","l":"getErrorBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getErrorBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getErrorBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getErrorBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"getErrorBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getErrorBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItemOrBuilder","l":"getErrorBytes()"},{"p":"io.dapr.exceptions","c":"DaprError","l":"getErrorCode()"},{"p":"io.dapr.exceptions","c":"DaprException","l":"getErrorCode()"},{"p":"io.dapr.durabletask","c":"TaskFailedException","l":"getErrorDetails()"},{"p":"io.dapr.exceptions","c":"DaprException","l":"getErrorDetails()"},{"p":"io.dapr.client.domain","c":"BulkPublishResponseFailedEntry","l":"getErrorMessage()"},{"p":"io.dapr.durabletask","c":"FailureDetails","l":"getErrorMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getErrorMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getErrorMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetailsOrBuilder","l":"getErrorMessage()"},{"p":"io.dapr.workflows.client","c":"WorkflowFailureDetails","l":"getErrorMessage()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"getErrorMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getErrorMessageBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getErrorMessageBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetailsOrBuilder","l":"getErrorMessageBytes()"},{"p":"io.dapr.durabletask","c":"FailureDetails","l":"getErrorType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getErrorType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getErrorType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetailsOrBuilder","l":"getErrorType()"},{"p":"io.dapr.workflows.client","c":"WorkflowFailureDetails","l":"getErrorType()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"getErrorType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getErrorTypeBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getErrorTypeBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetailsOrBuilder","l":"getErrorTypeBytes()"},{"p":"io.dapr.client.domain","c":"DeleteStateRequest","l":"getEtag()"},{"p":"io.dapr.client.domain","c":"QueryStateItem","l":"getEtag()"},{"p":"io.dapr.client.domain","c":"State","l":"getEtag()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getEtag()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getEtag()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponseOrBuilder","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItemOrBuilder","l":"getEtag()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getEtagBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getEtagBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getEtagBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getEtagBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getEtagBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getEtagBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getEtagBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponseOrBuilder","l":"getEtagBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"getEtagBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getEtagBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItemOrBuilder","l":"getEtagBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getEtagOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getEtagOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getEtagOrBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getEtagOrBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getEtagOrBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getEtagOrBuilder()"},{"p":"io.dapr.client.domain","c":"BulkPublishEntry","l":"getEvent()"},{"p":"io.dapr.client.domain","c":"BulkSubscribeMessageEntry","l":"getEvent()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getEvent()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getEvent()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder","l":"getEvent()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getEventCase()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getEventCase()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getEventCase()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"getEventData()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getEventData()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequestOrBuilder","l":"getEventData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEventId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEventId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEventId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getEventID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getEventID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"getEventID()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"getEventMessage()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"getEventMessage()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1OrBuilder","l":"getEventMessage()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"getEventMessageBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"getEventMessageOrBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"getEventMessageOrBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1OrBuilder","l":"getEventMessageOrBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"getEventName()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getEventName()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequestOrBuilder","l":"getEventName()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"getEventNameBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getEventNameBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequestOrBuilder","l":"getEventNameBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"getEventProcessed()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"getEventProcessed()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1OrBuilder","l":"getEventProcessed()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"getEventProcessedBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"getEventProcessedOrBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"getEventProcessedOrBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1OrBuilder","l":"getEventProcessedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEventRaised()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEventRaised()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEventRaised()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEventRaisedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEventRaisedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEventRaisedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEventRaisedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"getEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"getEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponseOrBuilder","l":"getEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"getEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"getEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunkOrBuilder","l":"getEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"getEventsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"getEventsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"getEventsBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"getEventsBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"getEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"getEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponseOrBuilder","l":"getEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"getEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"getEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunkOrBuilder","l":"getEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEventSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEventSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEventSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEventSentBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEventSentOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEventSentOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEventSentOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"getEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"getEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponseOrBuilder","l":"getEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"getEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"getEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunkOrBuilder","l":"getEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"getEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"getEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponseOrBuilder","l":"getEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"getEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"getEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunkOrBuilder","l":"getEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"getEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"getEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponseOrBuilder","l":"getEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"getEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"getEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunkOrBuilder","l":"getEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getEventTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getEventTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getEventTypeCase()"},{"p":"io.dapr.durabletask","c":"CompositeTaskFailedException","l":"getExceptions()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getExecuteActorStateTransactionMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getExecuteStateTransactionMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionCompletedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstanceOrBuilder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequestOrBuilder","l":"getExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getExecutionIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"getExecutionIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getExecutionIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getExecutionIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"getExecutionIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"getExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstanceOrBuilder","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequestOrBuilder","l":"getExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionResumed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionResumed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionResumed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionResumedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionResumedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionResumedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionResumedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionStalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionStalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionStalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionStalledBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionStalledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionStalledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionStalledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionStartedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionStartedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionStartedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionStartedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionSuspended()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionSuspended()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionSuspended()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionSuspendedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionSuspendedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionSuspendedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionSuspendedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionTerminated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionTerminated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionTerminated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionTerminatedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getExecutionTerminatedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getExecutionTerminatedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getExecutionTerminatedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"getExists()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"getExists()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponseOrBuilder","l":"getExists()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"getExists()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"getExists()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponseOrBuilder","l":"getExists()"},{"p":"io.dapr.client.domain","c":"LockRequest","l":"getExpiryInSeconds()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"getExpiryInSeconds()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getExpiryInSeconds()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequestOrBuilder","l":"getExpiryInSeconds()"},{"p":"io.dapr.client.domain","c":"JobSchedule","l":"getExpression()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getExtendedMetadata()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getExtendedMetadata()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getExtendedMetadata()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getExtendedMetadataCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getExtendedMetadataCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getExtendedMetadataCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getExtendedMetadataMap()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getExtendedMetadataMap()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getExtendedMetadataMap()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getExtendedMetadataOrDefault(String, String)","u":"getExtendedMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getExtendedMetadataOrDefault(String, String)","u":"getExtendedMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getExtendedMetadataOrDefault(String, String)","u":"getExtendedMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getExtendedMetadataOrThrow(String)","u":"getExtendedMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getExtendedMetadataOrThrow(String)","u":"getExtendedMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getExtendedMetadataOrThrow(String)","u":"getExtendedMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.spring.data.repository.config","c":"DaprRepositoriesRegistrar","l":"getExtension()"},{"p":"io.dapr.spring6.data.repository.config","c":"DaprRepositoriesRegistrar","l":"getExtension()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getExtensionsBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getExtensionsBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getExtensionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getExtensionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getExtensionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getExtensionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getExtensionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getExtensionsOrBuilder()"},{"p":"io.dapr.client.domain","c":"BulkPublishResponse","l":"getFailedEntries()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"getFailedEntries(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"getFailedEntries(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseOrBuilder","l":"getFailedEntries(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"getFailedEntriesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"getFailedEntriesBuilderList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"getFailedEntriesCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"getFailedEntriesCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseOrBuilder","l":"getFailedEntriesCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"getFailedEntriesList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"getFailedEntriesList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseOrBuilder","l":"getFailedEntriesList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"getFailedEntriesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"getFailedEntriesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseOrBuilder","l":"getFailedEntriesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"getFailedEntriesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"getFailedEntriesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseOrBuilder","l":"getFailedEntriesOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"getFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"getFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultOrBuilder","l":"getFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"getFailureBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponseOrBuilder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEventOrBuilder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEventOrBuilder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailureOrBuilder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEventOrBuilder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEventOrBuilder","l":"getFailureDetails()"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"getFailureDetails()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getFailureDetails()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getFailureDetails()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getFailureDetails()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getFailureDetailsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getFailureDetailsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getFailureDetailsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"getFailureDetailsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"getFailureDetailsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"getFailureDetailsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getFailureDetailsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"getFailureDetailsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"getFailureDetailsBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponseOrBuilder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEventOrBuilder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEventOrBuilder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailureOrBuilder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEventOrBuilder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEventOrBuilder","l":"getFailureDetailsOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"getFailureOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"getFailureOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultOrBuilder","l":"getFailureOrBuilder()"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"getFailurePolicy()"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"getFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getFailurePolicyBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getFailurePolicyBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getFailurePolicyOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getFailurePolicyOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getFailurePolicyOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getFailurePolicyOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getFailurePolicyOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getFailurePolicyOrBuilder()"},{"p":"io.dapr.client.domain","c":"ConstantFailurePolicy","l":"getFailurePolicyType()"},{"p":"io.dapr.client.domain","c":"DropFailurePolicy","l":"getFailurePolicyType()"},{"p":"io.dapr.client.domain","c":"FailurePolicy","l":"getFailurePolicyType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getFetchInputsAndOutputs()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getFetchInputsAndOutputs()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getFetchInputsAndOutputs()"},{"p":"io.dapr.client.domain.query","c":"Query","l":"getFilter()"},{"p":"io.dapr.client.domain","c":"ConversationResultChoices","l":"getFinishReason()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"getFinishReason()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"getFinishReason()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoicesOrBuilder","l":"getFinishReason()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"getFinishReasonBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"getFinishReasonBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoicesOrBuilder","l":"getFinishReasonBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"getFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"getFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerActionOrBuilder","l":"getFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"getFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"getFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEventOrBuilder","l":"getFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"getFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"getFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEventOrBuilder","l":"getFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"getFireAtBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"getFireAtBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"getFireAtBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"getFireAtOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"getFireAtOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerActionOrBuilder","l":"getFireAtOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"getFireAtOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"getFireAtOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEventOrBuilder","l":"getFireAtOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"getFireAtOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"getFireAtOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEventOrBuilder","l":"getFireAtOrBuilder()"},{"p":"io.dapr.durabletask","c":"RetryPolicy","l":"getFirstRetryInterval()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"getFirstRetryInterval()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"getForce()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getForce()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequestOrBuilder","l":"getForce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"getFormat()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"getFormat()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequestOrBuilder","l":"getFormat()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"getFormatValue()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"getFormatValue()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequestOrBuilder","l":"getFormatValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"getForWorkItemProcessing()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"getForWorkItemProcessing()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequestOrBuilder","l":"getForWorkItemProcessing()"},{"p":"io.dapr.durabletask","c":"FailureDetails","l":"getFullStackTrace(Throwable)","u":"getFullStackTrace(java.lang.Throwable)"},{"p":"io.dapr.client.domain","c":"ConversationToolCalls","l":"getFunction()"},{"p":"io.dapr.client.domain","c":"ConversationTools","l":"getFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"getFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"getFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOrBuilder","l":"getFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"getFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"getFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsOrBuilder","l":"getFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"getFunctionBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"getFunctionBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"getFunctionOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"getFunctionOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOrBuilder","l":"getFunctionOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"getFunctionOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"getFunctionOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsOrBuilder","l":"getFunctionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getGenericEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getGenericEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getGenericEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getGenericEventBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getGenericEventOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getGenericEventOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getGenericEventOrBuilder()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetActorReminderMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetActorStateMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetBulkSecretMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetBulkStateMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetConfigurationAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetConfigurationMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getGetEntityMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"getGetInputsAndOutputs()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"getGetInputsAndOutputs()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequestOrBuilder","l":"getGetInputsAndOutputs()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getGetInstanceHistoryMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getGetInstanceMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetJobAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetMetadataMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetSecretMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetStateMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetWorkflowAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getGetWorkflowBeta1Method()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getGetWorkItemsMethod()"},{"p":"io.dapr.spring.boot.properties.client","c":"ClientPropertiesDaprConnectionDetails","l":"getGrpcEndpoint()"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"getGrpcEndpoint()"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprConnectionDetails","l":"getGrpcEndpoint()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getGrpcEndpoint()"},{"p":"io.dapr.spring.boot.properties.client","c":"ClientPropertiesDaprConnectionDetails","l":"getGrpcPort()"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"getGrpcPort()"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprConnectionDetails","l":"getGrpcPort()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getGrpcPort()"},{"p":"io.dapr.testcontainers","c":"AppHttpPipeline","l":"getHandlers()"},{"p":"io.dapr.client","c":"DaprHttp.Response","l":"getHeaders()"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"getHeaders()"},{"p":"io.dapr.client.domain","c":"AppConnectionPropertiesMetadata","l":"getHealth()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getHealth()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getHealth()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionPropertiesOrBuilder","l":"getHealth()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getHealthBuilder()"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc","l":"getHealthCheckMethod()"},{"p":"io.dapr.client.domain","c":"AppConnectionPropertiesHealthMetadata","l":"getHealthCheckPath()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"getHealthCheckPath()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getHealthCheckPath()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthPropertiesOrBuilder","l":"getHealthCheckPath()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"getHealthCheckPathBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getHealthCheckPathBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthPropertiesOrBuilder","l":"getHealthCheckPathBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getHealthOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getHealthOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionPropertiesOrBuilder","l":"getHealthOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getHealthPing()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getHealthPing()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getHealthPing()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getHealthPingBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getHealthPingOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getHealthPingOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getHealthPingOrBuilder()"},{"p":"io.dapr.client.domain","c":"AppConnectionPropertiesHealthMetadata","l":"getHealthProbeInterval()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"getHealthProbeInterval()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getHealthProbeInterval()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthPropertiesOrBuilder","l":"getHealthProbeInterval()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"getHealthProbeIntervalBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getHealthProbeIntervalBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthPropertiesOrBuilder","l":"getHealthProbeIntervalBytes()"},{"p":"io.dapr.client.domain","c":"AppConnectionPropertiesHealthMetadata","l":"getHealthProbeTimeout()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"getHealthProbeTimeout()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getHealthProbeTimeout()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthPropertiesOrBuilder","l":"getHealthProbeTimeout()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"getHealthProbeTimeoutBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getHealthProbeTimeoutBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthPropertiesOrBuilder","l":"getHealthProbeTimeoutBytes()"},{"p":"io.dapr.client.domain","c":"AppConnectionPropertiesHealthMetadata","l":"getHealthThreshold()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"getHealthThreshold()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getHealthThreshold()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthPropertiesOrBuilder","l":"getHealthThreshold()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getHelloMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getHistoryState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getHistoryState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getHistoryState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getHistoryStateBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getHistoryStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getHistoryStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getHistoryStateOrBuilder()"},{"p":"io.dapr.utils","c":"NetworkUtils","l":"getHostLoopbackAddress()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getHostReady()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getHostReady()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntimeOrBuilder","l":"getHostReady()"},{"p":"io.dapr.spring.boot.properties.client","c":"ClientPropertiesDaprConnectionDetails","l":"getHttpEndpoint()"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"getHttpEndpoint()"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprConnectionDetails","l":"getHttpEndpoint()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getHttpEndpoint()"},{"p":"io.dapr.client.domain","c":"DaprMetadata","l":"getHttpEndpoints()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getHttpEndpoints()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getHttpEndpoints(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getHttpEndpoints(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getHttpEndpoints(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getHttpEndpointsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getHttpEndpointsBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getHttpEndpointsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getHttpEndpointsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getHttpEndpointsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getHttpEndpointsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getHttpEndpointsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getHttpEndpointsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getHttpEndpointsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getHttpEndpointsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getHttpEndpointsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getHttpEndpointsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getHttpEndpointsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getHttpEndpointsOrBuilderList()"},{"p":"io.dapr.client.domain","c":"InvokeMethodRequest","l":"getHttpExtension()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getHttpExtension()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getHttpExtension()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequestOrBuilder","l":"getHttpExtension()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getHttpExtension()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getHttpExtension()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"getHttpExtension()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getHttpExtensionBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getHttpExtensionBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getHttpExtensionOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getHttpExtensionOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequestOrBuilder","l":"getHttpExtensionOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getHttpExtensionOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getHttpExtensionOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"getHttpExtensionOrBuilder()"},{"p":"io.dapr.spring.boot.properties.client","c":"ClientPropertiesDaprConnectionDetails","l":"getHttpPort()"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"getHttpPort()"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprConnectionDetails","l":"getHttpPort()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getHttpPort()"},{"p":"io.dapr.exceptions","c":"DaprException","l":"getHttpStatusCode()"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"getId()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getId()"},{"p":"io.dapr.client.domain","c":"ConversationToolCalls","l":"getId()"},{"p":"io.dapr.client.domain","c":"DaprMetadata","l":"getId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"getId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"getId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationActionOrBuilder","l":"getId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getId()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOrBuilder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getId()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponseOrBuilder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"getId()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequestOrBuilder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"getId()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequestOrBuilder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getId()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"getId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1OrBuilder","l":"getId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOrBuilder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponseOrBuilder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequestOrBuilder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequestOrBuilder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"getIdBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1OrBuilder","l":"getIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getIncludeState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getIncludeState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getIncludeState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"getIncludeState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"getIncludeState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequestOrBuilder","l":"getIncludeState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getIncludeTransient()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getIncludeTransient()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getIncludeTransient()"},{"p":"io.dapr.client.domain","c":"ConversationResultChoices","l":"getIndex()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"getIndex()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"getIndex()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoicesOrBuilder","l":"getIndex()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"getInitialRequest()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"getInitialRequest()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1OrBuilder","l":"getInitialRequest()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"getInitialRequestBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"getInitialRequestOrBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"getInitialRequestOrBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1OrBuilder","l":"getInitialRequestOrBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"getInitialResponse()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"getInitialResponse()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1OrBuilder","l":"getInitialResponse()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"getInitialResponseBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"getInitialResponseOrBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"getInitialResponseOrBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1OrBuilder","l":"getInitialResponseOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getInnerFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getInnerFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetailsOrBuilder","l":"getInnerFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getInnerFailureBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getInnerFailureOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getInnerFailureOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetailsOrBuilder","l":"getInnerFailureOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEventOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEventOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEventOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEventOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEventOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEventOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequestOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequestOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalActionOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getInput()"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"getInput()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getInput()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getInput()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getInput()"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"getInput()"},{"p":"io.dapr.durabletask","c":"TaskActivityContext","l":"getInput(Class)","u":"getInput(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"getInput(Class)","u":"getInput(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"getInput(Class)","u":"getInput(java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowActivityContext","l":"getInput(Class)","u":"getInput(java.lang.Class)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"getInput(Class)","u":"getInput(java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"getInput(Class)","u":"getInput(java.lang.Class)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getInputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEventOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEventOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEventOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEventOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEventOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEventOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequestOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequestOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalActionOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getInputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getInputOrBuilder()"},{"p":"io.dapr.client.domain","c":"ConversationRequest","l":"getInputs()"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"getInputs()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getInputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getInputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getInputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getInputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getInputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getInputs(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"GETINPUTSANDOUTPUTS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getInputsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getInputsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getInputsBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getInputsBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getInputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getInputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getInputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getInputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getInputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getInputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getInputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getInputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getInputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getInputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getInputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getInputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getInputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getInputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getInputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getInputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getInputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getInputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getInputsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getInputsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getInputsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getInputsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getInputsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getInputsOrBuilderList()"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"getInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"getInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"getInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventActionOrBuilder","l":"getInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"getInstance(OrchestratorService.GetInstanceRequest)","u":"getInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"getInstance(OrchestratorService.GetInstanceRequest)","u":"getInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"getInstance(OrchestratorService.GetInstanceRequest)","u":"getInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"getInstance(OrchestratorService.GetInstanceRequest, StreamObserver)","u":"getInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"getInstance(OrchestratorService.GetInstanceRequest, StreamObserver)","u":"getInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"getInstance(Properties)","u":"getInstance(io.dapr.config.Properties)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"getInstanceBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"getInstanceHistory(OrchestratorService.GetInstanceHistoryRequest)","u":"getInstanceHistory(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceHistoryRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"getInstanceHistory(OrchestratorService.GetInstanceHistoryRequest)","u":"getInstanceHistory(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceHistoryRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"getInstanceHistory(OrchestratorService.GetInstanceHistoryRequest)","u":"getInstanceHistory(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceHistoryRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"getInstanceHistory(OrchestratorService.GetInstanceHistoryRequest, StreamObserver)","u":"getInstanceHistory(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceHistoryRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"getInstanceHistory(OrchestratorService.GetInstanceHistoryRequest, StreamObserver)","u":"getInstanceHistory(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceHistoryRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponseOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponseOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEventOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstanceOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalActionOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationActionOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"getInstanceId()"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"getInstanceId()"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponseOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"getInstanceId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequestOrBuilder","l":"getInstanceId()"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"getInstanceId()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getInstanceId()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"getInstanceId()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getInstanceId()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"getInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"getInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"getInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfoOrBuilder","l":"getInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponseOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponseOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEventOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstanceOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalActionOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationActionOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponseOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"getInstanceIdBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequestOrBuilder","l":"getInstanceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"getInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"getInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfoOrBuilder","l":"getInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getInstanceIdPrefix()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getInstanceIdPrefix()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getInstanceIdPrefix()"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"getInstanceIdPrefix()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getInstanceIdPrefixBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getInstanceIdPrefixOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getInstanceIdPrefixOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getInstanceIdPrefixOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"getInstanceIds(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"getInstanceIds(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponseOrBuilder","l":"getInstanceIds(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"getInstanceIdsBytes(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"getInstanceIdsBytes(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponseOrBuilder","l":"getInstanceIdsBytes(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"getInstanceIdsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"getInstanceIdsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponseOrBuilder","l":"getInstanceIdsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"getInstanceIdsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"getInstanceIdsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponseOrBuilder","l":"getInstanceIdsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getInstanceIdStartsWith()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getInstanceIdStartsWith()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getInstanceIdStartsWith()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getInstanceIdStartsWithBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getInstanceIdStartsWithOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getInstanceIdStartsWithOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getInstanceIdStartsWithOrBuilder()"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"getInstanceMetadata(String, boolean)","u":"getInstanceMetadata(java.lang.String,boolean)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"getInstanceMetadata(String, boolean)","u":"getInstanceMetadata(java.lang.String,boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"getInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"getInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventActionOrBuilder","l":"getInstanceOrBuilder()"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"getInstanceState(String, boolean)","u":"getInstanceState(java.lang.String,boolean)"},{"p":"io.dapr.durabletask","c":"DataConverter","l":"getInstantFromTimestamp(Timestamp)","u":"getInstantFromTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"getInterval()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"getInterval()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstantOrBuilder","l":"getInterval()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"getIntervalBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"getIntervalOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"getIntervalOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstantOrBuilder","l":"getIntervalOrBuilder()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getInvokeActorMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getInvokeBindingMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getInvokeServiceMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"getIsComplete()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"getIsComplete()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponseOrBuilder","l":"getIsComplete()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"getIsCompleteBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"getIsCompleteOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"getIsCompleteOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponseOrBuilder","l":"getIsCompleteOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getIsNonRetriable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getIsNonRetriable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetailsOrBuilder","l":"getIsNonRetriable()"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"getIsReplaying()"},{"p":"io.dapr.client.domain","c":"UnsubscribeConfigurationResponse","l":"getIsUnsubscribed()"},{"p":"io.dapr.client.domain","c":"SubscribeConfigurationResponse","l":"getItems()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"getItems()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"getItems()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponseOrBuilder","l":"getItems()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"getItems()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getItems()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponseOrBuilder","l":"getItems()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"getItems(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"getItems(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponseOrBuilder","l":"getItems(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"getItemsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"getItemsBuilderList()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"getItemsCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"getItemsCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponseOrBuilder","l":"getItemsCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"getItemsCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getItemsCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponseOrBuilder","l":"getItemsCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"getItemsCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"getItemsCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponseOrBuilder","l":"getItemsCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"getItemsList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"getItemsList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponseOrBuilder","l":"getItemsList()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"getItemsMap()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"getItemsMap()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponseOrBuilder","l":"getItemsMap()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"getItemsMap()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getItemsMap()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponseOrBuilder","l":"getItemsMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"getItemsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"getItemsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponseOrBuilder","l":"getItemsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"getItemsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"getItemsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponseOrBuilder","l":"getItemsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"getItemsOrDefault(String, CommonProtos.ConfigurationItem)","u":"getItemsOrDefault(java.lang.String,io.dapr.v1.CommonProtos.ConfigurationItem)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"getItemsOrDefault(String, CommonProtos.ConfigurationItem)","u":"getItemsOrDefault(java.lang.String,io.dapr.v1.CommonProtos.ConfigurationItem)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponseOrBuilder","l":"getItemsOrDefault(String, CommonProtos.ConfigurationItem)","u":"getItemsOrDefault(java.lang.String,io.dapr.v1.CommonProtos.ConfigurationItem)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"getItemsOrDefault(String, CommonProtos.ConfigurationItem)","u":"getItemsOrDefault(java.lang.String,io.dapr.v1.CommonProtos.ConfigurationItem)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getItemsOrDefault(String, CommonProtos.ConfigurationItem)","u":"getItemsOrDefault(java.lang.String,io.dapr.v1.CommonProtos.ConfigurationItem)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponseOrBuilder","l":"getItemsOrDefault(String, CommonProtos.ConfigurationItem)","u":"getItemsOrDefault(java.lang.String,io.dapr.v1.CommonProtos.ConfigurationItem)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"getItemsOrThrow(String)","u":"getItemsOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"getItemsOrThrow(String)","u":"getItemsOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponseOrBuilder","l":"getItemsOrThrow(String)","u":"getItemsOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"getItemsOrThrow(String)","u":"getItemsOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getItemsOrThrow(String)","u":"getItemsOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponseOrBuilder","l":"getItemsOrThrow(String)","u":"getItemsOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"getJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"getJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponseOrBuilder","l":"getJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"getJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"getJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequestOrBuilder","l":"getJob()"},{"p":"io.dapr.client","c":"DaprClient","l":"getJob(GetJobRequest)","u":"getJob(io.dapr.client.domain.GetJobRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getJob(GetJobRequest)","u":"getJob(io.dapr.client.domain.GetJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getJobAlpha1(DaprJobsProtos.GetJobRequest)","u":"getJobAlpha1(io.dapr.v1.DaprJobsProtos.GetJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getJobAlpha1(DaprJobsProtos.GetJobRequest)","u":"getJobAlpha1(io.dapr.v1.DaprJobsProtos.GetJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getJobAlpha1(DaprJobsProtos.GetJobRequest)","u":"getJobAlpha1(io.dapr.v1.DaprJobsProtos.GetJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getJobAlpha1(DaprJobsProtos.GetJobRequest, StreamObserver)","u":"getJobAlpha1(io.dapr.v1.DaprJobsProtos.GetJobRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getJobAlpha1(DaprJobsProtos.GetJobRequest, StreamObserver)","u":"getJobAlpha1(io.dapr.v1.DaprJobsProtos.GetJobRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"getJobBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"getJobBuilder()"},{"p":"io.dapr.utils","c":"FailurePolicyUtils","l":"getJobFailurePolicy(FailurePolicy)","u":"getJobFailurePolicy(io.dapr.client.domain.FailurePolicy)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"getJobOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"getJobOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponseOrBuilder","l":"getJobOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"getJobOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"getJobOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequestOrBuilder","l":"getJobOrBuilder()"},{"p":"io.dapr.client.domain","c":"GetJobRequest","l":"GetJobRequest(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"GetJobResponse(String, Instant)","u":"%3Cinit%3E(java.lang.String,java.time.Instant)"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"GetJobResponse(String, JobSchedule)","u":"%3Cinit%3E(java.lang.String,io.dapr.client.domain.JobSchedule)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"getJobs(int)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"getJobs(int)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1OrBuilder","l":"getJobs(int)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"getJobsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"getJobsBuilderList()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"getJobsCount()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"getJobsCount()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1OrBuilder","l":"getJobsCount()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"getJobsList()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"getJobsList()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1OrBuilder","l":"getJobsList()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"getJobsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"getJobsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1OrBuilder","l":"getJobsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"getJobsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"getJobsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1OrBuilder","l":"getJobsOrBuilderList()"},{"p":"io.dapr.client.domain","c":"ConfigurationItem","l":"getKey()"},{"p":"io.dapr.client.domain","c":"DeleteStateRequest","l":"getKey()"},{"p":"io.dapr.client.domain","c":"GetSecretRequest","l":"getKey()"},{"p":"io.dapr.client.domain","c":"GetStateRequest","l":"getKey()"},{"p":"io.dapr.client.domain.query.filters","c":"EqFilter","l":"getKey()"},{"p":"io.dapr.client.domain.query.filters","c":"InFilter","l":"getKey()"},{"p":"io.dapr.client.domain.query","c":"Sorting","l":"getKey()"},{"p":"io.dapr.client.domain","c":"QueryStateItem","l":"getKey()"},{"p":"io.dapr.client.domain","c":"State","l":"getKey()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getKey()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getKey()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequestOrBuilder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequestOrBuilder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequestOrBuilder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getKey()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItemOrBuilder","l":"getKey()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequestOrBuilder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequestOrBuilder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequestOrBuilder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getKeyBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItemOrBuilder","l":"getKeyBytes()"},{"p":"io.dapr.client.domain","c":"DecryptRequestAlpha1","l":"getKeyName()"},{"p":"io.dapr.client.domain","c":"EncryptRequestAlpha1","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptionsOrBuilder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequestOrBuilder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequestOrBuilder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequestOrBuilder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequestOrBuilder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequestOrBuilder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequestOrBuilder","l":"getKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptionsOrBuilder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequestOrBuilder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequestOrBuilder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequestOrBuilder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequestOrBuilder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequestOrBuilder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getKeyNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequestOrBuilder","l":"getKeyNameBytes()"},{"p":"io.dapr.client.domain","c":"GetBulkStateRequest","l":"getKeys()"},{"p":"io.dapr.client.domain","c":"GetConfigurationRequest","l":"getKeys()"},{"p":"io.dapr.client.domain","c":"SubscribeConfigurationRequest","l":"getKeys()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getKeys(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getKeys(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"getKeys(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getKeys(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getKeys(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"getKeys(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getKeys(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getKeys(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getKeys(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getKeysBytes(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getKeysBytes(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"getKeysBytes(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getKeysBytes(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getKeysBytes(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"getKeysBytes(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getKeysBytes(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getKeysBytes(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getKeysBytes(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getKeysCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getKeysCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"getKeysCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getKeysCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getKeysCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"getKeysCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getKeysCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getKeysCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getKeysCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getKeysList()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getKeysList()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"getKeysList()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getKeysList()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getKeysList()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"getKeysList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getKeysList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getKeysList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getKeysList()"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"getKeyValueAdapter()"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"getKeyValueAdapter()"},{"p":"io.dapr.client.domain","c":"EncryptRequestAlpha1","l":"getKeyWrapAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getKeyWrapAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getKeyWrapAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder","l":"getKeyWrapAlgorithm()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getKeyWrapAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getKeyWrapAlgorithmBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder","l":"getKeyWrapAlgorithmBytes()"},{"p":"io.dapr.durabletask","c":"RetryContext","l":"getLastAttemptNumber()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryContext","l":"getLastAttemptNumber()"},{"p":"io.dapr.durabletask","c":"RetryContext","l":"getLastFailure()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryContext","l":"getLastFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getLastModifiedFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getLastModifiedFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getLastModifiedFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getLastModifiedFromBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getLastModifiedFromOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getLastModifiedFromOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getLastModifiedFromOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getLastModifiedTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getLastModifiedTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"getLastModifiedTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getLastModifiedTimeBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getLastModifiedTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getLastModifiedTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"getLastModifiedTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getLastModifiedTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getLastModifiedTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getLastModifiedTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getLastModifiedToBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getLastModifiedToOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getLastModifiedToOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getLastModifiedToOrBuilder()"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"getLastUpdatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getLastUpdatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getLastUpdatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getLastUpdatedAt()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getLastUpdatedAt()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getLastUpdatedAt()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getLastUpdatedAt()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getLastUpdatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getLastUpdatedAtBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getLastUpdatedAtOrBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getLastUpdatedAtOrBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getLastUpdatedAtOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getLastUpdatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getLastUpdatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getLastUpdatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getLastUpdatedTimestampBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getLastUpdatedTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getLastUpdatedTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getLastUpdatedTimestampOrBuilder()"},{"p":"io.dapr.client.domain.query","c":"Pagination","l":"getLimit()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getListActorRemindersMethod()"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"getListInputBindingsMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getListInstanceIDsMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getListJobsAlpha1Method()"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"getListTopicSubscriptionsMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getLockedBy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getLockedBy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"getLockedBy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getLockedByBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getLockedByOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getLockedByOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"getLockedByOrBuilder()"},{"p":"io.dapr.client.domain","c":"LockRequest","l":"getLockOwner()"},{"p":"io.dapr.client.domain","c":"UnlockRequest","l":"getLockOwner()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"getLockOwner()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getLockOwner()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequestOrBuilder","l":"getLockOwner()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"getLockOwner()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"getLockOwner()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequestOrBuilder","l":"getLockOwner()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"getLockOwnerBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getLockOwnerBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequestOrBuilder","l":"getLockOwnerBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"getLockOwnerBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"getLockOwnerBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequestOrBuilder","l":"getLockOwnerBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getLockSet(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getLockSet(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEventOrBuilder","l":"getLockSet(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getLockSetBytes(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getLockSetBytes(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEventOrBuilder","l":"getLockSetBytes(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getLockSetCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getLockSetCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEventOrBuilder","l":"getLockSetCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getLockSetList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getLockSetList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEventOrBuilder","l":"getLockSetList()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"getLogger()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"getLogger()"},{"p":"io.dapr.workflows","c":"WorkflowActivityContext","l":"getLogger()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"getLogger()"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"getMappingContext()"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"getMappingContext()"},{"p":"io.dapr.client.domain","c":"RuleMetadata","l":"getMatch()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription.Rule","l":"getMatch()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"getMatch()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"getMatch()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRuleOrBuilder","l":"getMatch()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"getMatch()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"getMatch()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRuleOrBuilder","l":"getMatch()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"getMatchBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"getMatchBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRuleOrBuilder","l":"getMatchBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"getMatchBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"getMatchBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRuleOrBuilder","l":"getMatchBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"getMaxAwaitDurationMs()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"getMaxAwaitDurationMs()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder","l":"getMaxAwaitDurationMs()"},{"p":"io.dapr.client.domain","c":"AppConnectionPropertiesMetadata","l":"getMaxConcurrency()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getMaxConcurrency()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getMaxConcurrency()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionPropertiesOrBuilder","l":"getMaxConcurrency()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"getMaxConcurrentActivityWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getMaxConcurrentActivityWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequestOrBuilder","l":"getMaxConcurrentActivityWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"getMaxConcurrentEntityWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getMaxConcurrentEntityWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequestOrBuilder","l":"getMaxConcurrentEntityWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"getMaxConcurrentOrchestrationWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getMaxConcurrentOrchestrationWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequestOrBuilder","l":"getMaxConcurrentOrchestrationWorkItems()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getMaxInstanceCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getMaxInstanceCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getMaxInstanceCount()"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"getMaxInstanceCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"getMaxMessagesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"getMaxMessagesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder","l":"getMaxMessagesCount()"},{"p":"io.dapr.durabletask","c":"RetryPolicy","l":"getMaxNumberOfAttempts()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"getMaxNumberOfAttempts()"},{"p":"io.dapr.client.domain","c":"ConstantFailurePolicy","l":"getMaxRetries()"},{"p":"io.dapr.client.resiliency","c":"ResiliencyOptions","l":"getMaxRetries()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"getMaxRetries()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"getMaxRetries()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstantOrBuilder","l":"getMaxRetries()"},{"p":"io.dapr.durabletask","c":"RetryPolicy","l":"getMaxRetryInterval()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"getMaxRetryInterval()"},{"p":"io.dapr.client.domain","c":"ConversationResultChoices","l":"getMessage()"},{"p":"io.dapr.client.domain","c":"UnsubscribeConfigurationResponse","l":"getMessage()"},{"p":"io.dapr.exceptions","c":"DaprError","l":"getMessage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"getMessage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"getMessage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoicesOrBuilder","l":"getMessage()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"getMessage()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"getMessage()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponseOrBuilder","l":"getMessage()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"getMessage()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"getMessage()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequestOrBuilder","l":"getMessage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"getMessageBuilder()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"getMessageBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"getMessageBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"getMessageBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponseOrBuilder","l":"getMessageBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"getMessageOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"getMessageOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoicesOrBuilder","l":"getMessageOrBuilder()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"getMessageOrBuilder()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"getMessageOrBuilder()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequestOrBuilder","l":"getMessageOrBuilder()"},{"p":"io.dapr.client.domain","c":"ConversationInputAlpha2","l":"getMessages()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"getMessages(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"getMessages(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2OrBuilder","l":"getMessages(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"getMessagesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"getMessagesBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"getMessagesCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"getMessagesCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2OrBuilder","l":"getMessagesCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"getMessagesList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"getMessagesList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2OrBuilder","l":"getMessagesList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"getMessagesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"getMessagesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2OrBuilder","l":"getMessagesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"getMessagesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"getMessagesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2OrBuilder","l":"getMessagesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getMessageTypesCase()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getMessageTypesCase()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"getMessageTypesCase()"},{"p":"io.dapr.client","c":"DaprClient","l":"getMetadata()"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"BulkPublishEntry","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"BulkPublishRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"BulkSubscribeMessage","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"BulkSubscribeMessageEntry","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"ConfigurationItem","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"DeleteStateRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"ExecuteStateTransactionRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"GetBulkSecretRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"GetBulkStateRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"GetConfigurationRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"GetSecretRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"GetStateRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"InvokeBindingRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"InvokeMethodRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"PublishEventRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"QueryStateRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"QueryStateResponse","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"State","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"SubscribeConfigurationRequest","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"SubscriptionMetadata","l":"getMetadata()"},{"p":"io.dapr.client.domain","c":"TransactionalStateRequest","l":"getMetadata()"},{"p":"io.dapr.testcontainers","c":"Component","l":"getMetadata()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"getMetadata()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getMetadata()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItemOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getMetadata()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponseOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponseOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponseOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequestOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getMetadata()"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getMetadata(DaprMetadataProtos.GetMetadataRequest)","u":"getMetadata(io.dapr.v1.DaprMetadataProtos.GetMetadataRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getMetadata(DaprMetadataProtos.GetMetadataRequest)","u":"getMetadata(io.dapr.v1.DaprMetadataProtos.GetMetadataRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getMetadata(DaprMetadataProtos.GetMetadataRequest)","u":"getMetadata(io.dapr.v1.DaprMetadataProtos.GetMetadataRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getMetadata(DaprMetadataProtos.GetMetadataRequest, StreamObserver)","u":"getMetadata(io.dapr.v1.DaprMetadataProtos.GetMetadataRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getMetadata(DaprMetadataProtos.GetMetadataRequest, StreamObserver)","u":"getMetadata(io.dapr.v1.DaprMetadataProtos.GetMetadataRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItemOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponseOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponseOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponseOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequestOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getMetadataCount()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItemOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponseOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponseOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponseOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequestOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getMetadataMap()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItemOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponseOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponseOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponseOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequestOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getMetadataOrDefault(String, String)","u":"getMetadataOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItemOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponseOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponseOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItemOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponseOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequestOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getMetadataOrThrow(String)","u":"getMetadataOrThrow(java.lang.String)"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"getMethod()"},{"p":"io.dapr.client.domain","c":"InvokeMethodRequest","l":"getMethod()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getMethod()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getMethod()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequestOrBuilder","l":"getMethod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getMethod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getMethod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getMethod()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getMethod()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getMethod()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"getMethod()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"getMethodBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getMethodBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequestOrBuilder","l":"getMethodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getMethodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getMethodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequestOrBuilder","l":"getMethodBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getMethodBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getMethodBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"getMethodBytes()"},{"p":"io.dapr.actors.runtime","c":"ActorMethodContext","l":"getMethodName()"},{"p":"io.dapr.client.domain","c":"ConversationResultAlpha2","l":"getModel()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getModel()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getModel()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2OrBuilder","l":"getModel()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getModelBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getModelBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2OrBuilder","l":"getModelBytes()"},{"p":"io.dapr.spring.data.repository.config","c":"DaprRepositoryConfigurationExtension","l":"getModuleName()"},{"p":"io.dapr.spring6.data.repository.config","c":"DaprRepositoryConfigurationExtension","l":"getModuleName()"},{"p":"io.dapr.spring.data.repository.config","c":"DaprRepositoryConfigurationExtension","l":"getModulePrefix()"},{"p":"io.dapr.spring6.data.repository.config","c":"DaprRepositoryConfigurationExtension","l":"getModulePrefix()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"getMutableData()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"getMutableData()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getMutableExtendedMetadata()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"getMutableItems()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"getMutableItems()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getMutableMetadata()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getMutableOptions()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getMutableParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getMutableParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"getMutableParameters()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getMutableProperties()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"getMutableSecrets()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getMutableTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getMutableTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getMutableTags()"},{"p":"io.dapr.client.domain","c":"AssistantMessage","l":"getName()"},{"p":"io.dapr.client.domain","c":"ComponentMetadata","l":"getName()"},{"p":"io.dapr.client.domain","c":"ConversationMessage","l":"getName()"},{"p":"io.dapr.client.domain","c":"ConversationRequest","l":"getName()"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"getName()"},{"p":"io.dapr.client.domain","c":"ConversationToolCallsOfFunction","l":"getName()"},{"p":"io.dapr.client.domain","c":"ConversationToolsFunction","l":"getName()"},{"p":"io.dapr.client.domain","c":"DeleteJobRequest","l":"getName()"},{"p":"io.dapr.client.domain","c":"DeveloperMessage","l":"getName()"},{"p":"io.dapr.client.domain","c":"GetJobRequest","l":"getName()"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"getName()"},{"p":"io.dapr.client.domain","c":"HttpEndpointMetadata","l":"getName()"},{"p":"io.dapr.client.domain","c":"InvokeBindingRequest","l":"getName()"},{"p":"io.dapr.client.domain.query.filters","c":"Filter","l":"getName()"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"getName()"},{"p":"io.dapr.client.domain","c":"SystemMessage","l":"getName()"},{"p":"io.dapr.client.domain","c":"ToolMessage","l":"getName()"},{"p":"io.dapr.client.domain","c":"UserMessage","l":"getName()"},{"p":"io.dapr.config","c":"Property","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerActionOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEventOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEventOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersionOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequestOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventActionOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalActionOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEventOrBuilder","l":"getName()"},{"p":"io.dapr.durabletask.orchestration","c":"TaskOrchestrationFactory","l":"getName()"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"getName()"},{"p":"io.dapr.durabletask","c":"TaskActivityContext","l":"getName()"},{"p":"io.dapr.durabletask","c":"TaskActivityFactory","l":"getName()"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"getName()"},{"p":"io.dapr.spring.boot.properties.pubsub","c":"DaprPubSubProperties","l":"getName()"},{"p":"io.dapr.spring.boot.properties.statestore","c":"DaprStateStoreProperties","l":"getName()"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingObservationConvention","l":"getName()"},{"p":"io.dapr.testcontainers","c":"Component","l":"getName()"},{"p":"io.dapr.testcontainers","c":"Configuration","l":"getName()"},{"p":"io.dapr.testcontainers","c":"DaprProtocol","l":"getName()"},{"p":"io.dapr.testcontainers","c":"HttpEndpoint","l":"getName()"},{"p":"io.dapr.testcontainers","c":"ListEntry","l":"getName()"},{"p":"io.dapr.testcontainers","c":"MetadataEntry","l":"getName()"},{"p":"io.dapr.testcontainers","c":"Subscription","l":"getName()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Component","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminderOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloperOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystemOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfToolOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUserOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunctionOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunctionOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"getName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponseOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"getName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequestOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"getName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpointOrBuilder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponentsOrBuilder","l":"getName()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getName()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityClassWrapper","l":"getName()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityInstanceWrapper","l":"getName()"},{"p":"io.dapr.workflows","c":"WorkflowActivityContext","l":"getName()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"getName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getNameBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerActionOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEventOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEventOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersionOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventActionOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalActionOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEventOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminderOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloperOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystemOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfToolOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUserOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunctionOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunctionOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponseOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequestOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpointOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getNameBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponentsOrBuilder","l":"getNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getNameOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getNameOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"getNameOrBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"getNamePrefix()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"getNamePrefix()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1OrBuilder","l":"getNamePrefix()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"getNamePrefixBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"getNamePrefixBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1OrBuilder","l":"getNamePrefixBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getNewChildWorkflowInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getNewChildWorkflowInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"getNewChildWorkflowInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getNewChildWorkflowInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getNewChildWorkflowInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"getNewChildWorkflowInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getNewEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getNewEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getNewEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getNewEventsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getNewEventsBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getNewEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getNewEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getNewEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getNewEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getNewEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getNewEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getNewEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getNewEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getNewEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getNewEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getNewEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getNewEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getNewInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getNewInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"getNewInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"getNewInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"getNewInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponseOrBuilder","l":"getNewInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getNewInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getNewInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"getNewInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"getNewInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"getNewInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponseOrBuilder","l":"getNewInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getNewVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getNewVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getNewVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getNewVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getNewVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getNewVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getNewVersionOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequestOrBuilder","l":"getNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequestOrBuilder","l":"getNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequestOrBuilder","l":"getNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getNonce()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequestOrBuilder","l":"getNonce()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"getNumber()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"getNumber()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.OperationActionTypeCase","l":"getNumber()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.ResultTypeCase","l":"getNumber()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"getNumber()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"getNumber()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.RequestCase","l":"getNumber()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.EntityMessageTypeCase","l":"getNumber()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"getNumber()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"getNumber()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.RequestCase","l":"getNumber()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"getNumber()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.PolicyCase","l":"getNumber()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"getNumber()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.MessageTypesCase","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.ToolTypesCase","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.ToolTypesCase","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.SubscribeTopicEventsRequestTypeCase","l":"getNumber()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.SubscribeTopicEventsResponseTypeCase","l":"getNumber()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getNumEventsProcessed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getNumEventsProcessed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getNumEventsProcessed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getNumEventsProcessedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getNumEventsProcessedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getNumEventsProcessedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getNumEventsProcessedOrBuilder()"},{"p":"io.dapr.client","c":"ObjectSerializer","l":"getObjectMapper()"},{"p":"io.dapr.serializer","c":"CustomizableObjectSerializer","l":"getObjectMapper()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfAssistant()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getOfAssistant()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"getOfAssistant()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfAssistantBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfAssistantOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getOfAssistantOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"getOfAssistantOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfDeveloper()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getOfDeveloper()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"getOfDeveloper()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfDeveloperBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfDeveloperOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getOfDeveloperOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"getOfDeveloperOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfSystem()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getOfSystem()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"getOfSystem()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfSystemBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfSystemOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getOfSystemOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"getOfSystemOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfTool()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getOfTool()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"getOfTool()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfToolBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfToolOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getOfToolOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"getOfToolOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfUser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getOfUser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"getOfUser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfUserBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"getOfUserOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getOfUserOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"getOfUserOrBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"getOk()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"getOk()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponseOrBuilder","l":"getOk()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"getOmitDecryptionKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getOmitDecryptionKeyName()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder","l":"getOmitDecryptionKeyName()"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"getOnBindingEventMethod()"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc","l":"getOnBulkTopicEventAlpha1Method()"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"getOnBulkTopicEventMethod()"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"getOnInvokeMethod()"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc","l":"getOnJobEventAlpha1Method()"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"getOnTopicEventMethod()"},{"p":"io.dapr.client.domain","c":"InvokeBindingRequest","l":"getOperation()"},{"p":"io.dapr.client.domain","c":"TransactionalStateOperation","l":"getOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"getOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"getOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"getOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequestOrBuilder","l":"getOperation()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getOperation()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getOperation()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequestOrBuilder","l":"getOperation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"getOperationActionTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"getOperationActionTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationActionOrBuilder","l":"getOperationActionTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getOperationBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getOperationBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getOperationBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getOperationBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getOperationBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"getOperationBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"getOperationBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"getOperationBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequestOrBuilder","l":"getOperationBytes()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"getOperationBytes()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getOperationBytes()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequestOrBuilder","l":"getOperationBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getOperationInfos(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getOperationInfos(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getOperationInfos(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getOperationInfosBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getOperationInfosBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getOperationInfosCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getOperationInfosCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getOperationInfosCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getOperationInfosList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getOperationInfosList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getOperationInfosList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getOperationInfosOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getOperationInfosOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getOperationInfosOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getOperationInfosOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getOperationInfosOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getOperationInfosOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getOperationRequests(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getOperationRequests(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"getOperationRequests(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getOperationRequestsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getOperationRequestsBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getOperationRequestsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getOperationRequestsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"getOperationRequestsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getOperationRequestsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getOperationRequestsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"getOperationRequestsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getOperationRequestsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getOperationRequestsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"getOperationRequestsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"getOperationRequestsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getOperationRequestsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"getOperationRequestsOrBuilderList()"},{"p":"io.dapr.client.domain","c":"ExecuteStateTransactionRequest","l":"getOperations()"},{"p":"io.dapr.client.domain","c":"TransactionalStateRequest","l":"getOperations()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getOperations(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getOperations(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequestOrBuilder","l":"getOperations(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getOperations(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getOperations(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequestOrBuilder","l":"getOperations(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getOperations(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getOperations(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getOperations(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getOperationsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getOperationsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getOperationsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getOperationsBuilderList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getOperationsBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getOperationsBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getOperationsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getOperationsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequestOrBuilder","l":"getOperationsCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getOperationsCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getOperationsCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequestOrBuilder","l":"getOperationsCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getOperationsCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getOperationsCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getOperationsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getOperationsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getOperationsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequestOrBuilder","l":"getOperationsList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getOperationsList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getOperationsList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequestOrBuilder","l":"getOperationsList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getOperationsList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getOperationsList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getOperationsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getOperationsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getOperationsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequestOrBuilder","l":"getOperationsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getOperationsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getOperationsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequestOrBuilder","l":"getOperationsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getOperationsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getOperationsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getOperationsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"getOperationsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getOperationsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequestOrBuilder","l":"getOperationsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"getOperationsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getOperationsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequestOrBuilder","l":"getOperationsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getOperationsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getOperationsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getOperationsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"getOperationStatus(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getOperationStatus(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicyOrBuilder","l":"getOperationStatus(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"getOperationStatusCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getOperationStatusCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicyOrBuilder","l":"getOperationStatusCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"getOperationStatusList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getOperationStatusList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicyOrBuilder","l":"getOperationStatusList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"getOperationStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getOperationStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicyOrBuilder","l":"getOperationStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"getOperationStatusValueList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getOperationStatusValueList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicyOrBuilder","l":"getOperationStatusValueList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getOperationType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getOperationType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"getOperationType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"getOperationType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"getOperationType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperationOrBuilder","l":"getOperationType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getOperationTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getOperationTypeBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"getOperationTypeBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"getOperationTypeBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"getOperationTypeBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperationOrBuilder","l":"getOperationTypeBytes()"},{"p":"io.dapr.client.domain","c":"State","l":"getOptions()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getOptions()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getOptions()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOrBuilder","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOrBuilder","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getOptions()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getOptions()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getOptionsBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"getOptionsBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"getOptionsBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getOptionsBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getOptionsCount()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getOptionsCount()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getOptionsCount()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getOptionsMap()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getOptionsMap()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getOptionsMap()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOrBuilder","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOrBuilder","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getOptionsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getOptionsOrDefault(String, String)","u":"getOptionsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getOptionsOrDefault(String, String)","u":"getOptionsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getOptionsOrDefault(String, String)","u":"getOptionsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getOptionsOrThrow(String)","u":"getOptionsOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getOptionsOrThrow(String)","u":"getOptionsOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getOptionsOrThrow(String)","u":"getOptionsOrThrow(java.lang.String)"},{"p":"io.dapr.durabletask","c":"RetryContext","l":"getOrchestrationContext()"},{"p":"io.dapr.durabletask.orchestration","c":"TaskOrchestrationFactories","l":"getOrchestrationFactory(String)","u":"getOrchestrationFactory(java.lang.String)"},{"p":"io.dapr.durabletask.orchestration","c":"TaskOrchestrationFactories","l":"getOrchestrationFactory(String, String)","u":"getOrchestrationFactory(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getOrchestrationIdReusePolicy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getOrchestrationIdReusePolicy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getOrchestrationIdReusePolicy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getOrchestrationIdReusePolicyBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getOrchestrationIdReusePolicyOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getOrchestrationIdReusePolicyOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getOrchestrationIdReusePolicyOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"getOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getOrchestrationInstanceBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getOrchestrationInstanceBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getOrchestrationInstanceBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getOrchestrationInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getOrchestrationInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getOrchestrationInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getOrchestrationInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getOrchestrationInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getOrchestrationInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getOrchestrationInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getOrchestrationInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"getOrchestrationInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getOrchestrationSpanID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getOrchestrationSpanID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getOrchestrationSpanID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getOrchestrationSpanIDBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getOrchestrationSpanIDOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getOrchestrationSpanIDOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getOrchestrationSpanIDOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"getOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"getOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponseOrBuilder","l":"getOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"getOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"getOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEventOrBuilder","l":"getOrchestrationState()"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQueryResult","l":"getOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getOrchestrationState(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getOrchestrationState(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponseOrBuilder","l":"getOrchestrationState(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"getOrchestrationStateBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"getOrchestrationStateBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getOrchestrationStateBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getOrchestrationStateBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getOrchestrationStateCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getOrchestrationStateCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponseOrBuilder","l":"getOrchestrationStateCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getOrchestrationStateList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getOrchestrationStateList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponseOrBuilder","l":"getOrchestrationStateList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"getOrchestrationStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"getOrchestrationStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponseOrBuilder","l":"getOrchestrationStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"getOrchestrationStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"getOrchestrationStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEventOrBuilder","l":"getOrchestrationStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getOrchestrationStateOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getOrchestrationStateOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponseOrBuilder","l":"getOrchestrationStateOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"getOrchestrationStateOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getOrchestrationStateOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponseOrBuilder","l":"getOrchestrationStateOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"getOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"getOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEventOrBuilder","l":"getOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getOrchestrationStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getOrchestrationStatusValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getOrchestrationStatusValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getOrchestrationStatusValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"getOrchestrationStatusValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"getOrchestrationStatusValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEventOrBuilder","l":"getOrchestrationStatusValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getOrchestrationStatusValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getOrchestrationStatusValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getOrchestrationStatusValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getOrchestratorActionTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getOrchestratorActionTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getOrchestratorActionTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getOrchestratorCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getOrchestratorCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getOrchestratorCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getOrchestratorCompletedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getOrchestratorCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getOrchestratorCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getOrchestratorCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getOrchestratorRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getOrchestratorRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getOrchestratorRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getOrchestratorRequestBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getOrchestratorRequestOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getOrchestratorRequestOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getOrchestratorRequestOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getOrchestratorStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getOrchestratorStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getOrchestratorStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getOrchestratorStartedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getOrchestratorStartedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getOrchestratorStartedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getOrchestratorStartedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getOrchestratorVersionNotAvailable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getOrchestratorVersionNotAvailable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getOrchestratorVersionNotAvailable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getOrchestratorVersionNotAvailableBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getOrchestratorVersionNotAvailableOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getOrchestratorVersionNotAvailableOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getOrchestratorVersionNotAvailableOrBuilder()"},{"p":"io.dapr.client.domain.query","c":"Sorting","l":"getOrder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"getOrphanedLocksReleased()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"getOrphanedLocksReleased()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponseOrBuilder","l":"getOrphanedLocksReleased()"},{"p":"io.dapr.testcontainers","c":"TracingConfigurationSettings","l":"getOtel()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"getOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"getOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEventOrBuilder","l":"getOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"getOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"getOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequestOrBuilder","l":"getOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"getOutputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getOutputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"getOutputBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"getOutputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"getOutputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEventOrBuilder","l":"getOutputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getOutputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getOutputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getOutputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"getOutputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"getOutputOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequestOrBuilder","l":"getOutputOrBuilder()"},{"p":"io.dapr.client.domain","c":"ConversationResponseAlpha2","l":"getOutputs()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getOutputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getOutputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getOutputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getOutputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2OrBuilder","l":"getOutputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseOrBuilder","l":"getOutputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getOutputsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getOutputsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getOutputsBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getOutputsBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getOutputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getOutputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getOutputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getOutputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2OrBuilder","l":"getOutputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseOrBuilder","l":"getOutputsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getOutputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getOutputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getOutputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getOutputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2OrBuilder","l":"getOutputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseOrBuilder","l":"getOutputsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getOutputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getOutputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getOutputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getOutputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2OrBuilder","l":"getOutputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseOrBuilder","l":"getOutputsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"getOutputsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getOutputsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"getOutputsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getOutputsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2OrBuilder","l":"getOutputsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseOrBuilder","l":"getOutputsOrBuilderList()"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"getOverwrite()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getOverwrite()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getOverwrite()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getOverwrite()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"getOverwrite()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"getOverwrite()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequestOrBuilder","l":"getOverwrite()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getOverwriteInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getOverwriteInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"getOverwriteInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"getPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"getPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequestOrBuilder","l":"getPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getPageSizeBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"getPageSizeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getPageSizeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"getPageSizeOrBuilder()"},{"p":"io.dapr.client.domain.query","c":"Query","l":"getPagination()"},{"p":"io.dapr.client.domain","c":"GetBulkStateRequest","l":"getParallelism()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getParallelism()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getParallelism()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getParallelism()"},{"p":"io.dapr.client.domain","c":"ConversationOutput","l":"getParameters()"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"getParameters()"},{"p":"io.dapr.client.domain","c":"ConversationToolsFunction","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultOrBuilder","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunctionOrBuilder","l":"getParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"getParametersBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getParametersCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getParametersCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getParametersCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getParametersCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getParametersCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getParametersCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"getParametersCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getParametersCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultOrBuilder","l":"getParametersCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getParametersMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getParametersMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getParametersMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getParametersMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getParametersMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getParametersMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"getParametersMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getParametersMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultOrBuilder","l":"getParametersMap()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"getParametersOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"getParametersOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunctionOrBuilder","l":"getParametersOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getParametersOrDefault(String, Any)","u":"getParametersOrDefault(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getParametersOrDefault(String, Any)","u":"getParametersOrDefault(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getParametersOrDefault(String, Any)","u":"getParametersOrDefault(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getParametersOrDefault(String, Any)","u":"getParametersOrDefault(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getParametersOrDefault(String, Any)","u":"getParametersOrDefault(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getParametersOrDefault(String, Any)","u":"getParametersOrDefault(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"getParametersOrDefault(String, Any)","u":"getParametersOrDefault(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getParametersOrDefault(String, Any)","u":"getParametersOrDefault(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultOrBuilder","l":"getParametersOrDefault(String, Any)","u":"getParametersOrDefault(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getParametersOrThrow(String)","u":"getParametersOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getParametersOrThrow(String)","u":"getParametersOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getParametersOrThrow(String)","u":"getParametersOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getParametersOrThrow(String)","u":"getParametersOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getParametersOrThrow(String)","u":"getParametersOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getParametersOrThrow(String)","u":"getParametersOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"getParametersOrThrow(String)","u":"getParametersOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getParametersOrThrow(String)","u":"getParametersOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultOrBuilder","l":"getParametersOrThrow(String)","u":"getParametersOrThrow(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getParentExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getParentExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getParentExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getParentExecutionIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getParentExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getParentExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getParentExecutionIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getParentInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getParentInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getParentInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getParentInstanceBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEventOrBuilder","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEventOrBuilder","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getParentInstanceIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getParentInstanceIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"getParentInstanceIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getParentInstanceIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEventOrBuilder","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEventOrBuilder","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getParentInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getParentInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getParentInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getParentInstanceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getParentTraceContextBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getParentTraceContextBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getParentTraceContextBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getParentTraceContextBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getParentTraceContextBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getParentTraceContextOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getParserForType()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getParserForType()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"getParserForType()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"getParserForType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"getParserForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"getParserForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"getParserForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getParserForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"getParserForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"getParserForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"getParserForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getPastEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getPastEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getPastEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getPastEventsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getPastEventsBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getPastEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getPastEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getPastEventsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getPastEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getPastEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getPastEventsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getPastEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getPastEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getPastEventsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getPastEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getPastEventsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getPastEventsOrBuilderList()"},{"p":"io.dapr.durabletask","c":"TaskOrchestratorResult","l":"getPatches()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"getPatches(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"getPatches(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersionOrBuilder","l":"getPatches(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"getPatchesBytes(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"getPatchesBytes(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersionOrBuilder","l":"getPatchesBytes(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"getPatchesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"getPatchesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersionOrBuilder","l":"getPatchesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"getPatchesList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"getPatchesList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersionOrBuilder","l":"getPatchesList()"},{"p":"io.dapr.client.domain","c":"RuleMetadata","l":"getPath()"},{"p":"io.dapr.spring.data.repository.query","c":"DaprPredicate","l":"getPath()"},{"p":"io.dapr.spring6.data.repository.query","c":"DaprPredicate","l":"getPath()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription.Rule","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRuleOrBuilder","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRuleOrBuilder","l":"getPath()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRuleOrBuilder","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRuleOrBuilder","l":"getPathBytes()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getPauseWorkflowAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getPauseWorkflowBeta1Method()"},{"p":"io.dapr.exceptions","c":"DaprException","l":"getPayload()"},{"p":"io.dapr.internal.exceptions","c":"DaprHttpException","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOrBuilder","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponseOrBuilder","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOrBuilder","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponseOrBuilder","l":"getPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"getPayloadBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"getPayloadBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"getPayloadBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"getPayloadBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOrBuilder","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponseOrBuilder","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOrBuilder","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponseOrBuilder","l":"getPayloadOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getPeriodBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getPlacement()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getPlacement()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntimeOrBuilder","l":"getPlacement()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getPlacementBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getPlacementBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntimeOrBuilder","l":"getPlacementBytes()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getPlacementDockerImageName()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getPlacementService()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"getPlaintext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"getPlaintext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponseOrBuilder","l":"getPlaintext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"getPlaintext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getPlaintext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequestOrBuilder","l":"getPlaintext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"getPlaintextKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"getPlaintextKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponseOrBuilder","l":"getPlaintextKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"getPlaintextKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getPlaintextKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequestOrBuilder","l":"getPlaintextKey()"},{"p":"io.dapr.client.domain","c":"EncryptRequestAlpha1","l":"getPlainTextStream()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"getPolicyCase()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"getPolicyCase()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyOrBuilder","l":"getPolicyCase()"},{"p":"io.dapr.client.domain","c":"AppConnectionPropertiesMetadata","l":"getPort()"},{"p":"io.dapr.testcontainers","c":"DaprPlacementContainer","l":"getPort()"},{"p":"io.dapr.testcontainers","c":"DaprSchedulerContainer","l":"getPort()"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"getPort()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getPort()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getPort()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionPropertiesOrBuilder","l":"getPort()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"getPosition()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getPosition()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEventOrBuilder","l":"getPosition()"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"getPromptCacheRetention()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getPromptCacheRetention()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getPromptCacheRetention()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getPromptCacheRetention()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getPromptCacheRetentionBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getPromptCacheRetentionOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getPromptCacheRetentionOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getPromptCacheRetentionOrBuilder()"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsage","l":"getPromptTokenDetails()"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsage","l":"getPromptTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getPromptTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getPromptTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageOrBuilder","l":"getPromptTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getPromptTokensDetails()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getPromptTokensDetails()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageOrBuilder","l":"getPromptTokensDetails()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getPromptTokensDetailsBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getPromptTokensDetailsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getPromptTokensDetailsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageOrBuilder","l":"getPromptTokensDetailsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getProperties()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getProperties()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getProperties()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getPropertiesCount()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getPropertiesCount()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getPropertiesCount()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getPropertiesMap()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getPropertiesMap()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getPropertiesMap()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getPropertiesOrDefault(String, String)","u":"getPropertiesOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getPropertiesOrDefault(String, String)","u":"getPropertiesOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getPropertiesOrDefault(String, String)","u":"getPropertiesOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getPropertiesOrThrow(String)","u":"getPropertiesOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getPropertiesOrThrow(String)","u":"getPropertiesOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getPropertiesOrThrow(String)","u":"getPropertiesOrThrow(java.lang.String)"},{"p":"io.dapr.client.domain","c":"AppConnectionPropertiesMetadata","l":"getProtocol()"},{"p":"io.dapr.testcontainers","c":"OtelTracingConfigurationSettings","l":"getProtocol()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getProtocol()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getProtocol()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionPropertiesOrBuilder","l":"getProtocol()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"getProtocolBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getProtocolBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionPropertiesOrBuilder","l":"getProtocolBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"getPublicKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"getPublicKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponseOrBuilder","l":"getPublicKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"getPublicKeyBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"getPublicKeyBytes()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponseOrBuilder","l":"getPublicKeyBytes()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getPublishEventMethod()"},{"p":"io.dapr.client.domain","c":"SubscriptionMetadata","l":"getPubsubname()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"getPubsubname()"},{"p":"io.dapr.client.domain","c":"BulkPublishRequest","l":"getPubsubName()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getPubsubName()"},{"p":"io.dapr.client.domain","c":"PublishEventRequest","l":"getPubsubName()"},{"p":"io.dapr.testcontainers","c":"Subscription","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"getPubsubName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getPubsubNameBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"getPubsubNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"getPurgeInstanceFilter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getPurgeInstanceFilter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequestOrBuilder","l":"getPurgeInstanceFilter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"getPurgeInstanceFilterBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"getPurgeInstanceFilterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getPurgeInstanceFilterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequestOrBuilder","l":"getPurgeInstanceFilterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getPurgeInstancesMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getPurgeWorkflowAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getPurgeWorkflowBeta1Method()"},{"p":"io.dapr.client.domain","c":"QueryStateRequest","l":"getQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"getQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"getQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequestOrBuilder","l":"getQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"getQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"getQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequestOrBuilder","l":"getQuery()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getQuery()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getQuery()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequestOrBuilder","l":"getQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"getQueryBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"getQueryBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getQueryBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getQueryBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequestOrBuilder","l":"getQueryBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getQueryEntitiesMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getQueryInstancesMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"getQueryOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"getQueryOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequestOrBuilder","l":"getQueryOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"getQueryOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"getQueryOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequestOrBuilder","l":"getQueryOrBuilder()"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"getQueryParams()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getQueryStateAlpha1Method()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"getQuerystring()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"getQuerystring()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtensionOrBuilder","l":"getQuerystring()"},{"p":"io.dapr.client.domain","c":"QueryStateRequest","l":"getQueryString()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"getQuerystringBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"getQuerystringBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtensionOrBuilder","l":"getQuerystringBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getRaiseEventMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getRaiseEventWorkflowAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getRaiseEventWorkflowBeta1Method()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEventOrBuilder","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequestOrBuilder","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequestOrBuilder","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequestOrBuilder","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationActionOrBuilder","l":"getReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"getReasonBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"getReasonBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"getReasonBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"getReasonBuilder()"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsageDetails","l":"getReasoningTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"getReasoningTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"getReasoningTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetailsOrBuilder","l":"getReasoningTokens()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequestOrBuilder","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequestOrBuilder","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequestOrBuilder","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationActionOrBuilder","l":"getReasonOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"getReasonValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"getReasonValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEventOrBuilder","l":"getReasonValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"getRecreateIfExists()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"getRecreateIfExists()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequestOrBuilder","l":"getRecreateIfExists()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"getRecurse()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"getRecurse()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEventOrBuilder","l":"getRecurse()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"getRecurse()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"getRecurse()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationActionOrBuilder","l":"getRecurse()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"getRecursive()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getRecursive()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequestOrBuilder","l":"getRecursive()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"getRecursive()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"getRecursive()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequestOrBuilder","l":"getRecursive()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getRegisterActorReminderMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getRegisterActorTimerMethod()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getRegisteredComponents(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getRegisteredComponents(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getRegisteredComponents(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getRegisteredComponentsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getRegisteredComponentsBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getRegisteredComponentsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getRegisteredComponentsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getRegisteredComponentsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getRegisteredComponentsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getRegisteredComponentsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getRegisteredComponentsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getRegisteredComponentsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getRegisteredComponentsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getRegisteredComponentsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getRegisteredComponentsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getRegisteredComponentsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getRegisteredComponentsOrBuilderList()"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsageDetails","l":"getRejectedPredictionTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"getRejectedPredictionTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"getRejectedPredictionTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetailsOrBuilder","l":"getRejectedPredictionTokens()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"getReleaseOrphanedLocks()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"getReleaseOrphanedLocks()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequestOrBuilder","l":"getReleaseOrphanedLocks()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"getReminder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"getReminder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminderOrBuilder","l":"getReminder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"getReminderBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"getReminderOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"getReminderOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminderOrBuilder","l":"getReminderOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"getReminders(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"getReminders(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponseOrBuilder","l":"getReminders(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"getRemindersBuilder(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"getRemindersBuilderList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"getRemindersCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"getRemindersCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponseOrBuilder","l":"getRemindersCount()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"getRemindersList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"getRemindersList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponseOrBuilder","l":"getRemindersList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"getRemindersOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"getRemindersOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponseOrBuilder","l":"getRemindersOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"getRemindersOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"getRemindersOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponseOrBuilder","l":"getRemindersOrBuilderList()"},{"p":"io.dapr.actors.runtime","c":"ActorRuntimeConfig","l":"getRemindersStoragePartitions()"},{"p":"io.dapr.actors.runtime","c":"ActorTypeConfig","l":"getRemindersStoragePartitions()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"getRemoveEmptyEntities()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"getRemoveEmptyEntities()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequestOrBuilder","l":"getRemoveEmptyEntities()"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"getRepeats()"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"getRepeats()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getRepeats()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getRepeats()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getRepeats()"},{"p":"io.dapr.client.domain.query.filters","c":"AndFilter","l":"getRepresentation()"},{"p":"io.dapr.client.domain.query.filters","c":"EqFilter","l":"getRepresentation()"},{"p":"io.dapr.client.domain.query.filters","c":"Filter","l":"getRepresentation()"},{"p":"io.dapr.client.domain.query.filters","c":"InFilter","l":"getRepresentation()"},{"p":"io.dapr.client.domain.query.filters","c":"OrFilter","l":"getRepresentation()"},{"p":"io.dapr.client.domain","c":"TransactionalStateOperation","l":"getRequest()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"getRequest()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"getRequest()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperationOrBuilder","l":"getRequest()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"getRequestBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"getRequestCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getRequestCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequestOrBuilder","l":"getRequestCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"getRequestCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getRequestCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"getRequestCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEventOrBuilder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEventOrBuilder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfoOrBuilder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequestOrBuilder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"getRequestId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEventOrBuilder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEventOrBuilder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfoOrBuilder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequestOrBuilder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getRequestIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"getRequestIdBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"getRequestOrBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"getRequestOrBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperationOrBuilder","l":"getRequestOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getRequiresHistoryStreaming()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getRequiresHistoryStreaming()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getRequiresHistoryStreaming()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"getRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"getRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEventOrBuilder","l":"getRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getRerunParentInstanceInfoBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getRerunParentInstanceInfoBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"getRerunParentInstanceInfoBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getRerunParentInstanceInfoOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getRerunParentInstanceInfoOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getRerunParentInstanceInfoOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getRerunParentInstanceInfoOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getRerunParentInstanceInfoOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getRerunParentInstanceInfoOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"getRerunParentInstanceInfoOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"getRerunParentInstanceInfoOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEventOrBuilder","l":"getRerunParentInstanceInfoOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getRerunWorkflowFromEventMethod()"},{"p":"io.dapr.client.domain","c":"LockRequest","l":"getResourceId()"},{"p":"io.dapr.client.domain","c":"UnlockRequest","l":"getResourceId()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"getResourceId()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getResourceId()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequestOrBuilder","l":"getResourceId()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"getResourceId()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"getResourceId()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequestOrBuilder","l":"getResourceId()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"getResourceIdBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getResourceIdBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequestOrBuilder","l":"getResourceIdBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"getResourceIdBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"getResourceIdBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequestOrBuilder","l":"getResourceIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"getResponseDestination()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"getResponseDestination()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfoOrBuilder","l":"getResponseDestination()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"getResponseDestinationBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"getResponseDestinationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"getResponseDestinationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfoOrBuilder","l":"getResponseDestinationOrBuilder()"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"getResponseFormat()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getResponseFormat()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getResponseFormat()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getResponseFormat()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getResponseFormatBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getResponseFormatOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getResponseFormatOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getResponseFormatOrBuilder()"},{"p":"io.dapr.client.domain","c":"ConversationOutput","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponseOrBuilder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEventOrBuilder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccessOrBuilder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEventOrBuilder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEventOrBuilder","l":"getResult()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"getResult()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getResult()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultOrBuilder","l":"getResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getResultBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getResultBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"getResultBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"getResultBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"getResultBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"getResultBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"getResultBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getResultBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultOrBuilder","l":"getResultBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponseOrBuilder","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEventOrBuilder","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccessOrBuilder","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEventOrBuilder","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"getResultOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEventOrBuilder","l":"getResultOrBuilder()"},{"p":"io.dapr.client.domain","c":"QueryStateResponse","l":"getResults()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getResults(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getResults(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getResults(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getResults(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getResults(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getResults(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getResultsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getResultsBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getResultsBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getResultsBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getResultsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getResultsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getResultsCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getResultsCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getResultsCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getResultsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getResultsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getResultsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getResultsList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getResultsList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getResultsList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getResultsList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getResultsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getResultsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getResultsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getResultsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getResultsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getResultsOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"getResultsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getResultsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"getResultsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getResultsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getResultsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getResultsOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"getResultTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"getResultTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultOrBuilder","l":"getResultTypeCase()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getResumeInstanceMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getResumeWorkflowAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getResumeWorkflowBeta1Method()"},{"p":"io.dapr.durabletask","c":"TaskOptions","l":"getRetryHandler()"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"getRetryHandler()"},{"p":"io.dapr.durabletask","c":"TaskOptions","l":"getRetryPolicy()"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"getRetryPolicy()"},{"p":"io.dapr.durabletask","c":"RetryPolicy","l":"getRetryTimeout()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"getRetryTimeout()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getRewindInstanceMethod()"},{"p":"io.dapr.client.domain","c":"AssistantMessage","l":"getRole()"},{"p":"io.dapr.client.domain","c":"ConversationInput","l":"getRole()"},{"p":"io.dapr.client.domain","c":"ConversationMessage","l":"getRole()"},{"p":"io.dapr.client.domain","c":"DeveloperMessage","l":"getRole()"},{"p":"io.dapr.client.domain","c":"SystemMessage","l":"getRole()"},{"p":"io.dapr.client.domain","c":"ToolMessage","l":"getRole()"},{"p":"io.dapr.client.domain","c":"UserMessage","l":"getRole()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"getRole()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"getRole()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputOrBuilder","l":"getRole()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"getRoleBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"getRoleBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputOrBuilder","l":"getRoleBytes()"},{"p":"io.dapr.testcontainers","c":"Subscription","l":"getRoute()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"getRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getRouterBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getRouterBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getRouterBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getRouterBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getRouterBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getRouterOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"getRouterOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getRoutes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getRoutes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getRoutes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getRoutesBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getRoutesOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getRoutesOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getRoutesOrBuilder()"},{"p":"io.dapr.client.domain","c":"SubscriptionMetadata","l":"getRules()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"getRules()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getRules()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getRules()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getRules()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getRules(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getRules(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutesOrBuilder","l":"getRules(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"getRules(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"getRules(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRulesOrBuilder","l":"getRules(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getRulesBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getRulesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"getRulesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getRulesBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"getRulesBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getRulesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getRulesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutesOrBuilder","l":"getRulesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"getRulesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"getRulesCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRulesOrBuilder","l":"getRulesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getRulesList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getRulesList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutesOrBuilder","l":"getRulesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"getRulesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"getRulesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRulesOrBuilder","l":"getRulesList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getRulesOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getRulesOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getRulesOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getRulesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getRulesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutesOrBuilder","l":"getRulesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"getRulesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"getRulesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRulesOrBuilder","l":"getRulesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"getRulesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getRulesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutesOrBuilder","l":"getRulesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"getRulesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"getRulesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRulesOrBuilder","l":"getRulesOrBuilderList()"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"getRuntimeStatus()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getRuntimeStatus()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getRuntimeStatus()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntimeOrBuilder","l":"getRuntimeStatus()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getRuntimeStatus()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getRuntimeStatus()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getRuntimeStatus()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getRuntimeStatus()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getRuntimeStatus()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getRuntimeStatus()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getRuntimeStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getRuntimeStatus(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getRuntimeStatus(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getRuntimeStatus(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getRuntimeStatus(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getRuntimeStatus(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilterOrBuilder","l":"getRuntimeStatus(int)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getRuntimeStatusBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getRuntimeStatusBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getRuntimeStatusBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getRuntimeStatusCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getRuntimeStatusCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getRuntimeStatusCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getRuntimeStatusCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getRuntimeStatusCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilterOrBuilder","l":"getRuntimeStatusCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getRuntimeStatusList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getRuntimeStatusList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getRuntimeStatusList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getRuntimeStatusList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getRuntimeStatusList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilterOrBuilder","l":"getRuntimeStatusList()"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"getRuntimeStatusList()"},{"p":"io.dapr.durabletask","c":"PurgeInstanceCriteria","l":"getRuntimeStatusList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"getRuntimeStatusValue()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getRuntimeStatusValue()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntimeOrBuilder","l":"getRuntimeStatusValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getRuntimeStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getRuntimeStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getRuntimeStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getRuntimeStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getRuntimeStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilterOrBuilder","l":"getRuntimeStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getRuntimeStatusValueList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getRuntimeStatusValueList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getRuntimeStatusValueList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"getRuntimeStatusValueList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getRuntimeStatusValueList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilterOrBuilder","l":"getRuntimeStatusValueList()"},{"p":"io.dapr.client.domain","c":"DaprMetadata","l":"getRuntimeVersion()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"getRuntimeVersion()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getRuntimeVersion()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getRuntimeVersion()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getRuntimeVersion()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getRuntimeVersionBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getRuntimeVersionBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getRuntimeVersionBytes()"},{"p":"io.dapr.testcontainers","c":"TracingConfigurationSettings","l":"getSamplingRate()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSaveStateMethod()"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"getSchedule()"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"getSchedule()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getSchedule()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getSchedule()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getSchedule()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getScheduleBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getScheduleBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getScheduleBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getScheduledStartTimestampBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getScheduledStartTimestampBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getScheduledStartTimestampBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getScheduledStartTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getScheduledStartTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getScheduledStartTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getScheduledStartTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getScheduledStartTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getScheduledStartTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getScheduledStartTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getScheduledStartTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getScheduledStartTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalActionOrBuilder","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"getScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getScheduledTimeBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getScheduledTimeBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getScheduledTimeBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getScheduledTimeBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getScheduledTimeBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalActionOrBuilder","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"getScheduledTimeOrBuilder()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getScheduleJobAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getScheduler()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getScheduler()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getScheduler()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getSchedulerBuilder()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getSchedulerDockerImageName()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getSchedulerOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getSchedulerOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getSchedulerOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getScheduleTask()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getScheduleTask()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getScheduleTask()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getScheduleTaskBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getScheduleTaskOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getScheduleTaskOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getScheduleTaskOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"getScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"getScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2OrBuilder","l":"getScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"getScrubPII()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"getScrubPII()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputOrBuilder","l":"getScrubPII()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getScrubPII()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getScrubPII()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getScrubPII()"},{"p":"io.dapr.utils","c":"Version","l":"getSdkVersion()"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getSecret(DaprSecretProtos.GetSecretRequest)","u":"getSecret(io.dapr.v1.DaprSecretProtos.GetSecretRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getSecret(DaprSecretProtos.GetSecretRequest)","u":"getSecret(io.dapr.v1.DaprSecretProtos.GetSecretRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getSecret(DaprSecretProtos.GetSecretRequest)","u":"getSecret(io.dapr.v1.DaprSecretProtos.GetSecretRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getSecret(DaprSecretProtos.GetSecretRequest, StreamObserver)","u":"getSecret(io.dapr.v1.DaprSecretProtos.GetSecretRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getSecret(DaprSecretProtos.GetSecretRequest, StreamObserver)","u":"getSecret(io.dapr.v1.DaprSecretProtos.GetSecretRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClient","l":"getSecret(GetSecretRequest)","u":"getSecret(io.dapr.client.domain.GetSecretRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getSecret(GetSecretRequest)","u":"getSecret(io.dapr.client.domain.GetSecretRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getSecret(String, String)","u":"getSecret(java.lang.String,java.lang.String)"},{"p":"io.dapr.client","c":"DaprClient","l":"getSecret(String, String)","u":"getSecret(java.lang.String,java.lang.String)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getSecret(String, String, Map)","u":"getSecret(java.lang.String,java.lang.String,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClient","l":"getSecret(String, String, Map)","u":"getSecret(java.lang.String,java.lang.String,java.util.Map)"},{"p":"io.dapr.client.domain","c":"GetSecretRequest","l":"GetSecretRequest(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"getSecrets()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"getSecrets()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponseOrBuilder","l":"getSecrets()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"getSecretsCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"getSecretsCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponseOrBuilder","l":"getSecretsCount()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"getSecretsMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"getSecretsMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponseOrBuilder","l":"getSecretsMap()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"getSecretsOrDefault(String, String)","u":"getSecretsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"getSecretsOrDefault(String, String)","u":"getSecretsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponseOrBuilder","l":"getSecretsOrDefault(String, String)","u":"getSecretsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"getSecretsOrThrow(String)","u":"getSecretsOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"getSecretsOrThrow(String)","u":"getSecretsOrThrow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponseOrBuilder","l":"getSecretsOrThrow(String)","u":"getSecretsOrThrow(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"OtelTracingConfigurationSettings","l":"getSecure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getSendEntityMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getSendEntityMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getSendEntityMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getSendEntityMessageBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getSendEntityMessageOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getSendEntityMessageOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getSendEntityMessageOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getSendEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getSendEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getSendEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getSendEventBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getSendEventOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getSendEventOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getSendEventOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"getSendSignal()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"getSendSignal()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationActionOrBuilder","l":"getSendSignal()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"getSendSignalBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"getSendSignalOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"getSendSignalOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationActionOrBuilder","l":"getSendSignalOrBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"getSeq()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"getSeq()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayloadOrBuilder","l":"getSeq()"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"getSerializedInput()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getSerializedInput()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getSerializedInput()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getSerializedInput()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getSerializedInput()"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"getSerializedOutput()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"getSerializedOutput()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getSerializedOutput()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"getSerializedOutput()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getSerializedOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"getSerializedSize()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"getSerializedSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getSerializedState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getSerializedState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"getSerializedState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getSerializedStateBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"getSerializedStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"getSerializedStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"getSerializedStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getServiceDescriptor()"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc","l":"getServiceDescriptor()"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"getServiceDescriptor()"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc","l":"getServiceDescriptor()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getServiceDescriptor()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSetMetadataMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getShutdownMethod()"},{"p":"io.dapr.durabletask.runner","c":"DurableRunner","l":"getSidecarAddress()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getSignalEntityMethod()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"getSignature()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"getSignature()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponseOrBuilder","l":"getSignature()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"getSignature()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"getSignature()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequestOrBuilder","l":"getSignature()"},{"p":"io.dapr.client.domain.query","c":"Query","l":"getSort()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getSource()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getSource()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getSource()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getSource()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getSource()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getSource()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getSource()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"getSourceAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"getSourceAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouterOrBuilder","l":"getSourceAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"getSourceAppIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"getSourceAppIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouterOrBuilder","l":"getSourceAppIDBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getSourceBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getSourceBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getSourceBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getSourceBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getSourceBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getSourceBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getSourceInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getSourceInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"getSourceInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"getSourceInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"getSourceInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"getSourceInstanceIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"getSpanID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"getSpanID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContextOrBuilder","l":"getSpanID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"getSpanIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"getSpanIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContextOrBuilder","l":"getSpanIDBytes()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getSpecversion()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getSpecVersion()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getSpecVersion()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getSpecVersion()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getSpecVersion()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getSpecVersion()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getSpecVersion()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getSpecVersionBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getSpecVersionBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getSpecVersionBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getSpecVersionBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getSpecVersionBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getSpecVersionBytes()"},{"p":"io.dapr.durabletask","c":"FailureDetails","l":"getStackTrace()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getStackTrace()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getStackTrace()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetailsOrBuilder","l":"getStackTrace()"},{"p":"io.dapr.workflows.client","c":"WorkflowFailureDetails","l":"getStackTrace()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"getStackTrace()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getStackTraceBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"getStackTraceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"getStackTraceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetailsOrBuilder","l":"getStackTraceOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getStartInstanceMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"getStartNewOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"getStartNewOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationActionOrBuilder","l":"getStartNewOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"getStartNewOrchestrationBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"getStartNewOrchestrationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"getStartNewOrchestrationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationActionOrBuilder","l":"getStartNewOrchestrationOrBuilder()"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"getStartTime()"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"getStartTime()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getStartWorkflowAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getStartWorkflowBeta1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getState(DaprStateProtos.GetStateRequest)","u":"getState(io.dapr.v1.DaprStateProtos.GetStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getState(DaprStateProtos.GetStateRequest)","u":"getState(io.dapr.v1.DaprStateProtos.GetStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getState(DaprStateProtos.GetStateRequest)","u":"getState(io.dapr.v1.DaprStateProtos.GetStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getState(DaprStateProtos.GetStateRequest, StreamObserver)","u":"getState(io.dapr.v1.DaprStateProtos.GetStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getState(DaprStateProtos.GetStateRequest, StreamObserver)","u":"getState(io.dapr.v1.DaprStateProtos.GetStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClient","l":"getState(GetStateRequest, TypeRef)","u":"getState(io.dapr.client.domain.GetStateRequest,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getState(GetStateRequest, TypeRef)","u":"getState(io.dapr.client.domain.GetStateRequest,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getState(String, State, Class)","u":"getState(java.lang.String,io.dapr.client.domain.State,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClient","l":"getState(String, State, Class)","u":"getState(java.lang.String,io.dapr.client.domain.State,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getState(String, State, TypeRef)","u":"getState(java.lang.String,io.dapr.client.domain.State,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClient","l":"getState(String, State, TypeRef)","u":"getState(java.lang.String,io.dapr.client.domain.State,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getState(String, String, Class)","u":"getState(java.lang.String,java.lang.String,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClient","l":"getState(String, String, Class)","u":"getState(java.lang.String,java.lang.String,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getState(String, String, StateOptions, Class)","u":"getState(java.lang.String,java.lang.String,io.dapr.client.domain.StateOptions,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClient","l":"getState(String, String, StateOptions, Class)","u":"getState(java.lang.String,java.lang.String,io.dapr.client.domain.StateOptions,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getState(String, String, StateOptions, TypeRef)","u":"getState(java.lang.String,java.lang.String,io.dapr.client.domain.StateOptions,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClient","l":"getState(String, String, StateOptions, TypeRef)","u":"getState(java.lang.String,java.lang.String,io.dapr.client.domain.StateOptions,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"getState(String, String, TypeRef)","u":"getState(java.lang.String,java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClient","l":"getState(String, String, TypeRef)","u":"getState(java.lang.String,java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client.domain","c":"DeleteStateRequest","l":"getStateOptions()"},{"p":"io.dapr.client.domain","c":"GetStateRequest","l":"getStateOptions()"},{"p":"io.dapr.client.domain","c":"StateOptions","l":"getStateOptionsAsMap()"},{"p":"io.dapr.client.domain","c":"GetStateRequest","l":"GetStateRequest(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.client.domain","c":"SaveStateRequest","l":"getStates()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getStates(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getStates(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getStates(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getStates(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getStates(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequestOrBuilder","l":"getStates(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getStates(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getStates(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequestOrBuilder","l":"getStates(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getStatesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getStatesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getStatesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getStatesBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getStatesBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getStatesBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getStatesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getStatesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getStatesCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getStatesCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getStatesCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequestOrBuilder","l":"getStatesCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getStatesCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getStatesCount()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequestOrBuilder","l":"getStatesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getStatesList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getStatesList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getStatesList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getStatesList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getStatesList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequestOrBuilder","l":"getStatesList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getStatesList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getStatesList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequestOrBuilder","l":"getStatesList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getStatesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getStatesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getStatesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getStatesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getStatesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequestOrBuilder","l":"getStatesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getStatesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getStatesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequestOrBuilder","l":"getStatesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getStatesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getStatesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getStatesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getStatesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getStatesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequestOrBuilder","l":"getStatesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getStatesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getStatesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequestOrBuilder","l":"getStatesOrBuilderList()"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"getStateStoreComponent()"},{"p":"io.dapr.client.domain","c":"DeleteStateRequest","l":"getStateStoreName()"},{"p":"io.dapr.client.domain","c":"ExecuteStateTransactionRequest","l":"getStateStoreName()"},{"p":"io.dapr.actors.runtime","c":"Remindable","l":"getStateType()"},{"p":"io.dapr.client.domain","c":"BulkSubscribeAppResponseEntry","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponseOrBuilder","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponseOrBuilder","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1OrBuilder","l":"getStatus()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"getStatusBuilder()"},{"p":"io.dapr.client","c":"DaprHttp.Response","l":"getStatusCode()"},{"p":"io.dapr.internal.exceptions","c":"DaprHttpException","l":"getStatusCode()"},{"p":"io.dapr.client.domain","c":"BulkSubscribeAppResponse","l":"getStatuses()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"getStatuses(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"getStatuses(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder","l":"getStatuses(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"getStatusesBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"getStatusesBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"getStatusesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"getStatusesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder","l":"getStatusesCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"getStatusesList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"getStatusesList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder","l":"getStatusesList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"getStatusesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"getStatusesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder","l":"getStatusesOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"getStatusesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"getStatusesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder","l":"getStatusesOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"getStatusOrBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"getStatusOrBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1OrBuilder","l":"getStatusOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"getStatusValue()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"getStatusValue()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder","l":"getStatusValue()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"getStatusValue()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"getStatusValue()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponseOrBuilder","l":"getStatusValue()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"getStatusValue()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"getStatusValue()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponseOrBuilder","l":"getStatusValue()"},{"p":"io.dapr.testcontainers","c":"TracingConfigurationSettings","l":"getStdout()"},{"p":"io.dapr.client.domain","c":"GetBulkSecretRequest","l":"getStoreName()"},{"p":"io.dapr.client.domain","c":"GetBulkStateRequest","l":"getStoreName()"},{"p":"io.dapr.client.domain","c":"GetConfigurationRequest","l":"getStoreName()"},{"p":"io.dapr.client.domain","c":"GetSecretRequest","l":"getStoreName()"},{"p":"io.dapr.client.domain","c":"GetStateRequest","l":"getStoreName()"},{"p":"io.dapr.client.domain","c":"LockRequest","l":"getStoreName()"},{"p":"io.dapr.client.domain","c":"QueryStateRequest","l":"getStoreName()"},{"p":"io.dapr.client.domain","c":"SaveStateRequest","l":"getStoreName()"},{"p":"io.dapr.client.domain","c":"SubscribeConfigurationRequest","l":"getStoreName()"},{"p":"io.dapr.client.domain","c":"UnlockRequest","l":"getStoreName()"},{"p":"io.dapr.client.domain","c":"UnsubscribeConfigurationRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequestOrBuilder","l":"getStoreName()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"getStoreNameBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequestOrBuilder","l":"getStoreNameBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getStreamInstanceHistoryMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getSubOrchestrationInstanceCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getSubOrchestrationInstanceCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getSubOrchestrationInstanceCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getSubOrchestrationInstanceCompletedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getSubOrchestrationInstanceCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getSubOrchestrationInstanceCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getSubOrchestrationInstanceCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getSubOrchestrationInstanceCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getSubOrchestrationInstanceCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getSubOrchestrationInstanceCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getSubOrchestrationInstanceCreatedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getSubOrchestrationInstanceCreatedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getSubOrchestrationInstanceCreatedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getSubOrchestrationInstanceCreatedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getSubOrchestrationInstanceFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getSubOrchestrationInstanceFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getSubOrchestrationInstanceFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getSubOrchestrationInstanceFailedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getSubOrchestrationInstanceFailedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getSubOrchestrationInstanceFailedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getSubOrchestrationInstanceFailedOrBuilder()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSubscribeConfigurationAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSubscribeConfigurationMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSubscribeTopicEventsAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"getSubscribeTopicEventsRequestTypeCase()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"getSubscribeTopicEventsRequestTypeCase()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1OrBuilder","l":"getSubscribeTopicEventsRequestTypeCase()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"getSubscribeTopicEventsResponseTypeCase()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"getSubscribeTopicEventsResponseTypeCase()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1OrBuilder","l":"getSubscribeTopicEventsResponseTypeCase()"},{"p":"io.dapr.client.domain","c":"SubscribeConfigurationResponse","l":"getSubscriptionId()"},{"p":"io.dapr.client.domain","c":"UnsubscribeConfigurationRequest","l":"getSubscriptionId()"},{"p":"io.dapr.client.domain","c":"DaprMetadata","l":"getSubscriptions()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"getSubscriptions()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"getSubscriptions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"getSubscriptions(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"getSubscriptions(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder","l":"getSubscriptions(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getSubscriptions(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getSubscriptions(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getSubscriptions(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"getSubscriptionsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getSubscriptionsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"getSubscriptionsBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getSubscriptionsBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"getSubscriptionsCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"getSubscriptionsCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder","l":"getSubscriptionsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getSubscriptionsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getSubscriptionsCount()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getSubscriptionsCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"getSubscriptionsList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"getSubscriptionsList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder","l":"getSubscriptionsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getSubscriptionsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getSubscriptionsList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getSubscriptionsList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"getSubscriptionsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"getSubscriptionsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder","l":"getSubscriptionsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getSubscriptionsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getSubscriptionsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getSubscriptionsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"getSubscriptionsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"getSubscriptionsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder","l":"getSubscriptionsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getSubscriptionsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getSubscriptionsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getSubscriptionsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSubtleDecryptAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSubtleEncryptAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSubtleGetKeyAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSubtleSignAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSubtleUnwrapKeyAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSubtleVerifyAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getSubtleWrapKeyAlpha1Method()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"getSuccess()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"getSuccess()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultOrBuilder","l":"getSuccess()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"getSuccess()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"getSuccess()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponseOrBuilder","l":"getSuccess()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"getSuccessBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"getSuccessOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"getSuccessOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultOrBuilder","l":"getSuccessOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getSuspendInstanceMethod()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"getTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"getTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequestOrBuilder","l":"getTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"getTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"getTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponseOrBuilder","l":"getTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequestOrBuilder","l":"getTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"getTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"getTag()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponseOrBuilder","l":"getTag()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getTags()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getTagsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getTagsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getTagsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getTagsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getTagsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getTagsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getTagsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getTagsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getTagsCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getTagsMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getTagsMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getTagsMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getTagsMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getTagsMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getTagsMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getTagsMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getTagsMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getTagsMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getTagsOrDefault(String, String)","u":"getTagsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getTagsOrDefault(String, String)","u":"getTagsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getTagsOrDefault(String, String)","u":"getTagsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getTagsOrDefault(String, String)","u":"getTagsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getTagsOrDefault(String, String)","u":"getTagsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getTagsOrDefault(String, String)","u":"getTagsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getTagsOrDefault(String, String)","u":"getTagsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getTagsOrDefault(String, String)","u":"getTagsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getTagsOrDefault(String, String)","u":"getTagsOrDefault(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getTagsOrThrow(String)","u":"getTagsOrThrow(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getTagsOrThrow(String)","u":"getTagsOrThrow(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getTagsOrThrow(String)","u":"getTagsOrThrow(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getTagsOrThrow(String)","u":"getTagsOrThrow(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getTagsOrThrow(String)","u":"getTagsOrThrow(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getTagsOrThrow(String)","u":"getTagsOrThrow(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getTagsOrThrow(String)","u":"getTagsOrThrow(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getTagsOrThrow(String)","u":"getTagsOrThrow(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getTagsOrThrow(String)","u":"getTagsOrThrow(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"getTargetAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"getTargetAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouterOrBuilder","l":"getTargetAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"getTargetAppIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"getTargetAppIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouterOrBuilder","l":"getTargetAppIDBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"getTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"getTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"getTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEventOrBuilder","l":"getTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getTargetInstanceIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getTargetInstanceIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"getTargetInstanceIdBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"getTargetInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"getTargetInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"getTargetInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"getTargetInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"getTargetInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"getTargetInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"getTargetInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"getTargetInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEventOrBuilder","l":"getTargetInstanceIdOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTaskCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTaskCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTaskCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTaskCompletedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTaskCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTaskCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTaskCompletedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEventOrBuilder","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEventOrBuilder","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask","c":"TaskActivityContext","l":"getTaskExecutionId()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"getTaskExecutionId()"},{"p":"io.dapr.workflows","c":"WorkflowActivityContext","l":"getTaskExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEventOrBuilder","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEventOrBuilder","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getTaskExecutionIdBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTaskFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTaskFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTaskFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTaskFailedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTaskFailedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTaskFailedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTaskFailedOrBuilder()"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"getTaskHubNames()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getTaskHubNames(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getTaskHubNames(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getTaskHubNames(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getTaskHubNamesBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getTaskHubNamesBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getTaskHubNamesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getTaskHubNamesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getTaskHubNamesCount()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getTaskHubNamesList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getTaskHubNamesList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getTaskHubNamesList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getTaskHubNamesOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getTaskHubNamesOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getTaskHubNamesOrBuilder(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"getTaskHubNamesOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"getTaskHubNamesOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"getTaskHubNamesOrBuilderList()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getTaskId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getTaskId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getTaskId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"getTaskId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"getTaskId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponseOrBuilder","l":"getTaskId()"},{"p":"io.dapr.durabletask","c":"TaskActivityContext","l":"getTaskId()"},{"p":"io.dapr.durabletask","c":"TaskFailedException","l":"getTaskId()"},{"p":"io.dapr.durabletask","c":"TaskFailedException","l":"getTaskName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTaskScheduled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTaskScheduled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTaskScheduled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTaskScheduledBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEventOrBuilder","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEventOrBuilder","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEventOrBuilder","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEventOrBuilder","l":"getTaskScheduledId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTaskScheduledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTaskScheduledOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTaskScheduledOrBuilder()"},{"p":"io.dapr.client.domain","c":"ConversationRequest","l":"getTemperature()"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"getTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"getTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"getTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"getTemperature()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getTerminateInstanceMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getTerminateOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getTerminateOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getTerminateOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getTerminateOrchestrationBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"getTerminateOrchestrationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"getTerminateOrchestrationOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"getTerminateOrchestrationOrBuilder()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getTerminateWorkflowAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getTerminateWorkflowBeta1Method()"},{"p":"io.dapr.client.domain","c":"ConversationMessageContent","l":"getText()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"getText()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"getText()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContentOrBuilder","l":"getText()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"getTextBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"getTextBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContentOrBuilder","l":"getTextBytes()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getTime()"},{"p":"io.dapr.client.resiliency","c":"ResiliencyOptions","l":"getTimeout()"},{"p":"io.dapr.durabletask","c":"PurgeInstanceCriteria","l":"getTimeout()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTimerCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTimerCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTimerCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTimerCreatedBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTimerCreatedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTimerCreatedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTimerCreatedOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTimerFired()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTimerFired()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTimerFired()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTimerFiredBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTimerFiredOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTimerFiredOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTimerFiredOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"getTimerId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"getTimerId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEventOrBuilder","l":"getTimerId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTimestampBuilder()"},{"p":"io.dapr.durabletask","c":"DataConverter","l":"getTimestampFromInstant(Instant)","u":"getTimestampFromInstant(java.time.Instant)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"getTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"getTimestampOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"getTimestampOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getTo(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getTo(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getTo(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getToBytes(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getToBytes(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getToBytes(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getToCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getToCount()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getToCount()"},{"p":"io.dapr.client.domain.query","c":"Pagination","l":"getToken()"},{"p":"io.dapr.client.domain","c":"QueryStateResponse","l":"getToken()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getToken()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getToken()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getToken()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"getTokenBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"getTokenBytes()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponseOrBuilder","l":"getTokenBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"getToList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"getToList()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponseOrBuilder","l":"getToList()"},{"p":"io.dapr.client.domain","c":"AssistantMessage","l":"getToolCalls()"},{"p":"io.dapr.client.domain","c":"ConversationResultMessage","l":"getToolCalls()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getToolCalls(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getToolCalls(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getToolCalls(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getToolCalls(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getToolCalls(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessageOrBuilder","l":"getToolCalls(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getToolCallsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getToolCallsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getToolCallsBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getToolCallsBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getToolCallsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getToolCallsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getToolCallsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getToolCallsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getToolCallsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessageOrBuilder","l":"getToolCallsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getToolCallsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getToolCallsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getToolCallsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getToolCallsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getToolCallsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessageOrBuilder","l":"getToolCallsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getToolCallsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getToolCallsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getToolCallsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getToolCallsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getToolCallsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessageOrBuilder","l":"getToolCallsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"getToolCallsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"getToolCallsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"getToolCallsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"getToolCallsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"getToolCallsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessageOrBuilder","l":"getToolCallsOrBuilderList()"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"getToolChoice()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getToolChoice()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getToolChoice()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getToolChoice()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getToolChoiceBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getToolChoiceBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getToolChoiceBytes()"},{"p":"io.dapr.client.domain","c":"ToolMessage","l":"getToolId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getToolId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getToolId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfToolOrBuilder","l":"getToolId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"getToolIdBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"getToolIdBytes()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfToolOrBuilder","l":"getToolIdBytes()"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"getTools()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getTools(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getTools(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getTools(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getToolsBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getToolsBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getToolsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getToolsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getToolsCount()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getToolsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getToolsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getToolsList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getToolsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getToolsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getToolsOrBuilder(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"getToolsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"getToolsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"getToolsOrBuilderList()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"getToolTypesCase()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"getToolTypesCase()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOrBuilder","l":"getToolTypesCase()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"getToolTypesCase()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"getToolTypesCase()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsOrBuilder","l":"getToolTypesCase()"},{"p":"io.dapr.client.domain","c":"BulkPublishRequest","l":"getTopic()"},{"p":"io.dapr.client.domain","c":"BulkSubscribeMessage","l":"getTopic()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getTopic()"},{"p":"io.dapr.client.domain","c":"PublishEventRequest","l":"getTopic()"},{"p":"io.dapr.client.domain","c":"SubscriptionMetadata","l":"getTopic()"},{"p":"io.dapr.testcontainers","c":"Subscription","l":"getTopic()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"getTopic()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestOrBuilder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequestOrBuilder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"getTopicBytes()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"getTopicBytes()"},{"p":"io.dapr.durabletask","c":"RetryContext","l":"getTotalRetryTime()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryContext","l":"getTotalRetryTime()"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsage","l":"getTotalTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"getTotalTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"getTotalTokens()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageOrBuilder","l":"getTotalTokens()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getTraceId()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getTraceParent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"getTraceParent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"getTraceParent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContextOrBuilder","l":"getTraceParent()"},{"p":"io.dapr.durabletask","c":"TaskActivityContext","l":"getTraceParent()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowActivityContext","l":"getTraceParent()"},{"p":"io.dapr.workflows","c":"WorkflowActivityContext","l":"getTraceParent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"getTraceParentBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"getTraceParentBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContextOrBuilder","l":"getTraceParentBytes()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getTraceState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"getTraceState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"getTraceState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContextOrBuilder","l":"getTraceState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"getTraceStateBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"getTraceStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"getTraceStateOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContextOrBuilder","l":"getTraceStateOrBuilder()"},{"p":"io.dapr.testcontainers","c":"Configuration","l":"getTracing()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getTryLockAlpha1Method()"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"getTtl()"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"getTtlBytes()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"getTtlBytes()"},{"p":"io.dapr.client.domain","c":"ActorMetadata","l":"getType()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"getType()"},{"p":"io.dapr.client.domain","c":"ComponentMetadata","l":"getType()"},{"p":"io.dapr.testcontainers","c":"Component","l":"getType()"},{"p":"io.dapr.testcontainers","c":"ListEntry","l":"getType()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Actor","l":"getType()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Component","l":"getType()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"getType()"},{"p":"io.dapr.utils","c":"TypeRef","l":"getType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"getType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCountOrBuilder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponentsOrBuilder","l":"getType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCountOrBuilder","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponentsOrBuilder","l":"getTypeBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"getTypeValue()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"getTypeValue()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"getTypeValue()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getUnlockAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getUnregisterActorReminderMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getUnregisterActorRemindersByTypeMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getUnregisterActorTimerMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getUnsubscribeConfigurationAlpha1Method()"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"getUnsubscribeConfigurationMethod()"},{"p":"io.dapr.client.domain","c":"ConversationResultAlpha2","l":"getUsage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getUsage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getUsage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2OrBuilder","l":"getUsage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getUsageBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"getUsageOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"getUsageOrBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2OrBuilder","l":"getUsageOrBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"getValid()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"getValid()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponseOrBuilder","l":"getValid()"},{"p":"io.dapr.client.domain","c":"ConfigurationItem","l":"getValue()"},{"p":"io.dapr.client.domain.query.filters","c":"EqFilter","l":"getValue()"},{"p":"io.dapr.client.domain.query","c":"Sorting.Order","l":"getValue()"},{"p":"io.dapr.client.domain","c":"QueryStateItem","l":"getValue()"},{"p":"io.dapr.client.domain","c":"State","l":"getValue()"},{"p":"io.dapr.client.domain","c":"StateOptions.Concurrency","l":"getValue()"},{"p":"io.dapr.client.domain","c":"StateOptions.Consistency","l":"getValue()"},{"p":"io.dapr.spring.data.repository.query","c":"DaprPredicate","l":"getValue()"},{"p":"io.dapr.spring6.data.repository.query","c":"DaprPredicate","l":"getValue()"},{"p":"io.dapr.testcontainers","c":"MetadataEntry","l":"getValue()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getValue()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getValue()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItemOrBuilder","l":"getValue()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"getValue()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"getValue()"},{"p":"io.dapr.v1","c":"CommonProtos.EtagOrBuilder","l":"getValue()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"getValue()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"getValue()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"getValue()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getValue()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getValue()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"getValue()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"getValue()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"getValue()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequestOrBuilder","l":"getValue()"},{"p":"io.dapr.config","c":"Properties","l":"getValue(Property)","u":"getValue(io.dapr.config.Property)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getValueBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getValueBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getValueBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItemOrBuilder","l":"getValueBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"getValueBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"getValueBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.EtagOrBuilder","l":"getValueBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"getValueBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"getValueBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequestOrBuilder","l":"getValueBytes()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"getValueDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"getValueDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"getValueDescriptor()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"getValueDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"getValueDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"getValueDescriptor()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"getValueDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"getValueDescriptor()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"getValueDescriptor()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"getValueDescriptor()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"getValueDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"getValueDescriptor()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"getValueDescriptor()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"getValueOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"getValueOrBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"getValueOrBuilder()"},{"p":"io.dapr.client.domain.query.filters","c":"InFilter","l":"getValues()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"getVerb()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"getVerb()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtensionOrBuilder","l":"getVerb()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"getVerbValue()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"getVerbValue()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtensionOrBuilder","l":"getVerbValue()"},{"p":"io.dapr.client.domain","c":"ComponentMetadata","l":"getVersion()"},{"p":"io.dapr.client.domain","c":"ConfigurationItem","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEventOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getVersion()"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"getVersion()"},{"p":"io.dapr.durabletask","c":"TaskOrchestratorResult","l":"getVersion()"},{"p":"io.dapr.testcontainers","c":"Component","l":"getVersion()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Component","l":"getVersion()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getVersion()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getVersion()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItemOrBuilder","l":"getVersion()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getVersion()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getVersion()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponentsOrBuilder","l":"getVersion()"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"getVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getVersionBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"getVersionBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"getVersionBytes()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItemOrBuilder","l":"getVersionBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"getVersionBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"getVersionBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponentsOrBuilder","l":"getVersionBytes()"},{"p":"io.dapr.durabletask.orchestration","c":"TaskOrchestrationFactory","l":"getVersionName()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowVersionWrapper","l":"getVersionName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEventOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"getVersionOrBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getWaitForInstanceCompletionMethod()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"getWaitForInstanceStartMethod()"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getWorkflowAlpha1(DaprWorkflowProtos.GetWorkflowRequest)","u":"getWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getWorkflowAlpha1(DaprWorkflowProtos.GetWorkflowRequest)","u":"getWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getWorkflowAlpha1(DaprWorkflowProtos.GetWorkflowRequest)","u":"getWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getWorkflowAlpha1(DaprWorkflowProtos.GetWorkflowRequest, StreamObserver)","u":"getWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getWorkflowAlpha1(DaprWorkflowProtos.GetWorkflowRequest, StreamObserver)","u":"getWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"getWorkflowBeta1(DaprWorkflowProtos.GetWorkflowRequest)","u":"getWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"getWorkflowBeta1(DaprWorkflowProtos.GetWorkflowRequest)","u":"getWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"getWorkflowBeta1(DaprWorkflowProtos.GetWorkflowRequest)","u":"getWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"getWorkflowBeta1(DaprWorkflowProtos.GetWorkflowRequest, StreamObserver)","u":"getWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"getWorkflowBeta1(DaprWorkflowProtos.GetWorkflowRequest, StreamObserver)","u":"getWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequestOrBuilder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequestOrBuilder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequestOrBuilder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequestOrBuilder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequestOrBuilder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequestOrBuilder","l":"getWorkflowComponent()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequestOrBuilder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequestOrBuilder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequestOrBuilder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequestOrBuilder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequestOrBuilder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequestOrBuilder","l":"getWorkflowComponentBytes()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryContext","l":"getWorkflowContext()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"getWorkflowId()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"getWorkflowId()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getWorkflowName()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getWorkflowName()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getWorkflowName()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getWorkflowName()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getWorkflowName()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getWorkflowName()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"getWorkflowNameBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"getWorkflowNameBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"getWorkflowNameBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"getWorkflowNameBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"getWorkflowNameBytes()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder","l":"getWorkflowNameBytes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getWorkflows()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getWorkflows()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getWorkflows()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getWorkflowsBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"getWorkflowsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"getWorkflowsOrBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"getWorkflowsOrBuilder()"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"getWorkflowState(String, boolean)","u":"getWorkflowState(java.lang.String,boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"getWorkItems(OrchestratorService.GetWorkItemsRequest)","u":"getWorkItems(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetWorkItemsRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"getWorkItems(OrchestratorService.GetWorkItemsRequest)","u":"getWorkItems(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetWorkItemsRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"getWorkItems(OrchestratorService.GetWorkItemsRequest, StreamObserver)","u":"getWorkItems(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetWorkItemsRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"getWorkItems(OrchestratorService.GetWorkItemsRequest, StreamObserver)","u":"getWorkItems(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetWorkItemsRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"getWrappedKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"getWrappedKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequestOrBuilder","l":"getWrappedKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"getWrappedKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"getWrappedKey()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponseOrBuilder","l":"getWrappedKey()"},{"p":"io.dapr.testcontainers","c":"TracingConfigurationSettings","l":"getZipkin()"},{"p":"io.dapr.testcontainers","c":"DaprProtocol","l":"GRPC"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_ENABLE_KEEP_ALIVE"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_ENDPOINT"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_KEEP_ALIVE_TIME_SECONDS"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_KEEP_ALIVE_TIMEOUT_SECONDS"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_KEEP_ALIVE_WITHOUT_CALLS"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_MAX_INBOUND_MESSAGE_SIZE_BYTES"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_MAX_INBOUND_METADATA_SIZE_BYTES"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_PORT"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_TLS_CA_PATH"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_TLS_CERT_PATH"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_TLS_INSECURE"},{"p":"io.dapr.config","c":"Properties","l":"GRPC_TLS_KEY_PATH"},{"p":"io.dapr.client","c":"Headers","l":"GRPC_TRACE_BIN"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClientBuilder","l":"grpcChannel(Channel)","u":"grpcChannel(io.grpc.Channel)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorkerBuilder","l":"grpcChannel(Channel)","u":"grpcChannel(io.grpc.Channel)"},{"p":"io.dapr.durabletask","c":"RetryHandler","l":"handle(RetryContext)","u":"handle(io.dapr.durabletask.RetryContext)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryHandler","l":"handle(WorkflowTaskRetryContext)","u":"handle(io.dapr.workflows.WorkflowTaskRetryContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"hasActivityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"hasActivityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"hasActivityRequest()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"hasActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"hasActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequestOrBuilder","l":"hasActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"hasActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"hasActorId()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequestOrBuilder","l":"hasActorId()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"hasActorRuntime()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"hasActorRuntime()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"hasActorRuntime()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"hasAppConnectionProperties()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"hasAppConnectionProperties()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"hasAppConnectionProperties()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"hasAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"hasAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"hasAppID()"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"hasAppID()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"hasBulkSubscribe()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"hasBulkSubscribe()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"hasBulkSubscribe()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"hasBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"hasBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"hasBytes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"hasCloudEvent()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"hasCloudEvent()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder","l":"hasCloudEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"hasCompletedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hasCompletedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"hasCompletedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"hasCompleteOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"hasCompleteOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"hasCompleteOrchestration()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"hasCompletionTokensDetails()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"hasCompletionTokensDetails()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageOrBuilder","l":"hasCompletionTokensDetails()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"hasConstant()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"hasConstant()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyOrBuilder","l":"hasConstant()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"hasContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"hasContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"hasContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"hasContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"hasContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2OrBuilder","l":"hasContextId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"hasContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"hasContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"hasContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"hasContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"hasContextID()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseOrBuilder","l":"hasContextID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequestOrBuilder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponseOrBuilder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequestOrBuilder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponseOrBuilder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponseOrBuilder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponseOrBuilder","l":"hasContinuationToken()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasContinueAsNew()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasContinueAsNew()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasContinueAsNew()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"hasCreatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"hasCreatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"hasCreatedAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"hasCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"hasCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"hasCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"hasCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"hasCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilterOrBuilder","l":"hasCreatedTimeFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"hasCreatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hasCreatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"hasCreatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"hasCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"hasCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"hasCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"hasCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"hasCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilterOrBuilder","l":"hasCreatedTimeTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"hasCreateSubOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"hasCreateSubOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"hasCreateSubOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"hasCreateTimer()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"hasCreateTimer()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"hasCreateTimer()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"hasCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hasCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"hasCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"hasCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"hasCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"hasCustomStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"hasData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"hasData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEventOrBuilder","l":"hasData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"hasData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"hasData()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventActionOrBuilder","l":"hasData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"hasData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"hasData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequestOrBuilder","l":"hasData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"hasData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"hasData()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponseOrBuilder","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"hasData()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"hasDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"hasDeadLetterTopic()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder","l":"hasDeadLetterTopic()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"hasDescription()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"hasDescription()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEventOrBuilder","l":"hasDescription()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"hasDescription()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"hasDescription()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunctionOrBuilder","l":"hasDescription()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"hasDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"hasDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"hasDetails()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"hasDrop()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"hasDrop()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyOrBuilder","l":"hasDrop()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"hasDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"hasDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"hasDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"hasDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"hasDueTime()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"hasDueTime()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"hasDueTime()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"hasDueTime()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"hasDueTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"hasEntity()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"hasEntity()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponseOrBuilder","l":"hasEntity()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasEntityLockGranted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasEntityLockGranted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasEntityLockGranted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"hasEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"hasEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"hasEntityLockRequested()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"hasEntityMessageReorderWindow()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"hasEntityMessageReorderWindow()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParametersOrBuilder","l":"hasEntityMessageReorderWindow()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"hasEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"hasEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"hasEntityOperationCalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasEntityOperationCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasEntityOperationCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasEntityOperationCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasEntityOperationFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasEntityOperationFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasEntityOperationFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"hasEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"hasEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"hasEntityOperationSignaled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"hasEntityParameters()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"hasEntityParameters()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"hasEntityParameters()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"hasEntityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"hasEntityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"hasEntityRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"hasEntityRequestV2()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"hasEntityRequestV2()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"hasEntityRequestV2()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"hasEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"hasEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequestOrBuilder","l":"hasEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"hasEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"hasEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"hasEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"hasEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"hasEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequestOrBuilder","l":"hasEntityState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"hasEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"hasEntityUnlockSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageActionOrBuilder","l":"hasEntityUnlockSent()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"hasEtag()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"hasEtag()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"hasEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"hasEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"hasEtag()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"hasEtag()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"hasEventMessage()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"hasEventMessage()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1OrBuilder","l":"hasEventMessage()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"hasEventProcessed()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"hasEventProcessed()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1OrBuilder","l":"hasEventProcessed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasEventRaised()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasEventRaised()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasEventRaised()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasEventSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasEventSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasEventSent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasExecutionCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasExecutionCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasExecutionCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstanceOrBuilder","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequestOrBuilder","l":"hasExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasExecutionResumed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasExecutionResumed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasExecutionResumed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasExecutionStalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasExecutionStalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasExecutionStalled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasExecutionStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasExecutionStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasExecutionStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasExecutionSuspended()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasExecutionSuspended()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasExecutionSuspended()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasExecutionTerminated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasExecutionTerminated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasExecutionTerminated()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"hasExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"hasExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder","l":"hasExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"hasExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"hasExtensions()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequestOrBuilder","l":"hasExtensions()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"hasFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"hasFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultOrBuilder","l":"hasFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponseOrBuilder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResultOrBuilder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEventOrBuilder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEventOrBuilder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailureOrBuilder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEventOrBuilder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"hasFailureDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEventOrBuilder","l":"hasFailureDetails()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"hasFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"hasFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"hasFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"hasFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"hasFailurePolicy()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"hasFailurePolicy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"hasFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"hasFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerActionOrBuilder","l":"hasFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"hasFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"hasFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEventOrBuilder","l":"hasFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"hasFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"hasFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEventOrBuilder","l":"hasFireAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"hasForce()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"hasForce()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequestOrBuilder","l":"hasForce()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"hasFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"hasFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOrBuilder","l":"hasFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"hasFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"hasFunction()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsOrBuilder","l":"hasFunction()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasGenericEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasGenericEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasGenericEvent()"},{"p":"io.dapr.actors","c":"ActorId","l":"hashCode()"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"hashCode()"},{"p":"io.dapr.client.domain","c":"QueryStateItem","l":"hashCode()"},{"p":"io.dapr.client.domain","c":"State","l":"hashCode()"},{"p":"io.dapr.client.domain","c":"TransactionalStateOperation","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"hashCode()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"hashCode()"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails","l":"hashCode()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"hashCode()"},{"p":"io.dapr.testcontainers","c":"DaprPlacementContainer","l":"hashCode()"},{"p":"io.dapr.testcontainers","c":"DaprSchedulerContainer","l":"hashCode()"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"hashCode()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"hashCode()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"hashCode()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"hashCode()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"hashCode()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"hashCode()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"hashCode()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"hashCode()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"hashCode()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"hashCode()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"hasHealth()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"hasHealth()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionPropertiesOrBuilder","l":"hasHealth()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"hasHealthPing()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"hasHealthPing()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"hasHealthPing()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasHistoryState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasHistoryState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasHistoryState()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"hasHttpExtension()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"hasHttpExtension()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequestOrBuilder","l":"hasHttpExtension()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"hasHttpExtension()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"hasHttpExtension()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequestOrBuilder","l":"hasHttpExtension()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"hasId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"hasId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOrBuilder","l":"hasId()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"hasInitialRequest()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"hasInitialRequest()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1OrBuilder","l":"hasInitialRequest()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"hasInitialResponse()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"hasInitialResponse()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1OrBuilder","l":"hasInitialResponse()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"hasInnerFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"hasInnerFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetailsOrBuilder","l":"hasInnerFailure()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEventOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEventOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEventOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEventOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEventOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEventOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequestOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequestOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalActionOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"hasInput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"hasInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"hasInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventActionOrBuilder","l":"hasInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"hasInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"hasInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequestOrBuilder","l":"hasInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"hasInstanceIdPrefix()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"hasInstanceIdPrefix()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQueryOrBuilder","l":"hasInstanceIdPrefix()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"hasInstanceIdStartsWith()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"hasInstanceIdStartsWith()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"hasInstanceIdStartsWith()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"hasInterval()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"hasInterval()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstantOrBuilder","l":"hasInterval()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"hasIsComplete()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"hasIsComplete()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponseOrBuilder","l":"hasIsComplete()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"hasJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"hasJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponseOrBuilder","l":"hasJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"hasJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"hasJob()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequestOrBuilder","l":"hasJob()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"hasLastModifiedFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"hasLastModifiedFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"hasLastModifiedFrom()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"hasLastModifiedTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"hasLastModifiedTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"hasLastModifiedTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"hasLastModifiedTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"hasLastModifiedTo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"hasLastModifiedTo()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"hasLastUpdatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"hasLastUpdatedAt()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder","l":"hasLastUpdatedAt()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"hasLastUpdatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hasLastUpdatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"hasLastUpdatedTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"hasLockedBy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"hasLockedBy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"hasLockedBy()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"hasMaxRetries()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"hasMaxRetries()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstantOrBuilder","l":"hasMaxRetries()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"hasMessage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"hasMessage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoicesOrBuilder","l":"hasMessage()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"hasMessage()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"hasMessage()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequestOrBuilder","l":"hasMessage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"hasModel()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"hasModel()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2OrBuilder","l":"hasModel()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"hasName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"hasName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerActionOrBuilder","l":"hasName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"hasName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"hasName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersionOrBuilder","l":"hasName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"hasName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"hasName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"hasName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"hasName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"hasName()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEventOrBuilder","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloperOrBuilder","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystemOrBuilder","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUserOrBuilder","l":"hasName()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"hasNamePrefix()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"hasNamePrefix()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1OrBuilder","l":"hasNamePrefix()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"hasNewChildWorkflowInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"hasNewChildWorkflowInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"hasNewChildWorkflowInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"hasNewInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"hasNewInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder","l":"hasNewInstanceID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"hasNewVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"hasNewVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"hasNewVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"hasNumEventsProcessed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"hasNumEventsProcessed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"hasNumEventsProcessed()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"hasOfAssistant()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"hasOfAssistant()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"hasOfAssistant()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"hasOfDeveloper()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"hasOfDeveloper()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"hasOfDeveloper()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"hasOfSystem()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"hasOfSystem()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"hasOfSystem()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"hasOfTool()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"hasOfTool()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"hasOfTool()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"hasOfUser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"hasOfUser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOrBuilder","l":"hasOfUser()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"hasOptions()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"hasOptions()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItemOrBuilder","l":"hasOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"hasOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"hasOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOrBuilder","l":"hasOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"hasOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"hasOptions()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOrBuilder","l":"hasOptions()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"hasOptions()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"hasOptions()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequestOrBuilder","l":"hasOptions()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"hasOrchestrationIdReusePolicy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"hasOrchestrationIdReusePolicy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"hasOrchestrationIdReusePolicy()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"hasOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"hasOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"hasOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"hasOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"hasOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"hasOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"hasOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"hasOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"hasOrchestrationInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"hasOrchestrationSpanID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"hasOrchestrationSpanID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"hasOrchestrationSpanID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"hasOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"hasOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponseOrBuilder","l":"hasOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"hasOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"hasOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEventOrBuilder","l":"hasOrchestrationState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasOrchestratorCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasOrchestratorCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasOrchestratorCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"hasOrchestratorRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"hasOrchestratorRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItemOrBuilder","l":"hasOrchestratorRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasOrchestratorStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasOrchestratorStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasOrchestratorStarted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"hasOrchestratorVersionNotAvailable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"hasOrchestratorVersionNotAvailable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"hasOrchestratorVersionNotAvailable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"hasOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"hasOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEventOrBuilder","l":"hasOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"hasOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hasOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"hasOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"hasOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"hasOutput()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequestOrBuilder","l":"hasOutput()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"hasOverwrite()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"hasOverwrite()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder","l":"hasOverwrite()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"hasPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"hasPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQueryOrBuilder","l":"hasPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"hasPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"hasPageSize()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequestOrBuilder","l":"hasPageSize()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"hasParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"hasParameters()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunctionOrBuilder","l":"hasParameters()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"hasParentExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"hasParentExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"hasParentExecutionId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"hasParentInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"hasParentInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"hasParentInstance()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEventOrBuilder","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEventOrBuilder","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"hasParentInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"hasParentTraceContext()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"hasParentTraceContext()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOrBuilder","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponseOrBuilder","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOrBuilder","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponseOrBuilder","l":"hasPayload()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"hasPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"hasPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"hasPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"hasPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"hasPeriod()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"hasPeriod()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"hasPromptCacheRetention()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"hasPromptCacheRetention()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"hasPromptCacheRetention()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"hasPromptTokensDetails()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"hasPromptTokensDetails()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageOrBuilder","l":"hasPromptTokensDetails()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"hasPurgeInstanceFilter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"hasPurgeInstanceFilter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequestOrBuilder","l":"hasPurgeInstanceFilter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"hasQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"hasQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequestOrBuilder","l":"hasQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"hasQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"hasQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequestOrBuilder","l":"hasQuery()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"hasReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"hasReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequestOrBuilder","l":"hasReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"hasReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"hasReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequestOrBuilder","l":"hasReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"hasReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"hasReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequestOrBuilder","l":"hasReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"hasReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"hasReason()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationActionOrBuilder","l":"hasReason()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"hasReminder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"hasReminder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminderOrBuilder","l":"hasReminder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"hasRepeats()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"hasRepeats()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"hasRepeats()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"hasRequest()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"hasRequest()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperationOrBuilder","l":"hasRequest()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"hasRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"hasRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"hasRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"hasRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"hasRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"hasRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"hasRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"hasRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEventOrBuilder","l":"hasRerunParentInstanceInfo()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"hasResponseDestination()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"hasResponseDestination()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfoOrBuilder","l":"hasResponseDestination()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"hasResponseFormat()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"hasResponseFormat()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"hasResponseFormat()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponseOrBuilder","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationActionOrBuilder","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEventOrBuilder","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccessOrBuilder","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEventOrBuilder","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"hasResult()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEventOrBuilder","l":"hasResult()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"hasRole()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"hasRole()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputOrBuilder","l":"hasRole()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequestOrBuilder","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"hasRouter()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"hasRouter()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"hasRoutes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"hasRoutes()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder","l":"hasRoutes()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"hasRules()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"hasRules()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionOrBuilder","l":"hasRules()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"hasSchedule()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"hasSchedule()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"hasSchedule()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"hasScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"hasScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"hasScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"hasScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"hasScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"hasScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"hasScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hasScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"hasScheduledStartTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalActionOrBuilder","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequestOrBuilder","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"hasScheduledTime()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"hasScheduledTime()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"hasScheduler()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"hasScheduler()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"hasScheduler()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"hasScheduleTask()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"hasScheduleTask()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"hasScheduleTask()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"hasScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"hasScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2OrBuilder","l":"hasScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"hasScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"hasScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"hasScrubPii()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"hasScrubPII()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"hasScrubPII()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputOrBuilder","l":"hasScrubPII()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"hasScrubPII()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"hasScrubPII()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"hasScrubPII()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"hasSendEntityMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"hasSendEntityMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"hasSendEntityMessage()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"hasSendEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"hasSendEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"hasSendEvent()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"hasSendSignal()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"hasSendSignal()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationActionOrBuilder","l":"hasSendSignal()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"hasSerializedState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"hasSerializedState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadataOrBuilder","l":"hasSerializedState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"hasStackTrace()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"hasStackTrace()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetailsOrBuilder","l":"hasStackTrace()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"hasStartNewOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"hasStartNewOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationActionOrBuilder","l":"hasStartNewOrchestration()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"hasStatus()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"hasStatus()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1OrBuilder","l":"hasStatus()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasSubOrchestrationInstanceCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasSubOrchestrationInstanceCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasSubOrchestrationInstanceCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasSubOrchestrationInstanceCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasSubOrchestrationInstanceCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasSubOrchestrationInstanceCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasSubOrchestrationInstanceFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasSubOrchestrationInstanceFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasSubOrchestrationInstanceFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"hasSuccess()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"hasSuccess()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultOrBuilder","l":"hasSuccess()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"hasTargetAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"hasTargetAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouterOrBuilder","l":"hasTargetAppID()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"hasTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"hasTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEventOrBuilder","l":"hasTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"hasTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"hasTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEventOrBuilder","l":"hasTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"hasTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"hasTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEventOrBuilder","l":"hasTargetInstanceId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasTaskCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasTaskCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasTaskCompleted()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasTaskFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasTaskFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasTaskFailed()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasTaskScheduled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasTaskScheduled()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasTaskScheduled()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"hasTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"hasTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"hasTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"hasTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"hasTemperature()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestOrBuilder","l":"hasTemperature()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"hasTerminateOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"hasTerminateOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorActionOrBuilder","l":"hasTerminateOrchestration()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasTimerCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasTimerCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasTimerCreated()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasTimerFired()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasTimerFired()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasTimerFired()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"hasTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"hasTimestamp()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEventOrBuilder","l":"hasTimestamp()"},{"p":"io.dapr.client.domain","c":"ConversationResultMessage","l":"hasToolCalls()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"hasToolChoice()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"hasToolChoice()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2OrBuilder","l":"hasToolChoice()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"hasToolId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"hasToolId()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfToolOrBuilder","l":"hasToolId()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"hasTraceState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"hasTraceState()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContextOrBuilder","l":"hasTraceState()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"hasTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"hasTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminderOrBuilder","l":"hasTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"hasTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"hasTtl()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponseOrBuilder","l":"hasTtl()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"hasTtl()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"hasTtl()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.JobOrBuilder","l":"hasTtl()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"hasUsage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"hasUsage()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2OrBuilder","l":"hasUsage()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"hasValue()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"hasValue()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder","l":"hasValue()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequestOrBuilder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequestOrBuilder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationActionOrBuilder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEventOrBuilder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStateOrBuilder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponseOrBuilder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEventOrBuilder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfoOrBuilder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskActionOrBuilder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationActionOrBuilder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"hasVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEventOrBuilder","l":"hasVersion()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"hasWorkflows()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"hasWorkflows()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponseOrBuilder","l":"hasWorkflows()"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"HEAD"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"HEAD"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"HEAD"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"HEAD_VALUE"},{"p":"io.dapr.client","c":"Headers","l":"Headers()","u":"%3Cinit%3E()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"HEALTH_CHECK_PATH_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"HEALTH_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"HEALTH_PROBE_INTERVAL_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"HEALTH_PROBE_TIMEOUT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"HEALTH_THRESHOLD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub","l":"healthCheck(Empty)","u":"healthCheck(com.google.protobuf.Empty)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingV2Stub","l":"healthCheck(Empty)","u":"healthCheck(com.google.protobuf.Empty)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub","l":"healthCheck(Empty)","u":"healthCheck(com.google.protobuf.Empty)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub","l":"healthCheck(Empty, StreamObserver)","u":"healthCheck(com.google.protobuf.Empty,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc.AsyncService","l":"healthCheck(Empty, StreamObserver)","u":"healthCheck(com.google.protobuf.Empty,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.RequestCase","l":"HEALTHPING"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"HEALTHPING_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"hello(Empty)","u":"hello(com.google.protobuf.Empty)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"hello(Empty)","u":"hello(com.google.protobuf.Empty)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"hello(Empty)","u":"hello(com.google.protobuf.Empty)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"hello(Empty, StreamObserver)","u":"hello(com.google.protobuf.Empty,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"hello(Empty, StreamObserver)","u":"hello(com.google.protobuf.Empty,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"HELP"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"HISTORYSTATE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"HISTORYSTATE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"HOST_READY_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"JobSchedule","l":"hourly()"},{"p":"io.dapr.testcontainers","c":"DaprProtocol","l":"HTTP"},{"p":"io.dapr.config","c":"Properties","l":"HTTP_CLIENT_MAX_IDLE_CONNECTIONS"},{"p":"io.dapr.config","c":"Properties","l":"HTTP_CLIENT_MAX_REQUESTS"},{"p":"io.dapr.config","c":"Properties","l":"HTTP_CLIENT_READ_TIMEOUT_SECONDS"},{"p":"io.dapr.config","c":"Properties","l":"HTTP_ENDPOINT"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"HTTP_ENDPOINTS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"HTTP_EXTENSION_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"HTTP_EXTENSION_FIELD_NUMBER"},{"p":"io.dapr.config","c":"Properties","l":"HTTP_PORT"},{"p":"io.dapr.testcontainers","c":"HttpEndpoint","l":"HttpEndpoint(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.client.domain","c":"HttpEndpointMetadata","l":"HttpEndpointMetadata(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.testcontainers.converter","c":"HttpEndpointYamlConverter","l":"HttpEndpointYamlConverter(Yaml)","u":"%3Cinit%3E(org.yaml.snakeyaml.Yaml)"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"HttpExtension(DaprHttp.HttpMethods)","u":"%3Cinit%3E(io.dapr.client.DaprHttp.HttpMethods)"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"HttpExtension(DaprHttp.HttpMethods, Map>, Map)","u":"%3Cinit%3E(io.dapr.client.DaprHttp.HttpMethods,java.util.Map,java.util.Map)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"ID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"ID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"IGNORE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"IGNORE_VALUE"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"includeFilters()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"includeFilters()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"INCLUDESTATE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"INCLUDESTATE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"INCLUDETRANSIENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"INDEX_FIELD_NUMBER"},{"p":"io.dapr.client.domain.query.filters","c":"InFilter","l":"InFilter()","u":"%3Cinit%3E()"},{"p":"io.dapr.client.domain.query.filters","c":"InFilter","l":"InFilter(String, List)","u":"%3Cinit%3E(java.lang.String,java.util.List)"},{"p":"io.dapr.client.domain.query.filters","c":"InFilter","l":"InFilter(String, T...)","u":"%3Cinit%3E(java.lang.String,T...)"},{"p":"io.dapr.testcontainers","c":"DaprLogLevel","l":"INFO"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.SubscribeTopicEventsRequestTypeCase","l":"INITIAL_REQUEST"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"INITIAL_REQUEST_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.SubscribeTopicEventsResponseTypeCase","l":"INITIAL_RESPONSE"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"INITIAL_RESPONSE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"INITIALIZING"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"INITIALIZING_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"INNERFAILURE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"INPUT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"INPUTS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"INPUTS_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClientBuilder","l":"insecure(boolean)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"insert(Object, T)","u":"insert(java.lang.Object,T)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"insert(Object, T)","u":"insert(java.lang.Object,T)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"insert(T)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"insert(T)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"INSTANCE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"INSTANCE_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"INSTANCE_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"INSTANCE_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"INSTANCE_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"INSTANCE_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"INSTANCE_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"INSTANCE_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"INSTANCE_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"INSTANCE_ID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.RequestCase","l":"INSTANCEID"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"INSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"INSTANCEIDPREFIX_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"INSTANCEIDS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"INSTANCEIDSTARTSWITH_FIELD_NUMBER"},{"p":"io.dapr.utils","c":"TypeRef","l":"INT"},{"p":"io.dapr.utils","c":"TypeRef","l":"INT_ARRAY"},{"p":"io.dapr.internal.grpc","c":"DaprClientGrpcInterceptors","l":"intercept(String, T)","u":"intercept(java.lang.String,T)"},{"p":"io.dapr.internal.grpc","c":"DaprClientGrpcInterceptors","l":"intercept(String, T, ContextView, Consumer)","u":"intercept(java.lang.String,T,reactor.util.context.ContextView,java.util.function.Consumer)"},{"p":"io.dapr.internal.grpc","c":"DaprClientGrpcInterceptors","l":"intercept(T)"},{"p":"io.dapr.internal.grpc","c":"DaprClientGrpcInterceptors","l":"intercept(T, ContextView)","u":"intercept(T,reactor.util.context.ContextView)"},{"p":"io.dapr.internal.grpc","c":"DaprClientGrpcInterceptors","l":"intercept(T, ContextView, Consumer)","u":"intercept(T,reactor.util.context.ContextView,java.util.function.Consumer)"},{"p":"io.dapr.internal.grpc.interceptors","c":"DaprApiTokenInterceptor","l":"interceptCall(MethodDescriptor, CallOptions, Channel)","u":"interceptCall(io.grpc.MethodDescriptor,io.grpc.CallOptions,io.grpc.Channel)"},{"p":"io.dapr.internal.grpc.interceptors","c":"DaprAppIdInterceptor","l":"interceptCall(MethodDescriptor, CallOptions, Channel)","u":"interceptCall(io.grpc.MethodDescriptor,io.grpc.CallOptions,io.grpc.Channel)"},{"p":"io.dapr.internal.grpc.interceptors","c":"DaprMetadataReceiverInterceptor","l":"interceptCall(MethodDescriptor, CallOptions, Channel)","u":"interceptCall(io.grpc.MethodDescriptor,io.grpc.CallOptions,io.grpc.Channel)"},{"p":"io.dapr.internal.grpc.interceptors","c":"DaprTimeoutInterceptor","l":"interceptCall(MethodDescriptor, CallOptions, Channel)","u":"interceptCall(io.grpc.MethodDescriptor,io.grpc.CallOptions,io.grpc.Channel)"},{"p":"io.dapr.internal.grpc.interceptors","c":"DaprTracingInterceptor","l":"interceptCall(MethodDescriptor, CallOptions, Channel)","u":"interceptCall(io.grpc.MethodDescriptor,io.grpc.CallOptions,io.grpc.Channel)"},{"p":"io.dapr.workflows.internal","c":"ApiTokenClientInterceptor","l":"interceptCall(MethodDescriptor, CallOptions, Channel)","u":"interceptCall(io.grpc.MethodDescriptor,io.grpc.CallOptions,io.grpc.Channel)"},{"p":"io.dapr.client.domain","c":"UnlockResponseStatus","l":"INTERNAL_ERROR"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"INTERNAL_ERROR"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"INTERNAL_ERROR_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"internalGetFieldAccessorTable()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"internalGetMapFieldReflection(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"internalGetMutableMapFieldReflection(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"internalGetValueMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"internalGetValueMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"internalGetValueMap()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"internalGetValueMap()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"internalGetValueMap()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"internalGetValueMap()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"internalGetValueMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"internalGetValueMap()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"internalGetValueMap()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"internalGetValueMap()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"internalGetValueMap()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"internalGetValueMap()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"internalGetValueMap()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"INTERVAL_FIELD_NUMBER"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"invoke(String, String, String, byte[])","u":"invoke(java.lang.String,java.lang.String,java.lang.String,byte[])"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"invokeActor(DaprActorsProtos.InvokeActorRequest)","u":"invokeActor(io.dapr.v1.DaprActorsProtos.InvokeActorRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"invokeActor(DaprActorsProtos.InvokeActorRequest)","u":"invokeActor(io.dapr.v1.DaprActorsProtos.InvokeActorRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"invokeActor(DaprActorsProtos.InvokeActorRequest)","u":"invokeActor(io.dapr.v1.DaprActorsProtos.InvokeActorRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"invokeActor(DaprActorsProtos.InvokeActorRequest, StreamObserver)","u":"invokeActor(io.dapr.v1.DaprActorsProtos.InvokeActorRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"invokeActor(DaprActorsProtos.InvokeActorRequest, StreamObserver)","u":"invokeActor(io.dapr.v1.DaprActorsProtos.InvokeActorRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprHttp","l":"invokeApi(String, String[], Map>, byte[], Map, ContextView)","u":"invokeApi(java.lang.String,java.lang.String[],java.util.Map,byte[],java.util.Map,reactor.util.context.ContextView)"},{"p":"io.dapr.client","c":"DaprHttp","l":"invokeApi(String, String[], Map>, Map, ContextView)","u":"invokeApi(java.lang.String,java.lang.String[],java.util.Map,java.util.Map,reactor.util.context.ContextView)"},{"p":"io.dapr.client","c":"DaprHttp","l":"invokeApi(String, String[], Map>, String, Map, ContextView)","u":"invokeApi(java.lang.String,java.lang.String[],java.util.Map,java.lang.String,java.util.Map,reactor.util.context.ContextView)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"invokeBinding(DaprBindingsProtos.InvokeBindingRequest)","u":"invokeBinding(io.dapr.v1.DaprBindingsProtos.InvokeBindingRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"invokeBinding(DaprBindingsProtos.InvokeBindingRequest)","u":"invokeBinding(io.dapr.v1.DaprBindingsProtos.InvokeBindingRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"invokeBinding(DaprBindingsProtos.InvokeBindingRequest)","u":"invokeBinding(io.dapr.v1.DaprBindingsProtos.InvokeBindingRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"invokeBinding(DaprBindingsProtos.InvokeBindingRequest, StreamObserver)","u":"invokeBinding(io.dapr.v1.DaprBindingsProtos.InvokeBindingRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"invokeBinding(DaprBindingsProtos.InvokeBindingRequest, StreamObserver)","u":"invokeBinding(io.dapr.v1.DaprBindingsProtos.InvokeBindingRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeBinding(InvokeBindingRequest)","u":"invokeBinding(io.dapr.client.domain.InvokeBindingRequest)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeBinding(InvokeBindingRequest)","u":"invokeBinding(io.dapr.client.domain.InvokeBindingRequest)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeBinding(InvokeBindingRequest, TypeRef)","u":"invokeBinding(io.dapr.client.domain.InvokeBindingRequest,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeBinding(InvokeBindingRequest, TypeRef)","u":"invokeBinding(io.dapr.client.domain.InvokeBindingRequest,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeBinding(String, String, byte[], Map)","u":"invokeBinding(java.lang.String,java.lang.String,byte[],java.util.Map)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeBinding(String, String, byte[], Map)","u":"invokeBinding(java.lang.String,java.lang.String,byte[],java.util.Map)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeBinding(String, String, Object)","u":"invokeBinding(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeBinding(String, String, Object)","u":"invokeBinding(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeBinding(String, String, Object, Class)","u":"invokeBinding(java.lang.String,java.lang.String,java.lang.Object,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeBinding(String, String, Object, Class)","u":"invokeBinding(java.lang.String,java.lang.String,java.lang.Object,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeBinding(String, String, Object, Map, Class)","u":"invokeBinding(java.lang.String,java.lang.String,java.lang.Object,java.util.Map,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeBinding(String, String, Object, Map, Class)","u":"invokeBinding(java.lang.String,java.lang.String,java.lang.Object,java.util.Map,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeBinding(String, String, Object, Map, TypeRef)","u":"invokeBinding(java.lang.String,java.lang.String,java.lang.Object,java.util.Map,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeBinding(String, String, Object, Map, TypeRef)","u":"invokeBinding(java.lang.String,java.lang.String,java.lang.Object,java.util.Map,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeBinding(String, String, Object, TypeRef)","u":"invokeBinding(java.lang.String,java.lang.String,java.lang.Object,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeBinding(String, String, Object, TypeRef)","u":"invokeBinding(java.lang.String,java.lang.String,java.lang.Object,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client.domain","c":"InvokeBindingRequest","l":"InvokeBindingRequest(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeMethod(InvokeMethodRequest, TypeRef)","u":"invokeMethod(io.dapr.client.domain.InvokeMethodRequest,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeMethod(InvokeMethodRequest, TypeRef)","u":"invokeMethod(io.dapr.client.domain.InvokeMethodRequest,io.dapr.utils.TypeRef)"},{"p":"io.dapr.actors.client","c":"ActorProxy","l":"invokeMethod(String)","u":"invokeMethod(java.lang.String)"},{"p":"io.dapr.actors.client","c":"ActorProxy","l":"invokeMethod(String, Class)","u":"invokeMethod(java.lang.String,java.lang.Class)"},{"p":"io.dapr.actors.client","c":"ActorProxy","l":"invokeMethod(String, Object)","u":"invokeMethod(java.lang.String,java.lang.Object)"},{"p":"io.dapr.actors.client","c":"ActorProxy","l":"invokeMethod(String, Object, Class)","u":"invokeMethod(java.lang.String,java.lang.Object,java.lang.Class)"},{"p":"io.dapr.actors.client","c":"ActorProxy","l":"invokeMethod(String, Object, TypeRef)","u":"invokeMethod(java.lang.String,java.lang.Object,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeMethod(String, String, byte[], HttpExtension, Map)","u":"invokeMethod(java.lang.String,java.lang.String,byte[],io.dapr.client.domain.HttpExtension,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeMethod(String, String, byte[], HttpExtension, Map)","u":"invokeMethod(java.lang.String,java.lang.String,byte[],io.dapr.client.domain.HttpExtension,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeMethod(String, String, HttpExtension, Map)","u":"invokeMethod(java.lang.String,java.lang.String,io.dapr.client.domain.HttpExtension,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeMethod(String, String, HttpExtension, Map)","u":"invokeMethod(java.lang.String,java.lang.String,io.dapr.client.domain.HttpExtension,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeMethod(String, String, HttpExtension, Map, Class)","u":"invokeMethod(java.lang.String,java.lang.String,io.dapr.client.domain.HttpExtension,java.util.Map,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeMethod(String, String, HttpExtension, Map, Class)","u":"invokeMethod(java.lang.String,java.lang.String,io.dapr.client.domain.HttpExtension,java.util.Map,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeMethod(String, String, HttpExtension, Map, TypeRef)","u":"invokeMethod(java.lang.String,java.lang.String,io.dapr.client.domain.HttpExtension,java.util.Map,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeMethod(String, String, HttpExtension, Map, TypeRef)","u":"invokeMethod(java.lang.String,java.lang.String,io.dapr.client.domain.HttpExtension,java.util.Map,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeMethod(String, String, Object, HttpExtension)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeMethod(String, String, Object, HttpExtension)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeMethod(String, String, Object, HttpExtension, Class)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeMethod(String, String, Object, HttpExtension, Class)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeMethod(String, String, Object, HttpExtension, Map)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeMethod(String, String, Object, HttpExtension, Map)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeMethod(String, String, Object, HttpExtension, Map, Class)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension,java.util.Map,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeMethod(String, String, Object, HttpExtension, Map, Class)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension,java.util.Map,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeMethod(String, String, Object, HttpExtension, Map, TypeRef)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension,java.util.Map,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeMethod(String, String, Object, HttpExtension, Map, TypeRef)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension,java.util.Map,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"invokeMethod(String, String, Object, HttpExtension, TypeRef)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClient","l":"invokeMethod(String, String, Object, HttpExtension, TypeRef)","u":"invokeMethod(java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.HttpExtension,io.dapr.utils.TypeRef)"},{"p":"io.dapr.actors.client","c":"ActorProxy","l":"invokeMethod(String, TypeRef)","u":"invokeMethod(java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client.domain","c":"InvokeMethodRequest","l":"InvokeMethodRequest(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"invokeReminder(String, String, String, byte[])","u":"invokeReminder(java.lang.String,java.lang.String,java.lang.String,byte[])"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"invokeService(DaprInvokeProtos.InvokeServiceRequest)","u":"invokeService(io.dapr.v1.DaprInvokeProtos.InvokeServiceRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"invokeService(DaprInvokeProtos.InvokeServiceRequest)","u":"invokeService(io.dapr.v1.DaprInvokeProtos.InvokeServiceRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"invokeService(DaprInvokeProtos.InvokeServiceRequest)","u":"invokeService(io.dapr.v1.DaprInvokeProtos.InvokeServiceRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"invokeService(DaprInvokeProtos.InvokeServiceRequest, StreamObserver)","u":"invokeService(io.dapr.v1.DaprInvokeProtos.InvokeServiceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"invokeService(DaprInvokeProtos.InvokeServiceRequest, StreamObserver)","u":"invokeService(io.dapr.v1.DaprInvokeProtos.InvokeServiceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"invokeTimer(String, String, String, byte[])","u":"invokeTimer(java.lang.String,java.lang.String,java.lang.String,byte[])"},{"p":"io.dapr.utils","c":"DefaultContentTypeConverter","l":"isBinaryContentType(String)","u":"isBinaryContentType(java.lang.String)"},{"p":"io.dapr.durabletask","c":"Task","l":"isCancelled()"},{"p":"io.dapr.durabletask","c":"FailureDetails","l":"isCausedBy(Class)","u":"isCausedBy(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"WorkflowFailureDetails","l":"isCausedBy(Class)","u":"isCausedBy(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"isCausedBy(Class)","u":"isCausedBy(java.lang.Class)"},{"p":"io.dapr.utils","c":"DefaultContentTypeConverter","l":"isCloudEventContentType(String)","u":"isCloudEventContentType(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"ISCOMPLETE_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"isCompleted()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"isCompleted()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"isCompleted()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"isCompleted()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"isCompleted()"},{"p":"io.dapr.testcontainers.wait.strategy","c":"AbstractDaprWaitStrategy","l":"isConditionMet(Metadata)","u":"isConditionMet(io.dapr.testcontainers.wait.strategy.metadata.Metadata)"},{"p":"io.dapr.testcontainers.wait.strategy","c":"ActorWaitStrategy","l":"isConditionMet(Metadata)","u":"isConditionMet(io.dapr.testcontainers.wait.strategy.metadata.Metadata)"},{"p":"io.dapr.testcontainers.wait.strategy","c":"SubscriptionWaitStrategy","l":"isConditionMet(Metadata)","u":"isConditionMet(io.dapr.testcontainers.wait.strategy.metadata.Metadata)"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"isCustomStatusFetched()"},{"p":"io.dapr.durabletask","c":"Task","l":"isDone()"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"isFetchInputsAndOutputs()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"isInitialized()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"isInitialized()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"isInitialized()"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"isInstanceFound()"},{"p":"io.dapr.utils","c":"DefaultContentTypeConverter","l":"isJsonContentType(String)","u":"isJsonContentType(java.lang.String)"},{"p":"io.dapr.spring.workflows.config.annotations","c":"WorkflowMetadata","l":"isLatest()"},{"p":"io.dapr.durabletask.orchestration","c":"TaskOrchestrationFactory","l":"isLatestVersion()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowVersionWrapper","l":"isLatestVersion()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"ISNONRETRIABLE_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"FailureDetails","l":"isNonRetriable()"},{"p":"io.dapr.spring.boot.properties.pubsub","c":"DaprPubSubProperties","l":"isObservationEnabled()"},{"p":"io.dapr.client.domain","c":"EncryptRequestAlpha1","l":"isOmitDecryptionKeyName()"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"isPatched(String)","u":"isPatched(java.lang.String)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"isPatched(String)","u":"isPatched(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"isPatched(String)","u":"isPatched(java.lang.String)"},{"p":"io.dapr.utils","c":"TypeRef","l":"isPrimitive(TypeRef)","u":"isPrimitive(io.dapr.utils.TypeRef)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"isReplaying()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"isReplaying()"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"isRunning()"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"isRunning()"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"isRunning()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"isRunning()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"isRunning()"},{"p":"io.dapr.client.domain","c":"ConversationInput","l":"isScrubPii()"},{"p":"io.dapr.client.domain","c":"ConversationInputAlpha2","l":"isScrubPii()"},{"p":"io.dapr.client.domain","c":"ConversationRequest","l":"isScrubPii()"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"isScrubPii()"},{"p":"io.dapr.utils","c":"DefaultContentTypeConverter","l":"isStringContentType(String)","u":"isStringContentType(java.lang.String)"},{"p":"io.dapr.internal.exceptions","c":"DaprHttpException","l":"isSuccessfulHttpStatusCode(int)"},{"p":"io.dapr.client.domain.query.filters","c":"AndFilter","l":"isValid()"},{"p":"io.dapr.client.domain.query.filters","c":"EqFilter","l":"isValid()"},{"p":"io.dapr.client.domain.query.filters","c":"Filter","l":"isValid()"},{"p":"io.dapr.client.domain.query.filters","c":"InFilter","l":"isValid()"},{"p":"io.dapr.client.domain.query.filters","c":"OrFilter","l":"isValid()"},{"p":"io.dapr.internal.exceptions","c":"DaprHttpException","l":"isValidHttpStatusCode(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"ITEMS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"ITEMS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"ITEMS_FIELD_NUMBER"},{"p":"io.dapr.spring.boot4.autoconfigure.client","c":"Jackson3ObjectSerializer","l":"Jackson3ObjectSerializer(JsonMapper)","u":"%3Cinit%3E(tools.jackson.databind.json.JsonMapper)"},{"p":"io.dapr.durabletask","c":"JacksonDataConverter","l":"JacksonDataConverter()","u":"%3Cinit%3E()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"JOB_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"JOB_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"JOBS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"JSON"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"JSON_REQUEST_MAPPER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"JSON_VALUE"},{"p":"io.dapr.utils","c":"ProtobufUtils","l":"jsonToStruct(String)","u":"jsonToStruct(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"KEY_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"KEY_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"KEY_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"KEY_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"KEY_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"KEY_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"KEY_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"KEY_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"KEY_WRAP_ALGORITHM_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"KEYS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"KEYS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"KEYS_FIELD_NUMBER"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"keyValueTemplateRef()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"keyValueTemplateRef()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"LAST_UPDATED_AT_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"StateOptions.Concurrency","l":"LAST_WRITE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"LASTMODIFIEDFROM_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"LASTMODIFIEDTIME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"LASTMODIFIEDTO_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"LASTUPDATEDTIMESTAMP_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"listActorReminders(DaprActorsProtos.ListActorRemindersRequest)","u":"listActorReminders(io.dapr.v1.DaprActorsProtos.ListActorRemindersRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"listActorReminders(DaprActorsProtos.ListActorRemindersRequest)","u":"listActorReminders(io.dapr.v1.DaprActorsProtos.ListActorRemindersRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"listActorReminders(DaprActorsProtos.ListActorRemindersRequest)","u":"listActorReminders(io.dapr.v1.DaprActorsProtos.ListActorRemindersRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"listActorReminders(DaprActorsProtos.ListActorRemindersRequest, StreamObserver)","u":"listActorReminders(io.dapr.v1.DaprActorsProtos.ListActorRemindersRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"listActorReminders(DaprActorsProtos.ListActorRemindersRequest, StreamObserver)","u":"listActorReminders(io.dapr.v1.DaprActorsProtos.ListActorRemindersRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.testcontainers","c":"ListEntry","l":"ListEntry(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingStub","l":"listInputBindings(Empty)","u":"listInputBindings(com.google.protobuf.Empty)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingV2Stub","l":"listInputBindings(Empty)","u":"listInputBindings(com.google.protobuf.Empty)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackFutureStub","l":"listInputBindings(Empty)","u":"listInputBindings(com.google.protobuf.Empty)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackStub","l":"listInputBindings(Empty, StreamObserver)","u":"listInputBindings(com.google.protobuf.Empty,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AsyncService","l":"listInputBindings(Empty, StreamObserver)","u":"listInputBindings(com.google.protobuf.Empty,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"listInstanceIDs(OrchestratorService.ListInstanceIDsRequest)","u":"listInstanceIDs(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ListInstanceIDsRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"listInstanceIDs(OrchestratorService.ListInstanceIDsRequest)","u":"listInstanceIDs(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ListInstanceIDsRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"listInstanceIDs(OrchestratorService.ListInstanceIDsRequest)","u":"listInstanceIDs(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ListInstanceIDsRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"listInstanceIDs(OrchestratorService.ListInstanceIDsRequest, StreamObserver)","u":"listInstanceIDs(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ListInstanceIDsRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"listInstanceIDs(OrchestratorService.ListInstanceIDsRequest, StreamObserver)","u":"listInstanceIDs(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ListInstanceIDsRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"listJobsAlpha1(DaprJobsProtos.ListJobsRequestAlpha1)","u":"listJobsAlpha1(io.dapr.v1.DaprJobsProtos.ListJobsRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"listJobsAlpha1(DaprJobsProtos.ListJobsRequestAlpha1)","u":"listJobsAlpha1(io.dapr.v1.DaprJobsProtos.ListJobsRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"listJobsAlpha1(DaprJobsProtos.ListJobsRequestAlpha1)","u":"listJobsAlpha1(io.dapr.v1.DaprJobsProtos.ListJobsRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"listJobsAlpha1(DaprJobsProtos.ListJobsRequestAlpha1, StreamObserver)","u":"listJobsAlpha1(io.dapr.v1.DaprJobsProtos.ListJobsRequestAlpha1,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"listJobsAlpha1(DaprJobsProtos.ListJobsRequestAlpha1, StreamObserver)","u":"listJobsAlpha1(io.dapr.v1.DaprJobsProtos.ListJobsRequestAlpha1,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingStub","l":"listTopicSubscriptions(Empty)","u":"listTopicSubscriptions(com.google.protobuf.Empty)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingV2Stub","l":"listTopicSubscriptions(Empty)","u":"listTopicSubscriptions(com.google.protobuf.Empty)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackFutureStub","l":"listTopicSubscriptions(Empty)","u":"listTopicSubscriptions(com.google.protobuf.Empty)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackStub","l":"listTopicSubscriptions(Empty, StreamObserver)","u":"listTopicSubscriptions(com.google.protobuf.Empty,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AsyncService","l":"listTopicSubscriptions(Empty, StreamObserver)","u":"listTopicSubscriptions(com.google.protobuf.Empty,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask","c":"OrchestrationRunner","l":"loadAndRun(byte[], OrchestratorFunction)","u":"loadAndRun(byte[],io.dapr.durabletask.OrchestratorFunction)"},{"p":"io.dapr.durabletask","c":"OrchestrationRunner","l":"loadAndRun(byte[], TaskOrchestration)","u":"loadAndRun(byte[],io.dapr.durabletask.TaskOrchestration)"},{"p":"io.dapr.durabletask","c":"OrchestrationRunner","l":"loadAndRun(String, OrchestratorFunction)","u":"loadAndRun(java.lang.String,io.dapr.durabletask.OrchestratorFunction)"},{"p":"io.dapr.durabletask","c":"OrchestrationRunner","l":"loadAndRun(String, TaskOrchestration)","u":"loadAndRun(java.lang.String,io.dapr.durabletask.TaskOrchestration)"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"LOCALIZED_MESSAGE"},{"p":"io.dapr.client.domain","c":"UnlockResponseStatus","l":"LOCK_BELONG_TO_OTHERS"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"LOCK_BELONGS_TO_OTHERS"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"LOCK_BELONGS_TO_OTHERS_VALUE"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"LOCK_DOES_NOT_EXIST"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"LOCK_DOES_NOT_EXIST_VALUE"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"LOCK_OWNER_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"LOCK_OWNER_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"UnlockResponseStatus","l":"LOCK_UNEXIST"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"LOCKEDBY_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"LockRequest","l":"LockRequest(String, String, String, Integer)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.Integer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"LOCKSET_FIELD_NUMBER"},{"p":"io.dapr.durabletask.runner","c":"DurableRunner","l":"logException(StatusRuntimeException)","u":"logException(io.grpc.StatusRuntimeException)"},{"p":"io.dapr.utils","c":"TypeRef","l":"LONG"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"MATCH_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"MATCH_FIELD_NUMBER"},{"p":"io.dapr","c":"Rule","l":"match()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"MAX_AWAIT_DURATION_MS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"MAX_CONCURRENCY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"MAX_MESSAGES_COUNT_FIELD_NUMBER"},{"p":"io.dapr.config","c":"Properties","l":"MAX_RETRIES"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"MAX_RETRIES_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"MAXCONCURRENTACTIVITYWORKITEMS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"MAXCONCURRENTENTITYWORKITEMS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"MAXCONCURRENTORCHESTRATIONWORKITEMS_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorkerBuilder","l":"maximumTimerInterval(Duration)","u":"maximumTimerInterval(java.time.Duration)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"MAXINSTANCECOUNT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"mergeActivityRequest(OrchestratorService.ActivityRequest)","u":"mergeActivityRequest(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityRequest)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"mergeActorRuntime(DaprMetadataProtos.ActorRuntime)","u":"mergeActorRuntime(io.dapr.v1.DaprMetadataProtos.ActorRuntime)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"mergeAppConnectionProperties(DaprMetadataProtos.AppConnectionProperties)","u":"mergeAppConnectionProperties(io.dapr.v1.DaprMetadataProtos.AppConnectionProperties)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"mergeBulkSubscribe(DaprAppCallbackProtos.BulkSubscribeConfig)","u":"mergeBulkSubscribe(io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfig)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"mergeCloudEvent(DaprAppCallbackProtos.TopicEventCERequest)","u":"mergeCloudEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeCompletedTimestamp(Timestamp)","u":"mergeCompletedTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeCompleteOrchestration(OrchestratorService.CompleteOrchestrationAction)","u":"mergeCompleteOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CompleteOrchestrationAction)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"mergeCompletionTokensDetails(DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails)","u":"mergeCompletionTokensDetails(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"mergeConstant(CommonProtos.JobFailurePolicyConstant)","u":"mergeConstant(io.dapr.v1.CommonProtos.JobFailurePolicyConstant)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"mergeContinuationToken(StringValue)","u":"mergeContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"mergeContinuationToken(StringValue)","u":"mergeContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"mergeContinuationToken(StringValue)","u":"mergeContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"mergeContinuationToken(StringValue)","u":"mergeContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"mergeContinuationToken(StringValue)","u":"mergeContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"mergeContinuationToken(StringValue)","u":"mergeContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeContinueAsNew(OrchestratorService.ContinueAsNewEvent)","u":"mergeContinueAsNew(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ContinueAsNewEvent)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"mergeCreatedAt(Timestamp)","u":"mergeCreatedAt(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"mergeCreatedTimeFrom(Timestamp)","u":"mergeCreatedTimeFrom(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"mergeCreatedTimeFrom(Timestamp)","u":"mergeCreatedTimeFrom(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeCreatedTimestamp(Timestamp)","u":"mergeCreatedTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"mergeCreatedTimeTo(Timestamp)","u":"mergeCreatedTimeTo(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"mergeCreatedTimeTo(Timestamp)","u":"mergeCreatedTimeTo(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeCreateSubOrchestration(OrchestratorService.CreateSubOrchestrationAction)","u":"mergeCreateSubOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateSubOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeCreateTimer(OrchestratorService.CreateTimerAction)","u":"mergeCreateTimer(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTimerAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeCustomStatus(StringValue)","u":"mergeCustomStatus(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"mergeCustomStatus(StringValue)","u":"mergeCustomStatus(com.google.protobuf.StringValue)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"mergeData(Any)","u":"mergeData(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"mergeData(Any)","u":"mergeData(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"mergeData(Any)","u":"mergeData(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"mergeData(Any)","u":"mergeData(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"mergeData(Any)","u":"mergeData(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"mergeData(Any)","u":"mergeData(com.google.protobuf.Any)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"mergeData(StringValue)","u":"mergeData(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"mergeData(StringValue)","u":"mergeData(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"mergeDetails(StringValue)","u":"mergeDetails(com.google.protobuf.StringValue)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"mergeDrop(CommonProtos.JobFailurePolicyDrop)","u":"mergeDrop(io.dapr.v1.CommonProtos.JobFailurePolicyDrop)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"mergeEntity(OrchestratorService.EntityMetadata)","u":"mergeEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityMetadata)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeEntityLockGranted(OrchestratorService.EntityLockGrantedEvent)","u":"mergeEntityLockGranted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockGrantedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeEntityLockRequested(OrchestratorService.EntityLockRequestedEvent)","u":"mergeEntityLockRequested(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockRequestedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"mergeEntityLockRequested(OrchestratorService.EntityLockRequestedEvent)","u":"mergeEntityLockRequested(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockRequestedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"mergeEntityMessageReorderWindow(Duration)","u":"mergeEntityMessageReorderWindow(com.google.protobuf.Duration)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeEntityOperationCalled(OrchestratorService.EntityOperationCalledEvent)","u":"mergeEntityOperationCalled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCalledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"mergeEntityOperationCalled(OrchestratorService.EntityOperationCalledEvent)","u":"mergeEntityOperationCalled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCalledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeEntityOperationCompleted(OrchestratorService.EntityOperationCompletedEvent)","u":"mergeEntityOperationCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeEntityOperationFailed(OrchestratorService.EntityOperationFailedEvent)","u":"mergeEntityOperationFailed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeEntityOperationSignaled(OrchestratorService.EntityOperationSignaledEvent)","u":"mergeEntityOperationSignaled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationSignaledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"mergeEntityOperationSignaled(OrchestratorService.EntityOperationSignaledEvent)","u":"mergeEntityOperationSignaled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationSignaledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"mergeEntityParameters(OrchestratorService.OrchestratorEntityParameters)","u":"mergeEntityParameters(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorEntityParameters)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"mergeEntityRequest(OrchestratorService.EntityBatchRequest)","u":"mergeEntityRequest(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"mergeEntityRequestV2(OrchestratorService.EntityRequest)","u":"mergeEntityRequestV2(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"mergeEntityState(StringValue)","u":"mergeEntityState(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"mergeEntityState(StringValue)","u":"mergeEntityState(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"mergeEntityState(StringValue)","u":"mergeEntityState(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeEntityUnlockSent(OrchestratorService.EntityUnlockSentEvent)","u":"mergeEntityUnlockSent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityUnlockSentEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"mergeEntityUnlockSent(OrchestratorService.EntityUnlockSentEvent)","u":"mergeEntityUnlockSent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityUnlockSentEvent)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"mergeEtag(CommonProtos.Etag)","u":"mergeEtag(io.dapr.v1.CommonProtos.Etag)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"mergeEtag(CommonProtos.Etag)","u":"mergeEtag(io.dapr.v1.CommonProtos.Etag)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"mergeEventMessage(DaprAppCallbackProtos.TopicEventRequest)","u":"mergeEventMessage(io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"mergeEventProcessed(DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1)","u":"mergeEventProcessed(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeEventRaised(OrchestratorService.EventRaisedEvent)","u":"mergeEventRaised(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EventRaisedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeEventSent(OrchestratorService.EventSentEvent)","u":"mergeEventSent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EventSentEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeExecutionCompleted(OrchestratorService.ExecutionCompletedEvent)","u":"mergeExecutionCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"mergeExecutionId(StringValue)","u":"mergeExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"mergeExecutionId(StringValue)","u":"mergeExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeExecutionId(StringValue)","u":"mergeExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"mergeExecutionId(StringValue)","u":"mergeExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"mergeExecutionId(StringValue)","u":"mergeExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeExecutionResumed(OrchestratorService.ExecutionResumedEvent)","u":"mergeExecutionResumed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionResumedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeExecutionStalled(OrchestratorService.ExecutionStalledEvent)","u":"mergeExecutionStalled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionStalledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeExecutionStarted(OrchestratorService.ExecutionStartedEvent)","u":"mergeExecutionStarted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionStartedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeExecutionSuspended(OrchestratorService.ExecutionSuspendedEvent)","u":"mergeExecutionSuspended(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionSuspendedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeExecutionTerminated(OrchestratorService.ExecutionTerminatedEvent)","u":"mergeExecutionTerminated(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionTerminatedEvent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"mergeExtensions(Struct)","u":"mergeExtensions(com.google.protobuf.Struct)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"mergeExtensions(Struct)","u":"mergeExtensions(com.google.protobuf.Struct)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"mergeFailure(OrchestratorService.OperationResultFailure)","u":"mergeFailure(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResultFailure)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"mergeFailureDetails(OrchestratorService.TaskFailureDetails)","u":"mergeFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"mergeFailureDetails(OrchestratorService.TaskFailureDetails)","u":"mergeFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"mergeFailureDetails(OrchestratorService.TaskFailureDetails)","u":"mergeFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"mergeFailureDetails(OrchestratorService.TaskFailureDetails)","u":"mergeFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"mergeFailureDetails(OrchestratorService.TaskFailureDetails)","u":"mergeFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"mergeFailureDetails(OrchestratorService.TaskFailureDetails)","u":"mergeFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeFailureDetails(OrchestratorService.TaskFailureDetails)","u":"mergeFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"mergeFailureDetails(OrchestratorService.TaskFailureDetails)","u":"mergeFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"mergeFailureDetails(OrchestratorService.TaskFailureDetails)","u":"mergeFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"mergeFailurePolicy(CommonProtos.JobFailurePolicy)","u":"mergeFailurePolicy(io.dapr.v1.CommonProtos.JobFailurePolicy)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"mergeFailurePolicy(CommonProtos.JobFailurePolicy)","u":"mergeFailurePolicy(io.dapr.v1.CommonProtos.JobFailurePolicy)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"mergeFireAt(Timestamp)","u":"mergeFireAt(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"mergeFireAt(Timestamp)","u":"mergeFireAt(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"mergeFireAt(Timestamp)","u":"mergeFireAt(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"mergeFrom(CodedInputStream, ExtensionRegistryLite)","u":"mergeFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"mergeFrom(CommonProtos.ConfigurationItem)","u":"mergeFrom(io.dapr.v1.CommonProtos.ConfigurationItem)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"mergeFrom(CommonProtos.Etag)","u":"mergeFrom(io.dapr.v1.CommonProtos.Etag)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"mergeFrom(CommonProtos.HTTPExtension)","u":"mergeFrom(io.dapr.v1.CommonProtos.HTTPExtension)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"mergeFrom(CommonProtos.InvokeRequest)","u":"mergeFrom(io.dapr.v1.CommonProtos.InvokeRequest)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"mergeFrom(CommonProtos.InvokeResponse)","u":"mergeFrom(io.dapr.v1.CommonProtos.InvokeResponse)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"mergeFrom(CommonProtos.JobFailurePolicy)","u":"mergeFrom(io.dapr.v1.CommonProtos.JobFailurePolicy)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"mergeFrom(CommonProtos.JobFailurePolicyConstant)","u":"mergeFrom(io.dapr.v1.CommonProtos.JobFailurePolicyConstant)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"mergeFrom(CommonProtos.JobFailurePolicyDrop)","u":"mergeFrom(io.dapr.v1.CommonProtos.JobFailurePolicyDrop)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"mergeFrom(CommonProtos.StateItem)","u":"mergeFrom(io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"mergeFrom(CommonProtos.StateOptions)","u":"mergeFrom(io.dapr.v1.CommonProtos.StateOptions)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"mergeFrom(CommonProtos.StreamPayload)","u":"mergeFrom(io.dapr.v1.CommonProtos.StreamPayload)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"mergeFrom(DaprActorsProtos.ActorReminder)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.ActorReminder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"mergeFrom(DaprActorsProtos.ExecuteActorStateTransactionRequest)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.ExecuteActorStateTransactionRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"mergeFrom(DaprActorsProtos.GetActorReminderRequest)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.GetActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"mergeFrom(DaprActorsProtos.GetActorReminderResponse)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.GetActorReminderResponse)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"mergeFrom(DaprActorsProtos.GetActorStateRequest)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.GetActorStateRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"mergeFrom(DaprActorsProtos.GetActorStateResponse)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.GetActorStateResponse)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"mergeFrom(DaprActorsProtos.InvokeActorRequest)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.InvokeActorRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"mergeFrom(DaprActorsProtos.InvokeActorResponse)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.InvokeActorResponse)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"mergeFrom(DaprActorsProtos.ListActorRemindersRequest)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.ListActorRemindersRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"mergeFrom(DaprActorsProtos.ListActorRemindersResponse)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.ListActorRemindersResponse)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"mergeFrom(DaprActorsProtos.NamedActorReminder)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.NamedActorReminder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"mergeFrom(DaprActorsProtos.RegisterActorReminderRequest)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.RegisterActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"mergeFrom(DaprActorsProtos.RegisterActorTimerRequest)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.RegisterActorTimerRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"mergeFrom(DaprActorsProtos.TransactionalActorStateOperation)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.TransactionalActorStateOperation)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"mergeFrom(DaprActorsProtos.UnregisterActorReminderRequest)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.UnregisterActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"mergeFrom(DaprActorsProtos.UnregisterActorRemindersByTypeRequest)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.UnregisterActorRemindersByTypeRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"mergeFrom(DaprActorsProtos.UnregisterActorRemindersByTypeResponse)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.UnregisterActorRemindersByTypeResponse)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"mergeFrom(DaprActorsProtos.UnregisterActorTimerRequest)","u":"mergeFrom(io.dapr.v1.DaprActorsProtos.UnregisterActorTimerRequest)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"mergeFrom(DaprAiProtos.ConversationInput)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationInput)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"mergeFrom(DaprAiProtos.ConversationInputAlpha2)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationInputAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"mergeFrom(DaprAiProtos.ConversationMessage)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationMessage)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"mergeFrom(DaprAiProtos.ConversationMessageContent)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"mergeFrom(DaprAiProtos.ConversationMessageOfAssistant)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationMessageOfAssistant)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"mergeFrom(DaprAiProtos.ConversationMessageOfDeveloper)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationMessageOfDeveloper)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"mergeFrom(DaprAiProtos.ConversationMessageOfSystem)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationMessageOfSystem)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"mergeFrom(DaprAiProtos.ConversationMessageOfTool)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationMessageOfTool)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"mergeFrom(DaprAiProtos.ConversationMessageOfUser)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationMessageOfUser)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"mergeFrom(DaprAiProtos.ConversationRequest)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationRequest)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"mergeFrom(DaprAiProtos.ConversationRequestAlpha2)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationRequestAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"mergeFrom(DaprAiProtos.ConversationResponse)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationResponse)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"mergeFrom(DaprAiProtos.ConversationResponseAlpha2)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationResponseAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"mergeFrom(DaprAiProtos.ConversationResult)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationResult)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"mergeFrom(DaprAiProtos.ConversationResultAlpha2)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"mergeFrom(DaprAiProtos.ConversationResultAlpha2CompletionUsage)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsage)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"mergeFrom(DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"mergeFrom(DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"mergeFrom(DaprAiProtos.ConversationResultChoices)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationResultChoices)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"mergeFrom(DaprAiProtos.ConversationResultMessage)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationResultMessage)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"mergeFrom(DaprAiProtos.ConversationToolCalls)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationToolCalls)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"mergeFrom(DaprAiProtos.ConversationToolCallsOfFunction)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationToolCallsOfFunction)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"mergeFrom(DaprAiProtos.ConversationTools)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationTools)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"mergeFrom(DaprAiProtos.ConversationToolsFunction)","u":"mergeFrom(io.dapr.v1.DaprAiProtos.ConversationToolsFunction)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"mergeFrom(DaprAppCallbackProtos.BindingEventRequest)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"mergeFrom(DaprAppCallbackProtos.BindingEventResponse)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"mergeFrom(DaprAppCallbackProtos.BulkSubscribeConfig)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfig)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"mergeFrom(DaprAppCallbackProtos.HealthCheckResponse)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.HealthCheckResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"mergeFrom(DaprAppCallbackProtos.JobEventRequest)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.JobEventRequest)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"mergeFrom(DaprAppCallbackProtos.JobEventResponse)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.JobEventResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"mergeFrom(DaprAppCallbackProtos.ListInputBindingsResponse)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.ListInputBindingsResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"mergeFrom(DaprAppCallbackProtos.ListTopicSubscriptionsResponse)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.ListTopicSubscriptionsResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"mergeFrom(DaprAppCallbackProtos.TopicEventBulkRequest)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"mergeFrom(DaprAppCallbackProtos.TopicEventBulkRequestEntry)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"mergeFrom(DaprAppCallbackProtos.TopicEventBulkResponse)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"mergeFrom(DaprAppCallbackProtos.TopicEventBulkResponseEntry)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"mergeFrom(DaprAppCallbackProtos.TopicEventCERequest)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequest)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"mergeFrom(DaprAppCallbackProtos.TopicEventRequest)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"mergeFrom(DaprAppCallbackProtos.TopicEventResponse)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"mergeFrom(DaprAppCallbackProtos.TopicRoutes)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.TopicRoutes)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"mergeFrom(DaprAppCallbackProtos.TopicRule)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.TopicRule)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"mergeFrom(DaprAppCallbackProtos.TopicSubscription)","u":"mergeFrom(io.dapr.v1.DaprAppCallbackProtos.TopicSubscription)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"mergeFrom(DaprBindingsProtos.InvokeBindingRequest)","u":"mergeFrom(io.dapr.v1.DaprBindingsProtos.InvokeBindingRequest)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"mergeFrom(DaprBindingsProtos.InvokeBindingResponse)","u":"mergeFrom(io.dapr.v1.DaprBindingsProtos.InvokeBindingResponse)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"mergeFrom(DaprConfigurationProtos.GetConfigurationRequest)","u":"mergeFrom(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"mergeFrom(DaprConfigurationProtos.GetConfigurationResponse)","u":"mergeFrom(io.dapr.v1.DaprConfigurationProtos.GetConfigurationResponse)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"mergeFrom(DaprConfigurationProtos.SubscribeConfigurationRequest)","u":"mergeFrom(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"mergeFrom(DaprConfigurationProtos.SubscribeConfigurationResponse)","u":"mergeFrom(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationResponse)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"mergeFrom(DaprConfigurationProtos.UnsubscribeConfigurationRequest)","u":"mergeFrom(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"mergeFrom(DaprConfigurationProtos.UnsubscribeConfigurationResponse)","u":"mergeFrom(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"mergeFrom(DaprCryptoProtos.DecryptRequest)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.DecryptRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"mergeFrom(DaprCryptoProtos.DecryptRequestOptions)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.DecryptRequestOptions)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"mergeFrom(DaprCryptoProtos.DecryptResponse)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.DecryptResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"mergeFrom(DaprCryptoProtos.EncryptRequest)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.EncryptRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"mergeFrom(DaprCryptoProtos.EncryptRequestOptions)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.EncryptRequestOptions)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"mergeFrom(DaprCryptoProtos.EncryptResponse)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.EncryptResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleDecryptRequest)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleDecryptRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleDecryptResponse)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleDecryptResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleEncryptRequest)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleEncryptRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleEncryptResponse)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleEncryptResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleGetKeyRequest)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleGetKeyRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleGetKeyResponse)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleGetKeyResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleSignRequest)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleSignRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleSignResponse)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleSignResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleUnwrapKeyRequest)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleUnwrapKeyRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleUnwrapKeyResponse)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleUnwrapKeyResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleVerifyRequest)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleVerifyRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleVerifyResponse)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleVerifyResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleWrapKeyRequest)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleWrapKeyRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"mergeFrom(DaprCryptoProtos.SubtleWrapKeyResponse)","u":"mergeFrom(io.dapr.v1.DaprCryptoProtos.SubtleWrapKeyResponse)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"mergeFrom(DaprInvokeProtos.InvokeServiceRequest)","u":"mergeFrom(io.dapr.v1.DaprInvokeProtos.InvokeServiceRequest)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"mergeFrom(DaprJobsProtos.DeleteJobRequest)","u":"mergeFrom(io.dapr.v1.DaprJobsProtos.DeleteJobRequest)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"mergeFrom(DaprJobsProtos.DeleteJobResponse)","u":"mergeFrom(io.dapr.v1.DaprJobsProtos.DeleteJobResponse)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"mergeFrom(DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1)","u":"mergeFrom(io.dapr.v1.DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"mergeFrom(DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1)","u":"mergeFrom(io.dapr.v1.DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"mergeFrom(DaprJobsProtos.GetJobRequest)","u":"mergeFrom(io.dapr.v1.DaprJobsProtos.GetJobRequest)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"mergeFrom(DaprJobsProtos.GetJobResponse)","u":"mergeFrom(io.dapr.v1.DaprJobsProtos.GetJobResponse)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"mergeFrom(DaprJobsProtos.Job)","u":"mergeFrom(io.dapr.v1.DaprJobsProtos.Job)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"mergeFrom(DaprJobsProtos.ListJobsRequestAlpha1)","u":"mergeFrom(io.dapr.v1.DaprJobsProtos.ListJobsRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"mergeFrom(DaprJobsProtos.ListJobsResponseAlpha1)","u":"mergeFrom(io.dapr.v1.DaprJobsProtos.ListJobsResponseAlpha1)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"mergeFrom(DaprJobsProtos.ScheduleJobRequest)","u":"mergeFrom(io.dapr.v1.DaprJobsProtos.ScheduleJobRequest)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"mergeFrom(DaprJobsProtos.ScheduleJobResponse)","u":"mergeFrom(io.dapr.v1.DaprJobsProtos.ScheduleJobResponse)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"mergeFrom(DaprLockProtos.TryLockRequest)","u":"mergeFrom(io.dapr.v1.DaprLockProtos.TryLockRequest)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"mergeFrom(DaprLockProtos.TryLockResponse)","u":"mergeFrom(io.dapr.v1.DaprLockProtos.TryLockResponse)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"mergeFrom(DaprLockProtos.UnlockRequest)","u":"mergeFrom(io.dapr.v1.DaprLockProtos.UnlockRequest)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"mergeFrom(DaprLockProtos.UnlockResponse)","u":"mergeFrom(io.dapr.v1.DaprLockProtos.UnlockResponse)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"mergeFrom(DaprMetadataProtos.ActiveActorsCount)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.ActiveActorsCount)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"mergeFrom(DaprMetadataProtos.ActorRuntime)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.ActorRuntime)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"mergeFrom(DaprMetadataProtos.AppConnectionHealthProperties)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.AppConnectionHealthProperties)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"mergeFrom(DaprMetadataProtos.AppConnectionProperties)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.AppConnectionProperties)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"mergeFrom(DaprMetadataProtos.GetMetadataRequest)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.GetMetadataRequest)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"mergeFrom(DaprMetadataProtos.GetMetadataResponse)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.GetMetadataResponse)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"mergeFrom(DaprMetadataProtos.MetadataHTTPEndpoint)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.MetadataHTTPEndpoint)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"mergeFrom(DaprMetadataProtos.MetadataScheduler)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.MetadataScheduler)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"mergeFrom(DaprMetadataProtos.MetadataWorkflows)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.MetadataWorkflows)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"mergeFrom(DaprMetadataProtos.PubsubSubscription)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.PubsubSubscription)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"mergeFrom(DaprMetadataProtos.PubsubSubscriptionRule)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRule)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"mergeFrom(DaprMetadataProtos.PubsubSubscriptionRules)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRules)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"mergeFrom(DaprMetadataProtos.RegisteredComponents)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.RegisteredComponents)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"mergeFrom(DaprMetadataProtos.SetMetadataRequest)","u":"mergeFrom(io.dapr.v1.DaprMetadataProtos.SetMetadataRequest)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"mergeFrom(DaprProtos.ShutdownRequest)","u":"mergeFrom(io.dapr.v1.DaprProtos.ShutdownRequest)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"mergeFrom(DaprPubsubProtos.BulkPublishRequest)","u":"mergeFrom(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"mergeFrom(DaprPubsubProtos.BulkPublishRequestEntry)","u":"mergeFrom(io.dapr.v1.DaprPubsubProtos.BulkPublishRequestEntry)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"mergeFrom(DaprPubsubProtos.BulkPublishResponse)","u":"mergeFrom(io.dapr.v1.DaprPubsubProtos.BulkPublishResponse)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"mergeFrom(DaprPubsubProtos.BulkPublishResponseFailedEntry)","u":"mergeFrom(io.dapr.v1.DaprPubsubProtos.BulkPublishResponseFailedEntry)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"mergeFrom(DaprPubsubProtos.PublishEventRequest)","u":"mergeFrom(io.dapr.v1.DaprPubsubProtos.PublishEventRequest)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"mergeFrom(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1)","u":"mergeFrom(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"mergeFrom(DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1)","u":"mergeFrom(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"mergeFrom(DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1)","u":"mergeFrom(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"mergeFrom(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1)","u":"mergeFrom(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"mergeFrom(DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1)","u":"mergeFrom(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"mergeFrom(DaprSecretProtos.GetBulkSecretRequest)","u":"mergeFrom(io.dapr.v1.DaprSecretProtos.GetBulkSecretRequest)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"mergeFrom(DaprSecretProtos.GetBulkSecretResponse)","u":"mergeFrom(io.dapr.v1.DaprSecretProtos.GetBulkSecretResponse)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"mergeFrom(DaprSecretProtos.GetSecretRequest)","u":"mergeFrom(io.dapr.v1.DaprSecretProtos.GetSecretRequest)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"mergeFrom(DaprSecretProtos.GetSecretResponse)","u":"mergeFrom(io.dapr.v1.DaprSecretProtos.GetSecretResponse)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"mergeFrom(DaprSecretProtos.SecretResponse)","u":"mergeFrom(io.dapr.v1.DaprSecretProtos.SecretResponse)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"mergeFrom(DaprStateProtos.BulkStateItem)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.BulkStateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"mergeFrom(DaprStateProtos.DeleteBulkStateRequest)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.DeleteBulkStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"mergeFrom(DaprStateProtos.DeleteStateRequest)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.DeleteStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"mergeFrom(DaprStateProtos.ExecuteStateTransactionRequest)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.ExecuteStateTransactionRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"mergeFrom(DaprStateProtos.GetBulkStateRequest)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.GetBulkStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"mergeFrom(DaprStateProtos.GetBulkStateResponse)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.GetBulkStateResponse)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"mergeFrom(DaprStateProtos.GetStateRequest)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.GetStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"mergeFrom(DaprStateProtos.GetStateResponse)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.GetStateResponse)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"mergeFrom(DaprStateProtos.QueryStateItem)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.QueryStateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"mergeFrom(DaprStateProtos.QueryStateRequest)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.QueryStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"mergeFrom(DaprStateProtos.QueryStateResponse)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.QueryStateResponse)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"mergeFrom(DaprStateProtos.SaveStateRequest)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.SaveStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"mergeFrom(DaprStateProtos.TransactionalStateOperation)","u":"mergeFrom(io.dapr.v1.DaprStateProtos.TransactionalStateOperation)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"mergeFrom(DaprWorkflowProtos.GetWorkflowRequest)","u":"mergeFrom(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"mergeFrom(DaprWorkflowProtos.GetWorkflowResponse)","u":"mergeFrom(io.dapr.v1.DaprWorkflowProtos.GetWorkflowResponse)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"mergeFrom(DaprWorkflowProtos.PauseWorkflowRequest)","u":"mergeFrom(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"mergeFrom(DaprWorkflowProtos.PurgeWorkflowRequest)","u":"mergeFrom(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"mergeFrom(DaprWorkflowProtos.RaiseEventWorkflowRequest)","u":"mergeFrom(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"mergeFrom(DaprWorkflowProtos.ResumeWorkflowRequest)","u":"mergeFrom(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"mergeFrom(DaprWorkflowProtos.StartWorkflowRequest)","u":"mergeFrom(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"mergeFrom(DaprWorkflowProtos.StartWorkflowResponse)","u":"mergeFrom(io.dapr.v1.DaprWorkflowProtos.StartWorkflowResponse)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"mergeFrom(DaprWorkflowProtos.TerminateWorkflowRequest)","u":"mergeFrom(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"mergeFrom(Message)","u":"mergeFrom(com.google.protobuf.Message)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"mergeFrom(OrchestratorService.AbandonActivityTaskRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonActivityTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"mergeFrom(OrchestratorService.AbandonActivityTaskResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonActivityTaskResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"mergeFrom(OrchestratorService.AbandonEntityTaskRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonEntityTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"mergeFrom(OrchestratorService.AbandonEntityTaskResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonEntityTaskResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"mergeFrom(OrchestratorService.AbandonOrchestrationTaskRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonOrchestrationTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"mergeFrom(OrchestratorService.AbandonOrchestrationTaskResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonOrchestrationTaskResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"mergeFrom(OrchestratorService.ActivityRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"mergeFrom(OrchestratorService.ActivityResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"mergeFrom(OrchestratorService.CleanEntityStorageRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CleanEntityStorageRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"mergeFrom(OrchestratorService.CleanEntityStorageResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CleanEntityStorageResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"mergeFrom(OrchestratorService.CompleteOrchestrationAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CompleteOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"mergeFrom(OrchestratorService.CompleteTaskResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CompleteTaskResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"mergeFrom(OrchestratorService.ContinueAsNewEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ContinueAsNewEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"mergeFrom(OrchestratorService.CreateInstanceRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"mergeFrom(OrchestratorService.CreateInstanceResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateInstanceResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"mergeFrom(OrchestratorService.CreateSubOrchestrationAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateSubOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"mergeFrom(OrchestratorService.CreateTaskHubRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTaskHubRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"mergeFrom(OrchestratorService.CreateTaskHubResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTaskHubResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"mergeFrom(OrchestratorService.CreateTimerAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTimerAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"mergeFrom(OrchestratorService.DeleteTaskHubRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.DeleteTaskHubRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"mergeFrom(OrchestratorService.DeleteTaskHubResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.DeleteTaskHubResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"mergeFrom(OrchestratorService.EntityBatchRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"mergeFrom(OrchestratorService.EntityBatchResult)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchResult)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"mergeFrom(OrchestratorService.EntityLockGrantedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockGrantedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"mergeFrom(OrchestratorService.EntityLockRequestedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockRequestedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"mergeFrom(OrchestratorService.EntityMetadata)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityMetadata)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"mergeFrom(OrchestratorService.EntityOperationCalledEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCalledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"mergeFrom(OrchestratorService.EntityOperationCompletedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"mergeFrom(OrchestratorService.EntityOperationFailedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"mergeFrom(OrchestratorService.EntityOperationSignaledEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationSignaledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"mergeFrom(OrchestratorService.EntityQuery)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityQuery)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"mergeFrom(OrchestratorService.EntityRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"mergeFrom(OrchestratorService.EntityUnlockSentEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityUnlockSentEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"mergeFrom(OrchestratorService.EventRaisedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EventRaisedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"mergeFrom(OrchestratorService.EventSentEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EventSentEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"mergeFrom(OrchestratorService.ExecutionCompletedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"mergeFrom(OrchestratorService.ExecutionResumedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionResumedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"mergeFrom(OrchestratorService.ExecutionStalledEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionStalledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"mergeFrom(OrchestratorService.ExecutionStartedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionStartedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"mergeFrom(OrchestratorService.ExecutionSuspendedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionSuspendedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"mergeFrom(OrchestratorService.ExecutionTerminatedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionTerminatedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"mergeFrom(OrchestratorService.GenericEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GenericEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"mergeFrom(OrchestratorService.GetEntityRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetEntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"mergeFrom(OrchestratorService.GetEntityResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetEntityResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"mergeFrom(OrchestratorService.GetInstanceHistoryRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceHistoryRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"mergeFrom(OrchestratorService.GetInstanceHistoryResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceHistoryResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"mergeFrom(OrchestratorService.GetInstanceRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"mergeFrom(OrchestratorService.GetInstanceResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"mergeFrom(OrchestratorService.GetWorkItemsRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetWorkItemsRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"mergeFrom(OrchestratorService.HealthPing)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HealthPing)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"mergeFrom(OrchestratorService.HistoryChunk)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryChunk)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeFrom(OrchestratorService.HistoryEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"mergeFrom(OrchestratorService.HistoryStateEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryStateEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"mergeFrom(OrchestratorService.InstanceQuery)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.InstanceQuery)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"mergeFrom(OrchestratorService.ListInstanceIDsRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ListInstanceIDsRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"mergeFrom(OrchestratorService.ListInstanceIDsResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ListInstanceIDsResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"mergeFrom(OrchestratorService.OperationAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"mergeFrom(OrchestratorService.OperationInfo)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"mergeFrom(OrchestratorService.OperationRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"mergeFrom(OrchestratorService.OperationResult)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResult)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"mergeFrom(OrchestratorService.OperationResultFailure)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResultFailure)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"mergeFrom(OrchestratorService.OperationResultSuccess)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResultSuccess)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"mergeFrom(OrchestratorService.OrchestrationIdReusePolicy)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationIdReusePolicy)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"mergeFrom(OrchestratorService.OrchestrationInstance)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeFrom(OrchestratorService.OrchestrationState)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"mergeFrom(OrchestratorService.OrchestrationVersion)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationVersion)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeFrom(OrchestratorService.OrchestratorAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"mergeFrom(OrchestratorService.OrchestratorCompletedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"mergeFrom(OrchestratorService.OrchestratorEntityParameters)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorEntityParameters)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"mergeFrom(OrchestratorService.OrchestratorRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"mergeFrom(OrchestratorService.OrchestratorResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"mergeFrom(OrchestratorService.OrchestratorStartedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorStartedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"mergeFrom(OrchestratorService.OrchestratorVersionNotAvailableAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorVersionNotAvailableAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"mergeFrom(OrchestratorService.ParentInstanceInfo)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"mergeFrom(OrchestratorService.PurgeInstanceFilter)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstanceFilter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"mergeFrom(OrchestratorService.PurgeInstancesRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstancesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"mergeFrom(OrchestratorService.PurgeInstancesResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstancesResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"mergeFrom(OrchestratorService.QueryEntitiesRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryEntitiesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"mergeFrom(OrchestratorService.QueryEntitiesResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryEntitiesResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"mergeFrom(OrchestratorService.QueryInstancesRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryInstancesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"mergeFrom(OrchestratorService.QueryInstancesResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryInstancesResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"mergeFrom(OrchestratorService.RaiseEventRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RaiseEventRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"mergeFrom(OrchestratorService.RaiseEventResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RaiseEventResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"mergeFrom(OrchestratorService.RerunParentInstanceInfo)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"mergeFrom(OrchestratorService.RerunWorkflowFromEventRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunWorkflowFromEventRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"mergeFrom(OrchestratorService.RerunWorkflowFromEventResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunWorkflowFromEventResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"mergeFrom(OrchestratorService.ResumeRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ResumeRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"mergeFrom(OrchestratorService.ResumeResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ResumeResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"mergeFrom(OrchestratorService.RewindInstanceRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RewindInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"mergeFrom(OrchestratorService.RewindInstanceResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RewindInstanceResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"mergeFrom(OrchestratorService.ScheduleTaskAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ScheduleTaskAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"mergeFrom(OrchestratorService.SendEntityMessageAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendEntityMessageAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"mergeFrom(OrchestratorService.SendEventAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendEventAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"mergeFrom(OrchestratorService.SendSignalAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendSignalAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"mergeFrom(OrchestratorService.SignalEntityRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SignalEntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"mergeFrom(OrchestratorService.SignalEntityResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SignalEntityResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"mergeFrom(OrchestratorService.StartNewOrchestrationAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StartNewOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"mergeFrom(OrchestratorService.StreamInstanceHistoryRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StreamInstanceHistoryRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"mergeFrom(OrchestratorService.SubOrchestrationInstanceCompletedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"mergeFrom(OrchestratorService.SubOrchestrationInstanceCreatedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceCreatedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"mergeFrom(OrchestratorService.SubOrchestrationInstanceFailedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"mergeFrom(OrchestratorService.SuspendRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SuspendRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"mergeFrom(OrchestratorService.SuspendResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SuspendResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"mergeFrom(OrchestratorService.TaskCompletedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"mergeFrom(OrchestratorService.TaskFailedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"mergeFrom(OrchestratorService.TaskFailureDetails)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"mergeFrom(OrchestratorService.TaskRouter)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"mergeFrom(OrchestratorService.TaskScheduledEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskScheduledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"mergeFrom(OrchestratorService.TerminateOrchestrationAction)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"mergeFrom(OrchestratorService.TerminateRequest)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"mergeFrom(OrchestratorService.TerminateResponse)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"mergeFrom(OrchestratorService.TimerCreatedEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TimerCreatedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"mergeFrom(OrchestratorService.TimerFiredEvent)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TimerFiredEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"mergeFrom(OrchestratorService.TraceContext)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"mergeFrom(OrchestratorService.WorkItem)","u":"mergeFrom(io.dapr.durabletask.implementation.protobuf.OrchestratorService.WorkItem)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"mergeFunction(DaprAiProtos.ConversationToolCallsOfFunction)","u":"mergeFunction(io.dapr.v1.DaprAiProtos.ConversationToolCallsOfFunction)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"mergeFunction(DaprAiProtos.ConversationToolsFunction)","u":"mergeFunction(io.dapr.v1.DaprAiProtos.ConversationToolsFunction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeGenericEvent(OrchestratorService.GenericEvent)","u":"mergeGenericEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GenericEvent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"mergeHealth(DaprMetadataProtos.AppConnectionHealthProperties)","u":"mergeHealth(io.dapr.v1.DaprMetadataProtos.AppConnectionHealthProperties)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"mergeHealthPing(OrchestratorService.HealthPing)","u":"mergeHealthPing(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HealthPing)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeHistoryState(OrchestratorService.HistoryStateEvent)","u":"mergeHistoryState(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryStateEvent)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"mergeHttpExtension(CommonProtos.HTTPExtension)","u":"mergeHttpExtension(io.dapr.v1.CommonProtos.HTTPExtension)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"mergeHttpExtension(CommonProtos.HTTPExtension)","u":"mergeHttpExtension(io.dapr.v1.CommonProtos.HTTPExtension)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"mergeInitialRequest(DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1)","u":"mergeInitialRequest(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"mergeInitialResponse(DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1)","u":"mergeInitialResponse(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"mergeInnerFailure(OrchestratorService.TaskFailureDetails)","u":"mergeInnerFailure(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"mergeInput(StringValue)","u":"mergeInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"mergeInstance(OrchestratorService.OrchestrationInstance)","u":"mergeInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"mergeInstanceIdPrefix(StringValue)","u":"mergeInstanceIdPrefix(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"mergeInstanceIdStartsWith(StringValue)","u":"mergeInstanceIdStartsWith(com.google.protobuf.StringValue)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"mergeInterval(Duration)","u":"mergeInterval(com.google.protobuf.Duration)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"mergeIsComplete(BoolValue)","u":"mergeIsComplete(com.google.protobuf.BoolValue)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"mergeJob(DaprJobsProtos.Job)","u":"mergeJob(io.dapr.v1.DaprJobsProtos.Job)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"mergeJob(DaprJobsProtos.Job)","u":"mergeJob(io.dapr.v1.DaprJobsProtos.Job)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"mergeLastModifiedFrom(Timestamp)","u":"mergeLastModifiedFrom(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"mergeLastModifiedTime(Timestamp)","u":"mergeLastModifiedTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"mergeLastModifiedTo(Timestamp)","u":"mergeLastModifiedTo(com.google.protobuf.Timestamp)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"mergeLastUpdatedAt(Timestamp)","u":"mergeLastUpdatedAt(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeLastUpdatedTimestamp(Timestamp)","u":"mergeLastUpdatedTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"mergeLockedBy(StringValue)","u":"mergeLockedBy(com.google.protobuf.StringValue)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"mergeMessage(CommonProtos.InvokeRequest)","u":"mergeMessage(io.dapr.v1.CommonProtos.InvokeRequest)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"mergeMessage(DaprAiProtos.ConversationResultMessage)","u":"mergeMessage(io.dapr.v1.DaprAiProtos.ConversationResultMessage)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"mergeName(StringValue)","u":"mergeName(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"mergeNewVersion(StringValue)","u":"mergeNewVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"mergeNumEventsProcessed(Int32Value)","u":"mergeNumEventsProcessed(com.google.protobuf.Int32Value)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"mergeOfAssistant(DaprAiProtos.ConversationMessageOfAssistant)","u":"mergeOfAssistant(io.dapr.v1.DaprAiProtos.ConversationMessageOfAssistant)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"mergeOfDeveloper(DaprAiProtos.ConversationMessageOfDeveloper)","u":"mergeOfDeveloper(io.dapr.v1.DaprAiProtos.ConversationMessageOfDeveloper)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"mergeOfSystem(DaprAiProtos.ConversationMessageOfSystem)","u":"mergeOfSystem(io.dapr.v1.DaprAiProtos.ConversationMessageOfSystem)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"mergeOfTool(DaprAiProtos.ConversationMessageOfTool)","u":"mergeOfTool(io.dapr.v1.DaprAiProtos.ConversationMessageOfTool)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"mergeOfUser(DaprAiProtos.ConversationMessageOfUser)","u":"mergeOfUser(io.dapr.v1.DaprAiProtos.ConversationMessageOfUser)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"mergeOptions(CommonProtos.StateOptions)","u":"mergeOptions(io.dapr.v1.CommonProtos.StateOptions)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"mergeOptions(CommonProtos.StateOptions)","u":"mergeOptions(io.dapr.v1.CommonProtos.StateOptions)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"mergeOptions(DaprCryptoProtos.DecryptRequestOptions)","u":"mergeOptions(io.dapr.v1.DaprCryptoProtos.DecryptRequestOptions)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"mergeOptions(DaprCryptoProtos.EncryptRequestOptions)","u":"mergeOptions(io.dapr.v1.DaprCryptoProtos.EncryptRequestOptions)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"mergeOrchestrationIdReusePolicy(OrchestratorService.OrchestrationIdReusePolicy)","u":"mergeOrchestrationIdReusePolicy(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationIdReusePolicy)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"mergeOrchestrationInstance(OrchestratorService.OrchestrationInstance)","u":"mergeOrchestrationInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"mergeOrchestrationInstance(OrchestratorService.OrchestrationInstance)","u":"mergeOrchestrationInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"mergeOrchestrationInstance(OrchestratorService.OrchestrationInstance)","u":"mergeOrchestrationInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"mergeOrchestrationSpanID(StringValue)","u":"mergeOrchestrationSpanID(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"mergeOrchestrationState(OrchestratorService.OrchestrationState)","u":"mergeOrchestrationState(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"mergeOrchestrationState(OrchestratorService.OrchestrationState)","u":"mergeOrchestrationState(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeOrchestratorCompleted(OrchestratorService.OrchestratorCompletedEvent)","u":"mergeOrchestratorCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"mergeOrchestratorRequest(OrchestratorService.OrchestratorRequest)","u":"mergeOrchestratorRequest(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeOrchestratorStarted(OrchestratorService.OrchestratorStartedEvent)","u":"mergeOrchestratorStarted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorStartedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeOrchestratorVersionNotAvailable(OrchestratorService.OrchestratorVersionNotAvailableAction)","u":"mergeOrchestratorVersionNotAvailable(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorVersionNotAvailableAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"mergeOutput(StringValue)","u":"mergeOutput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeOutput(StringValue)","u":"mergeOutput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"mergeOutput(StringValue)","u":"mergeOutput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"mergePageSize(Int32Value)","u":"mergePageSize(com.google.protobuf.Int32Value)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"mergeParameters(Struct)","u":"mergeParameters(com.google.protobuf.Struct)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"mergeParentExecutionId(StringValue)","u":"mergeParentExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"mergeParentInstance(OrchestratorService.ParentInstanceInfo)","u":"mergeParentInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"mergeParentInstanceId(StringValue)","u":"mergeParentInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"mergeParentInstanceId(StringValue)","u":"mergeParentInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"mergeParentInstanceId(StringValue)","u":"mergeParentInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeParentInstanceId(StringValue)","u":"mergeParentInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"mergeParentTraceContext(OrchestratorService.TraceContext)","u":"mergeParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"mergeParentTraceContext(OrchestratorService.TraceContext)","u":"mergeParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"mergeParentTraceContext(OrchestratorService.TraceContext)","u":"mergeParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"mergeParentTraceContext(OrchestratorService.TraceContext)","u":"mergeParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"mergeParentTraceContext(OrchestratorService.TraceContext)","u":"mergeParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"mergePayload(CommonProtos.StreamPayload)","u":"mergePayload(io.dapr.v1.CommonProtos.StreamPayload)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"mergePayload(CommonProtos.StreamPayload)","u":"mergePayload(io.dapr.v1.CommonProtos.StreamPayload)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"mergePayload(CommonProtos.StreamPayload)","u":"mergePayload(io.dapr.v1.CommonProtos.StreamPayload)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"mergePayload(CommonProtos.StreamPayload)","u":"mergePayload(io.dapr.v1.CommonProtos.StreamPayload)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"mergePromptCacheRetention(Duration)","u":"mergePromptCacheRetention(com.google.protobuf.Duration)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"mergePromptTokensDetails(DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails)","u":"mergePromptTokensDetails(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"mergePurgeInstanceFilter(OrchestratorService.PurgeInstanceFilter)","u":"mergePurgeInstanceFilter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstanceFilter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"mergeQuery(OrchestratorService.EntityQuery)","u":"mergeQuery(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityQuery)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"mergeQuery(OrchestratorService.InstanceQuery)","u":"mergeQuery(io.dapr.durabletask.implementation.protobuf.OrchestratorService.InstanceQuery)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"mergeReason(StringValue)","u":"mergeReason(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"mergeReason(StringValue)","u":"mergeReason(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"mergeReason(StringValue)","u":"mergeReason(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"mergeReason(StringValue)","u":"mergeReason(com.google.protobuf.StringValue)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"mergeReminder(DaprActorsProtos.ActorReminder)","u":"mergeReminder(io.dapr.v1.DaprActorsProtos.ActorReminder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"mergeRequest(CommonProtos.StateItem)","u":"mergeRequest(io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"mergeRerunParentInstanceInfo(OrchestratorService.RerunParentInstanceInfo)","u":"mergeRerunParentInstanceInfo(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"mergeRerunParentInstanceInfo(OrchestratorService.RerunParentInstanceInfo)","u":"mergeRerunParentInstanceInfo(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"mergeRerunParentInstanceInfo(OrchestratorService.RerunParentInstanceInfo)","u":"mergeRerunParentInstanceInfo(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"mergeResponseDestination(OrchestratorService.OrchestrationInstance)","u":"mergeResponseDestination(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"mergeResponseFormat(Struct)","u":"mergeResponseFormat(com.google.protobuf.Struct)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"mergeResult(StringValue)","u":"mergeResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"mergeResult(StringValue)","u":"mergeResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"mergeResult(StringValue)","u":"mergeResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"mergeResult(StringValue)","u":"mergeResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"mergeResult(StringValue)","u":"mergeResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"mergeResult(StringValue)","u":"mergeResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"mergeRouter(OrchestratorService.TaskRouter)","u":"mergeRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeRouter(OrchestratorService.TaskRouter)","u":"mergeRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeRouter(OrchestratorService.TaskRouter)","u":"mergeRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"mergeRouter(OrchestratorService.TaskRouter)","u":"mergeRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"mergeRouter(OrchestratorService.TaskRouter)","u":"mergeRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"mergeRoutes(DaprAppCallbackProtos.TopicRoutes)","u":"mergeRoutes(io.dapr.v1.DaprAppCallbackProtos.TopicRoutes)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"mergeRules(DaprMetadataProtos.PubsubSubscriptionRules)","u":"mergeRules(io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRules)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"mergeScheduledStartTimestamp(Timestamp)","u":"mergeScheduledStartTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"mergeScheduledStartTimestamp(Timestamp)","u":"mergeScheduledStartTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeScheduledStartTimestamp(Timestamp)","u":"mergeScheduledStartTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"mergeScheduledTime(Timestamp)","u":"mergeScheduledTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"mergeScheduledTime(Timestamp)","u":"mergeScheduledTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"mergeScheduledTime(Timestamp)","u":"mergeScheduledTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"mergeScheduledTime(Timestamp)","u":"mergeScheduledTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"mergeScheduledTime(Timestamp)","u":"mergeScheduledTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"mergeScheduler(DaprMetadataProtos.MetadataScheduler)","u":"mergeScheduler(io.dapr.v1.DaprMetadataProtos.MetadataScheduler)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeScheduleTask(OrchestratorService.ScheduleTaskAction)","u":"mergeScheduleTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ScheduleTaskAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeSendEntityMessage(OrchestratorService.SendEntityMessageAction)","u":"mergeSendEntityMessage(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendEntityMessageAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeSendEvent(OrchestratorService.SendEventAction)","u":"mergeSendEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendEventAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"mergeSendSignal(OrchestratorService.SendSignalAction)","u":"mergeSendSignal(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendSignalAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"mergeSerializedState(StringValue)","u":"mergeSerializedState(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"mergeStackTrace(StringValue)","u":"mergeStackTrace(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"mergeStartNewOrchestration(OrchestratorService.StartNewOrchestrationAction)","u":"mergeStartNewOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StartNewOrchestrationAction)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"mergeStatus(DaprAppCallbackProtos.TopicEventResponse)","u":"mergeStatus(io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeSubOrchestrationInstanceCompleted(OrchestratorService.SubOrchestrationInstanceCompletedEvent)","u":"mergeSubOrchestrationInstanceCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeSubOrchestrationInstanceCreated(OrchestratorService.SubOrchestrationInstanceCreatedEvent)","u":"mergeSubOrchestrationInstanceCreated(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceCreatedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeSubOrchestrationInstanceFailed(OrchestratorService.SubOrchestrationInstanceFailedEvent)","u":"mergeSubOrchestrationInstanceFailed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"mergeSuccess(OrchestratorService.OperationResultSuccess)","u":"mergeSuccess(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResultSuccess)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"mergeTargetInstanceId(StringValue)","u":"mergeTargetInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"mergeTargetInstanceId(StringValue)","u":"mergeTargetInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"mergeTargetInstanceId(StringValue)","u":"mergeTargetInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeTaskCompleted(OrchestratorService.TaskCompletedEvent)","u":"mergeTaskCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeTaskFailed(OrchestratorService.TaskFailedEvent)","u":"mergeTaskFailed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeTaskScheduled(OrchestratorService.TaskScheduledEvent)","u":"mergeTaskScheduled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskScheduledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeTerminateOrchestration(OrchestratorService.TerminateOrchestrationAction)","u":"mergeTerminateOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeTimerCreated(OrchestratorService.TimerCreatedEvent)","u":"mergeTimerCreated(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TimerCreatedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeTimerFired(OrchestratorService.TimerFiredEvent)","u":"mergeTimerFired(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TimerFiredEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeTimestamp(Timestamp)","u":"mergeTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"mergeTraceState(StringValue)","u":"mergeTraceState(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"mergeUnknownFields(UnknownFieldSet)","u":"mergeUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"mergeUsage(DaprAiProtos.ConversationResultAlpha2CompletionUsage)","u":"mergeUsage(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsage)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"mergeValue(Any)","u":"mergeValue(com.google.protobuf.Any)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"mergeVersion(OrchestratorService.OrchestrationVersion)","u":"mergeVersion(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationVersion)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"mergeVersion(OrchestratorService.OrchestrationVersion)","u":"mergeVersion(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationVersion)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"mergeVersion(StringValue)","u":"mergeVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"mergeVersion(StringValue)","u":"mergeVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"mergeVersion(StringValue)","u":"mergeVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"mergeVersion(StringValue)","u":"mergeVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"mergeVersion(StringValue)","u":"mergeVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"mergeVersion(StringValue)","u":"mergeVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"mergeVersion(StringValue)","u":"mergeVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"mergeVersion(StringValue)","u":"mergeVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"mergeVersion(StringValue)","u":"mergeVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"mergeVersion(StringValue)","u":"mergeVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"mergeWorkflows(DaprMetadataProtos.MetadataWorkflows)","u":"mergeWorkflows(io.dapr.v1.DaprMetadataProtos.MetadataWorkflows)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"MESSAGE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"MESSAGE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"MESSAGE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"MESSAGES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.MessageTypesCase","l":"MESSAGETYPES_NOT_SET"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"METADATA_FIELD_NUMBER"},{"p":"io.dapr","c":"Topic","l":"metadata()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"Metadata()","u":"%3Cinit%3E()"},{"p":"io.dapr.testcontainers","c":"MetadataEntry","l":"MetadataEntry(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"METHOD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"METHOD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"METHOD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"MODEL_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"JobSchedule","l":"monthly()"},{"p":"io.dapr.spring.data","c":"MySQLDaprKeyValueAdapter","l":"MySQLDaprKeyValueAdapter(DaprClient, ObjectMapper, String, String)","u":"%3Cinit%3E(io.dapr.client.DaprClient,com.fasterxml.jackson.databind.ObjectMapper,java.lang.String,java.lang.String)"},{"p":"io.dapr.spring6.data","c":"MySQLDaprKeyValueAdapter","l":"MySQLDaprKeyValueAdapter(DaprClient, ObjectMapper, String, String)","u":"%3Cinit%3E(io.dapr.client.DaprClient,com.fasterxml.jackson.databind.ObjectMapper,java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"NAME_PREFIX_FIELD_NUMBER"},{"p":"io.dapr.actors","c":"ActorMethod","l":"name()"},{"p":"io.dapr.actors","c":"ActorType","l":"name()"},{"p":"io.dapr.spring.workflows.config.annotations","c":"ActivityMetadata","l":"name()"},{"p":"io.dapr.spring.workflows.config.annotations","c":"WorkflowMetadata","l":"name()"},{"p":"io.dapr","c":"Topic","l":"name()"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"namedQueriesLocation()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"namedQueriesLocation()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"newBlockingStub(Channel)","u":"newBlockingStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc","l":"newBlockingStub(Channel)","u":"newBlockingStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"newBlockingStub(Channel)","u":"newBlockingStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc","l":"newBlockingStub(Channel)","u":"newBlockingStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"newBlockingStub(Channel)","u":"newBlockingStub(io.grpc.Channel)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"newBlockingV2Stub(Channel)","u":"newBlockingV2Stub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc","l":"newBlockingV2Stub(Channel)","u":"newBlockingV2Stub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"newBlockingV2Stub(Channel)","u":"newBlockingV2Stub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc","l":"newBlockingV2Stub(Channel)","u":"newBlockingV2Stub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"newBlockingV2Stub(Channel)","u":"newBlockingV2Stub(io.grpc.Channel)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"newBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"newBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"newBuilder()"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"newBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"newBuilder(CommonProtos.ConfigurationItem)","u":"newBuilder(io.dapr.v1.CommonProtos.ConfigurationItem)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"newBuilder(CommonProtos.Etag)","u":"newBuilder(io.dapr.v1.CommonProtos.Etag)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"newBuilder(CommonProtos.HTTPExtension)","u":"newBuilder(io.dapr.v1.CommonProtos.HTTPExtension)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"newBuilder(CommonProtos.InvokeRequest)","u":"newBuilder(io.dapr.v1.CommonProtos.InvokeRequest)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"newBuilder(CommonProtos.InvokeResponse)","u":"newBuilder(io.dapr.v1.CommonProtos.InvokeResponse)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"newBuilder(CommonProtos.JobFailurePolicy)","u":"newBuilder(io.dapr.v1.CommonProtos.JobFailurePolicy)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"newBuilder(CommonProtos.JobFailurePolicyConstant)","u":"newBuilder(io.dapr.v1.CommonProtos.JobFailurePolicyConstant)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"newBuilder(CommonProtos.JobFailurePolicyDrop)","u":"newBuilder(io.dapr.v1.CommonProtos.JobFailurePolicyDrop)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"newBuilder(CommonProtos.StateItem)","u":"newBuilder(io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"newBuilder(CommonProtos.StateOptions)","u":"newBuilder(io.dapr.v1.CommonProtos.StateOptions)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"newBuilder(CommonProtos.StreamPayload)","u":"newBuilder(io.dapr.v1.CommonProtos.StreamPayload)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"newBuilder(DaprActorsProtos.ActorReminder)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.ActorReminder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"newBuilder(DaprActorsProtos.ExecuteActorStateTransactionRequest)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.ExecuteActorStateTransactionRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"newBuilder(DaprActorsProtos.GetActorReminderRequest)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.GetActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"newBuilder(DaprActorsProtos.GetActorReminderResponse)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.GetActorReminderResponse)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"newBuilder(DaprActorsProtos.GetActorStateRequest)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.GetActorStateRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"newBuilder(DaprActorsProtos.GetActorStateResponse)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.GetActorStateResponse)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"newBuilder(DaprActorsProtos.InvokeActorRequest)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.InvokeActorRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"newBuilder(DaprActorsProtos.InvokeActorResponse)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.InvokeActorResponse)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"newBuilder(DaprActorsProtos.ListActorRemindersRequest)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.ListActorRemindersRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"newBuilder(DaprActorsProtos.ListActorRemindersResponse)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.ListActorRemindersResponse)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"newBuilder(DaprActorsProtos.NamedActorReminder)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.NamedActorReminder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"newBuilder(DaprActorsProtos.RegisterActorReminderRequest)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.RegisterActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"newBuilder(DaprActorsProtos.RegisterActorTimerRequest)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.RegisterActorTimerRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"newBuilder(DaprActorsProtos.TransactionalActorStateOperation)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.TransactionalActorStateOperation)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"newBuilder(DaprActorsProtos.UnregisterActorReminderRequest)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.UnregisterActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"newBuilder(DaprActorsProtos.UnregisterActorRemindersByTypeRequest)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.UnregisterActorRemindersByTypeRequest)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"newBuilder(DaprActorsProtos.UnregisterActorRemindersByTypeResponse)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.UnregisterActorRemindersByTypeResponse)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"newBuilder(DaprActorsProtos.UnregisterActorTimerRequest)","u":"newBuilder(io.dapr.v1.DaprActorsProtos.UnregisterActorTimerRequest)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"newBuilder(DaprAiProtos.ConversationInput)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationInput)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"newBuilder(DaprAiProtos.ConversationInputAlpha2)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationInputAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"newBuilder(DaprAiProtos.ConversationMessage)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationMessage)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"newBuilder(DaprAiProtos.ConversationMessageContent)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"newBuilder(DaprAiProtos.ConversationMessageOfAssistant)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationMessageOfAssistant)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"newBuilder(DaprAiProtos.ConversationMessageOfDeveloper)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationMessageOfDeveloper)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"newBuilder(DaprAiProtos.ConversationMessageOfSystem)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationMessageOfSystem)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"newBuilder(DaprAiProtos.ConversationMessageOfTool)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationMessageOfTool)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"newBuilder(DaprAiProtos.ConversationMessageOfUser)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationMessageOfUser)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"newBuilder(DaprAiProtos.ConversationRequest)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationRequest)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"newBuilder(DaprAiProtos.ConversationRequestAlpha2)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationRequestAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"newBuilder(DaprAiProtos.ConversationResponse)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationResponse)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"newBuilder(DaprAiProtos.ConversationResponseAlpha2)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationResponseAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"newBuilder(DaprAiProtos.ConversationResult)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationResult)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"newBuilder(DaprAiProtos.ConversationResultAlpha2)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"newBuilder(DaprAiProtos.ConversationResultAlpha2CompletionUsage)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsage)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"newBuilder(DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"newBuilder(DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"newBuilder(DaprAiProtos.ConversationResultChoices)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationResultChoices)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"newBuilder(DaprAiProtos.ConversationResultMessage)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationResultMessage)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"newBuilder(DaprAiProtos.ConversationToolCalls)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationToolCalls)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"newBuilder(DaprAiProtos.ConversationToolCallsOfFunction)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationToolCallsOfFunction)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"newBuilder(DaprAiProtos.ConversationTools)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationTools)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"newBuilder(DaprAiProtos.ConversationToolsFunction)","u":"newBuilder(io.dapr.v1.DaprAiProtos.ConversationToolsFunction)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"newBuilder(DaprAppCallbackProtos.BindingEventRequest)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"newBuilder(DaprAppCallbackProtos.BindingEventResponse)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"newBuilder(DaprAppCallbackProtos.BulkSubscribeConfig)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfig)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"newBuilder(DaprAppCallbackProtos.HealthCheckResponse)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.HealthCheckResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"newBuilder(DaprAppCallbackProtos.JobEventRequest)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.JobEventRequest)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"newBuilder(DaprAppCallbackProtos.JobEventResponse)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.JobEventResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"newBuilder(DaprAppCallbackProtos.ListInputBindingsResponse)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.ListInputBindingsResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"newBuilder(DaprAppCallbackProtos.ListTopicSubscriptionsResponse)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.ListTopicSubscriptionsResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"newBuilder(DaprAppCallbackProtos.TopicEventBulkRequest)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"newBuilder(DaprAppCallbackProtos.TopicEventBulkRequestEntry)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"newBuilder(DaprAppCallbackProtos.TopicEventBulkResponse)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"newBuilder(DaprAppCallbackProtos.TopicEventBulkResponseEntry)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"newBuilder(DaprAppCallbackProtos.TopicEventCERequest)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequest)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"newBuilder(DaprAppCallbackProtos.TopicEventRequest)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"newBuilder(DaprAppCallbackProtos.TopicEventResponse)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"newBuilder(DaprAppCallbackProtos.TopicRoutes)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.TopicRoutes)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"newBuilder(DaprAppCallbackProtos.TopicRule)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.TopicRule)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"newBuilder(DaprAppCallbackProtos.TopicSubscription)","u":"newBuilder(io.dapr.v1.DaprAppCallbackProtos.TopicSubscription)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"newBuilder(DaprBindingsProtos.InvokeBindingRequest)","u":"newBuilder(io.dapr.v1.DaprBindingsProtos.InvokeBindingRequest)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"newBuilder(DaprBindingsProtos.InvokeBindingResponse)","u":"newBuilder(io.dapr.v1.DaprBindingsProtos.InvokeBindingResponse)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"newBuilder(DaprConfigurationProtos.GetConfigurationRequest)","u":"newBuilder(io.dapr.v1.DaprConfigurationProtos.GetConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"newBuilder(DaprConfigurationProtos.GetConfigurationResponse)","u":"newBuilder(io.dapr.v1.DaprConfigurationProtos.GetConfigurationResponse)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"newBuilder(DaprConfigurationProtos.SubscribeConfigurationRequest)","u":"newBuilder(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"newBuilder(DaprConfigurationProtos.SubscribeConfigurationResponse)","u":"newBuilder(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationResponse)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"newBuilder(DaprConfigurationProtos.UnsubscribeConfigurationRequest)","u":"newBuilder(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"newBuilder(DaprConfigurationProtos.UnsubscribeConfigurationResponse)","u":"newBuilder(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"newBuilder(DaprCryptoProtos.DecryptRequest)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.DecryptRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"newBuilder(DaprCryptoProtos.DecryptRequestOptions)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.DecryptRequestOptions)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"newBuilder(DaprCryptoProtos.DecryptResponse)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.DecryptResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"newBuilder(DaprCryptoProtos.EncryptRequest)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.EncryptRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"newBuilder(DaprCryptoProtos.EncryptRequestOptions)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.EncryptRequestOptions)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"newBuilder(DaprCryptoProtos.EncryptResponse)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.EncryptResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"newBuilder(DaprCryptoProtos.SubtleDecryptRequest)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleDecryptRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"newBuilder(DaprCryptoProtos.SubtleDecryptResponse)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleDecryptResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"newBuilder(DaprCryptoProtos.SubtleEncryptRequest)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleEncryptRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"newBuilder(DaprCryptoProtos.SubtleEncryptResponse)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleEncryptResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"newBuilder(DaprCryptoProtos.SubtleGetKeyRequest)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleGetKeyRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"newBuilder(DaprCryptoProtos.SubtleGetKeyResponse)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleGetKeyResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"newBuilder(DaprCryptoProtos.SubtleSignRequest)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleSignRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"newBuilder(DaprCryptoProtos.SubtleSignResponse)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleSignResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"newBuilder(DaprCryptoProtos.SubtleUnwrapKeyRequest)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleUnwrapKeyRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"newBuilder(DaprCryptoProtos.SubtleUnwrapKeyResponse)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleUnwrapKeyResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"newBuilder(DaprCryptoProtos.SubtleVerifyRequest)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleVerifyRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"newBuilder(DaprCryptoProtos.SubtleVerifyResponse)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleVerifyResponse)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"newBuilder(DaprCryptoProtos.SubtleWrapKeyRequest)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleWrapKeyRequest)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"newBuilder(DaprCryptoProtos.SubtleWrapKeyResponse)","u":"newBuilder(io.dapr.v1.DaprCryptoProtos.SubtleWrapKeyResponse)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"newBuilder(DaprInvokeProtos.InvokeServiceRequest)","u":"newBuilder(io.dapr.v1.DaprInvokeProtos.InvokeServiceRequest)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"newBuilder(DaprJobsProtos.DeleteJobRequest)","u":"newBuilder(io.dapr.v1.DaprJobsProtos.DeleteJobRequest)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"newBuilder(DaprJobsProtos.DeleteJobResponse)","u":"newBuilder(io.dapr.v1.DaprJobsProtos.DeleteJobResponse)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"newBuilder(DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1)","u":"newBuilder(io.dapr.v1.DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"newBuilder(DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1)","u":"newBuilder(io.dapr.v1.DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"newBuilder(DaprJobsProtos.GetJobRequest)","u":"newBuilder(io.dapr.v1.DaprJobsProtos.GetJobRequest)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"newBuilder(DaprJobsProtos.GetJobResponse)","u":"newBuilder(io.dapr.v1.DaprJobsProtos.GetJobResponse)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"newBuilder(DaprJobsProtos.Job)","u":"newBuilder(io.dapr.v1.DaprJobsProtos.Job)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"newBuilder(DaprJobsProtos.ListJobsRequestAlpha1)","u":"newBuilder(io.dapr.v1.DaprJobsProtos.ListJobsRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"newBuilder(DaprJobsProtos.ListJobsResponseAlpha1)","u":"newBuilder(io.dapr.v1.DaprJobsProtos.ListJobsResponseAlpha1)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"newBuilder(DaprJobsProtos.ScheduleJobRequest)","u":"newBuilder(io.dapr.v1.DaprJobsProtos.ScheduleJobRequest)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"newBuilder(DaprJobsProtos.ScheduleJobResponse)","u":"newBuilder(io.dapr.v1.DaprJobsProtos.ScheduleJobResponse)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"newBuilder(DaprLockProtos.TryLockRequest)","u":"newBuilder(io.dapr.v1.DaprLockProtos.TryLockRequest)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"newBuilder(DaprLockProtos.TryLockResponse)","u":"newBuilder(io.dapr.v1.DaprLockProtos.TryLockResponse)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"newBuilder(DaprLockProtos.UnlockRequest)","u":"newBuilder(io.dapr.v1.DaprLockProtos.UnlockRequest)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"newBuilder(DaprLockProtos.UnlockResponse)","u":"newBuilder(io.dapr.v1.DaprLockProtos.UnlockResponse)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"newBuilder(DaprMetadataProtos.ActiveActorsCount)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.ActiveActorsCount)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"newBuilder(DaprMetadataProtos.ActorRuntime)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.ActorRuntime)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"newBuilder(DaprMetadataProtos.AppConnectionHealthProperties)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.AppConnectionHealthProperties)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"newBuilder(DaprMetadataProtos.AppConnectionProperties)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.AppConnectionProperties)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"newBuilder(DaprMetadataProtos.GetMetadataRequest)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.GetMetadataRequest)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"newBuilder(DaprMetadataProtos.GetMetadataResponse)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.GetMetadataResponse)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"newBuilder(DaprMetadataProtos.MetadataHTTPEndpoint)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.MetadataHTTPEndpoint)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"newBuilder(DaprMetadataProtos.MetadataScheduler)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.MetadataScheduler)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"newBuilder(DaprMetadataProtos.MetadataWorkflows)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.MetadataWorkflows)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"newBuilder(DaprMetadataProtos.PubsubSubscription)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.PubsubSubscription)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"newBuilder(DaprMetadataProtos.PubsubSubscriptionRule)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRule)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"newBuilder(DaprMetadataProtos.PubsubSubscriptionRules)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRules)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"newBuilder(DaprMetadataProtos.RegisteredComponents)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.RegisteredComponents)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"newBuilder(DaprMetadataProtos.SetMetadataRequest)","u":"newBuilder(io.dapr.v1.DaprMetadataProtos.SetMetadataRequest)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"newBuilder(DaprProtos.ShutdownRequest)","u":"newBuilder(io.dapr.v1.DaprProtos.ShutdownRequest)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"newBuilder(DaprPubsubProtos.BulkPublishRequest)","u":"newBuilder(io.dapr.v1.DaprPubsubProtos.BulkPublishRequest)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"newBuilder(DaprPubsubProtos.BulkPublishRequestEntry)","u":"newBuilder(io.dapr.v1.DaprPubsubProtos.BulkPublishRequestEntry)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"newBuilder(DaprPubsubProtos.BulkPublishResponse)","u":"newBuilder(io.dapr.v1.DaprPubsubProtos.BulkPublishResponse)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"newBuilder(DaprPubsubProtos.BulkPublishResponseFailedEntry)","u":"newBuilder(io.dapr.v1.DaprPubsubProtos.BulkPublishResponseFailedEntry)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"newBuilder(DaprPubsubProtos.PublishEventRequest)","u":"newBuilder(io.dapr.v1.DaprPubsubProtos.PublishEventRequest)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"newBuilder(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1)","u":"newBuilder(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"newBuilder(DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1)","u":"newBuilder(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"newBuilder(DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1)","u":"newBuilder(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"newBuilder(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1)","u":"newBuilder(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"newBuilder(DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1)","u":"newBuilder(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"newBuilder(DaprSecretProtos.GetBulkSecretRequest)","u":"newBuilder(io.dapr.v1.DaprSecretProtos.GetBulkSecretRequest)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"newBuilder(DaprSecretProtos.GetBulkSecretResponse)","u":"newBuilder(io.dapr.v1.DaprSecretProtos.GetBulkSecretResponse)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"newBuilder(DaprSecretProtos.GetSecretRequest)","u":"newBuilder(io.dapr.v1.DaprSecretProtos.GetSecretRequest)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"newBuilder(DaprSecretProtos.GetSecretResponse)","u":"newBuilder(io.dapr.v1.DaprSecretProtos.GetSecretResponse)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"newBuilder(DaprSecretProtos.SecretResponse)","u":"newBuilder(io.dapr.v1.DaprSecretProtos.SecretResponse)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"newBuilder(DaprStateProtos.BulkStateItem)","u":"newBuilder(io.dapr.v1.DaprStateProtos.BulkStateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"newBuilder(DaprStateProtos.DeleteBulkStateRequest)","u":"newBuilder(io.dapr.v1.DaprStateProtos.DeleteBulkStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"newBuilder(DaprStateProtos.DeleteStateRequest)","u":"newBuilder(io.dapr.v1.DaprStateProtos.DeleteStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"newBuilder(DaprStateProtos.ExecuteStateTransactionRequest)","u":"newBuilder(io.dapr.v1.DaprStateProtos.ExecuteStateTransactionRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"newBuilder(DaprStateProtos.GetBulkStateRequest)","u":"newBuilder(io.dapr.v1.DaprStateProtos.GetBulkStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"newBuilder(DaprStateProtos.GetBulkStateResponse)","u":"newBuilder(io.dapr.v1.DaprStateProtos.GetBulkStateResponse)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"newBuilder(DaprStateProtos.GetStateRequest)","u":"newBuilder(io.dapr.v1.DaprStateProtos.GetStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"newBuilder(DaprStateProtos.GetStateResponse)","u":"newBuilder(io.dapr.v1.DaprStateProtos.GetStateResponse)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"newBuilder(DaprStateProtos.QueryStateItem)","u":"newBuilder(io.dapr.v1.DaprStateProtos.QueryStateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"newBuilder(DaprStateProtos.QueryStateRequest)","u":"newBuilder(io.dapr.v1.DaprStateProtos.QueryStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"newBuilder(DaprStateProtos.QueryStateResponse)","u":"newBuilder(io.dapr.v1.DaprStateProtos.QueryStateResponse)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"newBuilder(DaprStateProtos.SaveStateRequest)","u":"newBuilder(io.dapr.v1.DaprStateProtos.SaveStateRequest)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"newBuilder(DaprStateProtos.TransactionalStateOperation)","u":"newBuilder(io.dapr.v1.DaprStateProtos.TransactionalStateOperation)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"newBuilder(DaprWorkflowProtos.GetWorkflowRequest)","u":"newBuilder(io.dapr.v1.DaprWorkflowProtos.GetWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"newBuilder(DaprWorkflowProtos.GetWorkflowResponse)","u":"newBuilder(io.dapr.v1.DaprWorkflowProtos.GetWorkflowResponse)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"newBuilder(DaprWorkflowProtos.PauseWorkflowRequest)","u":"newBuilder(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"newBuilder(DaprWorkflowProtos.PurgeWorkflowRequest)","u":"newBuilder(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"newBuilder(DaprWorkflowProtos.RaiseEventWorkflowRequest)","u":"newBuilder(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"newBuilder(DaprWorkflowProtos.ResumeWorkflowRequest)","u":"newBuilder(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"newBuilder(DaprWorkflowProtos.StartWorkflowRequest)","u":"newBuilder(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"newBuilder(DaprWorkflowProtos.StartWorkflowResponse)","u":"newBuilder(io.dapr.v1.DaprWorkflowProtos.StartWorkflowResponse)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"newBuilder(DaprWorkflowProtos.TerminateWorkflowRequest)","u":"newBuilder(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"newBuilder(OrchestratorService.AbandonActivityTaskRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonActivityTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"newBuilder(OrchestratorService.AbandonActivityTaskResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonActivityTaskResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"newBuilder(OrchestratorService.AbandonEntityTaskRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonEntityTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"newBuilder(OrchestratorService.AbandonEntityTaskResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonEntityTaskResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"newBuilder(OrchestratorService.AbandonOrchestrationTaskRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonOrchestrationTaskRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"newBuilder(OrchestratorService.AbandonOrchestrationTaskResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.AbandonOrchestrationTaskResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"newBuilder(OrchestratorService.ActivityRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"newBuilder(OrchestratorService.ActivityResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"newBuilder(OrchestratorService.CleanEntityStorageRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CleanEntityStorageRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"newBuilder(OrchestratorService.CleanEntityStorageResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CleanEntityStorageResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"newBuilder(OrchestratorService.CompleteOrchestrationAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CompleteOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"newBuilder(OrchestratorService.CompleteTaskResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CompleteTaskResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"newBuilder(OrchestratorService.ContinueAsNewEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ContinueAsNewEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"newBuilder(OrchestratorService.CreateInstanceRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"newBuilder(OrchestratorService.CreateInstanceResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateInstanceResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"newBuilder(OrchestratorService.CreateSubOrchestrationAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateSubOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"newBuilder(OrchestratorService.CreateTaskHubRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTaskHubRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"newBuilder(OrchestratorService.CreateTaskHubResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTaskHubResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"newBuilder(OrchestratorService.CreateTimerAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTimerAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"newBuilder(OrchestratorService.DeleteTaskHubRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.DeleteTaskHubRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"newBuilder(OrchestratorService.DeleteTaskHubResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.DeleteTaskHubResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"newBuilder(OrchestratorService.EntityBatchRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"newBuilder(OrchestratorService.EntityBatchResult)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchResult)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"newBuilder(OrchestratorService.EntityLockGrantedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockGrantedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"newBuilder(OrchestratorService.EntityLockRequestedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockRequestedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"newBuilder(OrchestratorService.EntityMetadata)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityMetadata)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"newBuilder(OrchestratorService.EntityOperationCalledEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCalledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"newBuilder(OrchestratorService.EntityOperationCompletedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"newBuilder(OrchestratorService.EntityOperationFailedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"newBuilder(OrchestratorService.EntityOperationSignaledEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationSignaledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"newBuilder(OrchestratorService.EntityQuery)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityQuery)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"newBuilder(OrchestratorService.EntityRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"newBuilder(OrchestratorService.EntityUnlockSentEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityUnlockSentEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"newBuilder(OrchestratorService.EventRaisedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EventRaisedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"newBuilder(OrchestratorService.EventSentEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EventSentEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"newBuilder(OrchestratorService.ExecutionCompletedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"newBuilder(OrchestratorService.ExecutionResumedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionResumedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"newBuilder(OrchestratorService.ExecutionStalledEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionStalledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"newBuilder(OrchestratorService.ExecutionStartedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionStartedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"newBuilder(OrchestratorService.ExecutionSuspendedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionSuspendedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"newBuilder(OrchestratorService.ExecutionTerminatedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionTerminatedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"newBuilder(OrchestratorService.GenericEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GenericEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"newBuilder(OrchestratorService.GetEntityRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetEntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"newBuilder(OrchestratorService.GetEntityResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetEntityResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"newBuilder(OrchestratorService.GetInstanceHistoryRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceHistoryRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"newBuilder(OrchestratorService.GetInstanceHistoryResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceHistoryResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"newBuilder(OrchestratorService.GetInstanceRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"newBuilder(OrchestratorService.GetInstanceResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"newBuilder(OrchestratorService.GetWorkItemsRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetWorkItemsRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"newBuilder(OrchestratorService.HealthPing)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HealthPing)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"newBuilder(OrchestratorService.HistoryChunk)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryChunk)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"newBuilder(OrchestratorService.HistoryEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"newBuilder(OrchestratorService.HistoryStateEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryStateEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"newBuilder(OrchestratorService.InstanceQuery)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.InstanceQuery)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"newBuilder(OrchestratorService.ListInstanceIDsRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ListInstanceIDsRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"newBuilder(OrchestratorService.ListInstanceIDsResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ListInstanceIDsResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"newBuilder(OrchestratorService.OperationAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"newBuilder(OrchestratorService.OperationInfo)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"newBuilder(OrchestratorService.OperationRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"newBuilder(OrchestratorService.OperationResult)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResult)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"newBuilder(OrchestratorService.OperationResultFailure)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResultFailure)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"newBuilder(OrchestratorService.OperationResultSuccess)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResultSuccess)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"newBuilder(OrchestratorService.OrchestrationIdReusePolicy)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationIdReusePolicy)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"newBuilder(OrchestratorService.OrchestrationInstance)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"newBuilder(OrchestratorService.OrchestrationState)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"newBuilder(OrchestratorService.OrchestrationVersion)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationVersion)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"newBuilder(OrchestratorService.OrchestratorAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"newBuilder(OrchestratorService.OrchestratorCompletedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"newBuilder(OrchestratorService.OrchestratorEntityParameters)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorEntityParameters)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"newBuilder(OrchestratorService.OrchestratorRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"newBuilder(OrchestratorService.OrchestratorResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"newBuilder(OrchestratorService.OrchestratorStartedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorStartedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"newBuilder(OrchestratorService.OrchestratorVersionNotAvailableAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorVersionNotAvailableAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"newBuilder(OrchestratorService.ParentInstanceInfo)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"newBuilder(OrchestratorService.PurgeInstanceFilter)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstanceFilter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"newBuilder(OrchestratorService.PurgeInstancesRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstancesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"newBuilder(OrchestratorService.PurgeInstancesResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstancesResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"newBuilder(OrchestratorService.QueryEntitiesRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryEntitiesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"newBuilder(OrchestratorService.QueryEntitiesResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryEntitiesResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"newBuilder(OrchestratorService.QueryInstancesRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryInstancesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"newBuilder(OrchestratorService.QueryInstancesResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryInstancesResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"newBuilder(OrchestratorService.RaiseEventRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RaiseEventRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"newBuilder(OrchestratorService.RaiseEventResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RaiseEventResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"newBuilder(OrchestratorService.RerunParentInstanceInfo)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"newBuilder(OrchestratorService.RerunWorkflowFromEventRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunWorkflowFromEventRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"newBuilder(OrchestratorService.RerunWorkflowFromEventResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunWorkflowFromEventResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"newBuilder(OrchestratorService.ResumeRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ResumeRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"newBuilder(OrchestratorService.ResumeResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ResumeResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"newBuilder(OrchestratorService.RewindInstanceRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RewindInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"newBuilder(OrchestratorService.RewindInstanceResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RewindInstanceResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"newBuilder(OrchestratorService.ScheduleTaskAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ScheduleTaskAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"newBuilder(OrchestratorService.SendEntityMessageAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendEntityMessageAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"newBuilder(OrchestratorService.SendEventAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendEventAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"newBuilder(OrchestratorService.SendSignalAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendSignalAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"newBuilder(OrchestratorService.SignalEntityRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SignalEntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"newBuilder(OrchestratorService.SignalEntityResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SignalEntityResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"newBuilder(OrchestratorService.StartNewOrchestrationAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StartNewOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"newBuilder(OrchestratorService.StreamInstanceHistoryRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StreamInstanceHistoryRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"newBuilder(OrchestratorService.SubOrchestrationInstanceCompletedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"newBuilder(OrchestratorService.SubOrchestrationInstanceCreatedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceCreatedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"newBuilder(OrchestratorService.SubOrchestrationInstanceFailedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"newBuilder(OrchestratorService.SuspendRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SuspendRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"newBuilder(OrchestratorService.SuspendResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SuspendResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"newBuilder(OrchestratorService.TaskCompletedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"newBuilder(OrchestratorService.TaskFailedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"newBuilder(OrchestratorService.TaskFailureDetails)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"newBuilder(OrchestratorService.TaskRouter)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"newBuilder(OrchestratorService.TaskScheduledEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskScheduledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"newBuilder(OrchestratorService.TerminateOrchestrationAction)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"newBuilder(OrchestratorService.TerminateRequest)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"newBuilder(OrchestratorService.TerminateResponse)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateResponse)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"newBuilder(OrchestratorService.TimerCreatedEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TimerCreatedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"newBuilder(OrchestratorService.TimerFiredEvent)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TimerFiredEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"newBuilder(OrchestratorService.TraceContext)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"newBuilder(OrchestratorService.WorkItem)","u":"newBuilder(io.dapr.durabletask.implementation.protobuf.OrchestratorService.WorkItem)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"newBuilderForType()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"newBuilderForType()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"newBuilderForType(GeneratedMessageV3.BuilderParent)","u":"newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"NEWCHILDWORKFLOWINSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingSenderContext","l":"newContext(String, String)","u":"newContext(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"NEWEVENTS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"newFutureStub(Channel)","u":"newFutureStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc","l":"newFutureStub(Channel)","u":"newFutureStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"newFutureStub(Channel)","u":"newFutureStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc","l":"newFutureStub(Channel)","u":"newFutureStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"newFutureStub(Channel)","u":"newFutureStub(io.grpc.Channel)"},{"p":"io.dapr.client","c":"DaprClient","l":"newGrpcStub(String, Function)","u":"newGrpcStub(java.lang.String,java.util.function.Function)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"newGrpcStub(String, Function)","u":"newGrpcStub(java.lang.String,java.util.function.Function)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"newInstance(GeneratedMessageV3.UnusedPrivateParameter)","u":"newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"NEWINSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"NEWINSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.spring.messaging","c":"DaprMessagingOperations","l":"newMessage(T)"},{"p":"io.dapr.spring.messaging","c":"DaprMessagingTemplate","l":"newMessage(T)"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"NewOrchestrationInstanceOptions()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"newStub(Channel)","u":"newStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc","l":"newStub(Channel)","u":"newStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"newStub(Channel)","u":"newStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc","l":"newStub(Channel)","u":"newStub(io.grpc.Channel)"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"newStub(Channel)","u":"newStub(io.grpc.Channel)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"newUuid()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"newUuid()"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"newUuid()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"NEWVERSION_FIELD_NUMBER"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"NewWorkflowOptions()","u":"%3Cinit%3E()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"NONCE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"NONCE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"NONCE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"NONCE_FIELD_NUMBER"},{"p":"io.dapr.actors.runtime","c":"ActorStateChangeKind","l":"NONE"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"NONE"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"NONE"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"NONE"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"NONE_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"NUMEVENTSPROCESSED_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"OBJECT_MAPPER"},{"p":"io.dapr.client","c":"ObjectSerializer","l":"OBJECT_MAPPER"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"objectSerializer"},{"p":"io.dapr.client","c":"ObjectSerializer","l":"ObjectSerializer()","u":"%3Cinit%3E()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.MessageTypesCase","l":"OF_ASSISTANT"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"OF_ASSISTANT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.MessageTypesCase","l":"OF_DEVELOPER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"OF_DEVELOPER_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.MessageTypesCase","l":"OF_SYSTEM"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"OF_SYSTEM_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.MessageTypesCase","l":"OF_TOOL"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"OF_TOOL_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.MessageTypesCase","l":"OF_USER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"OF_USER_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"OK_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"OMIT_DECRYPTION_KEY_NAME_FIELD_NUMBER"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"onActivate()"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingStub","l":"onBindingEvent(DaprAppCallbackProtos.BindingEventRequest)","u":"onBindingEvent(io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingV2Stub","l":"onBindingEvent(DaprAppCallbackProtos.BindingEventRequest)","u":"onBindingEvent(io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackFutureStub","l":"onBindingEvent(DaprAppCallbackProtos.BindingEventRequest)","u":"onBindingEvent(io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackStub","l":"onBindingEvent(DaprAppCallbackProtos.BindingEventRequest, StreamObserver)","u":"onBindingEvent(io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AsyncService","l":"onBindingEvent(DaprAppCallbackProtos.BindingEventRequest, StreamObserver)","u":"onBindingEvent(io.dapr.v1.DaprAppCallbackProtos.BindingEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingStub","l":"onBulkTopicEvent(DaprAppCallbackProtos.TopicEventBulkRequest)","u":"onBulkTopicEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingV2Stub","l":"onBulkTopicEvent(DaprAppCallbackProtos.TopicEventBulkRequest)","u":"onBulkTopicEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackFutureStub","l":"onBulkTopicEvent(DaprAppCallbackProtos.TopicEventBulkRequest)","u":"onBulkTopicEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackStub","l":"onBulkTopicEvent(DaprAppCallbackProtos.TopicEventBulkRequest, StreamObserver)","u":"onBulkTopicEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AsyncService","l":"onBulkTopicEvent(DaprAppCallbackProtos.TopicEventBulkRequest, StreamObserver)","u":"onBulkTopicEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub","l":"onBulkTopicEventAlpha1(DaprAppCallbackProtos.TopicEventBulkRequest)","u":"onBulkTopicEventAlpha1(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaBlockingV2Stub","l":"onBulkTopicEventAlpha1(DaprAppCallbackProtos.TopicEventBulkRequest)","u":"onBulkTopicEventAlpha1(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub","l":"onBulkTopicEventAlpha1(DaprAppCallbackProtos.TopicEventBulkRequest)","u":"onBulkTopicEventAlpha1(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaStub","l":"onBulkTopicEventAlpha1(DaprAppCallbackProtos.TopicEventBulkRequest, StreamObserver)","u":"onBulkTopicEventAlpha1(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AsyncService","l":"onBulkTopicEventAlpha1(DaprAppCallbackProtos.TopicEventBulkRequest, StreamObserver)","u":"onBulkTopicEventAlpha1(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.internal.subscription","c":"EventSubscriberStreamObserver","l":"onCompleted()"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"onDeactivate()"},{"p":"io.dapr.client","c":"SubscriptionListener","l":"onError(RuntimeException)","u":"onError(java.lang.RuntimeException)"},{"p":"io.dapr.internal.subscription","c":"EventSubscriberStreamObserver","l":"onError(Throwable)","u":"onError(java.lang.Throwable)"},{"p":"io.dapr.client","c":"SubscriptionListener","l":"onEvent(CloudEvent)","u":"onEvent(io.dapr.client.domain.CloudEvent)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingStub","l":"onInvoke(CommonProtos.InvokeRequest)","u":"onInvoke(io.dapr.v1.CommonProtos.InvokeRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingV2Stub","l":"onInvoke(CommonProtos.InvokeRequest)","u":"onInvoke(io.dapr.v1.CommonProtos.InvokeRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackFutureStub","l":"onInvoke(CommonProtos.InvokeRequest)","u":"onInvoke(io.dapr.v1.CommonProtos.InvokeRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackStub","l":"onInvoke(CommonProtos.InvokeRequest, StreamObserver)","u":"onInvoke(io.dapr.v1.CommonProtos.InvokeRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AsyncService","l":"onInvoke(CommonProtos.InvokeRequest, StreamObserver)","u":"onInvoke(io.dapr.v1.CommonProtos.InvokeRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub","l":"onJobEventAlpha1(DaprAppCallbackProtos.JobEventRequest)","u":"onJobEventAlpha1(io.dapr.v1.DaprAppCallbackProtos.JobEventRequest)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaBlockingV2Stub","l":"onJobEventAlpha1(DaprAppCallbackProtos.JobEventRequest)","u":"onJobEventAlpha1(io.dapr.v1.DaprAppCallbackProtos.JobEventRequest)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub","l":"onJobEventAlpha1(DaprAppCallbackProtos.JobEventRequest)","u":"onJobEventAlpha1(io.dapr.v1.DaprAppCallbackProtos.JobEventRequest)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AppCallbackAlphaStub","l":"onJobEventAlpha1(DaprAppCallbackProtos.JobEventRequest, StreamObserver)","u":"onJobEventAlpha1(io.dapr.v1.DaprAppCallbackProtos.JobEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc.AsyncService","l":"onJobEventAlpha1(DaprAppCallbackProtos.JobEventRequest, StreamObserver)","u":"onJobEventAlpha1(io.dapr.v1.DaprAppCallbackProtos.JobEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.internal.subscription","c":"EventSubscriberStreamObserver","l":"onNext(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1)","u":"onNext(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1)"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"onPostActorMethod(ActorMethodContext)","u":"onPostActorMethod(io.dapr.actors.runtime.ActorMethodContext)"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"onPreActorMethod(ActorMethodContext)","u":"onPreActorMethod(io.dapr.actors.runtime.ActorMethodContext)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingStub","l":"onTopicEvent(DaprAppCallbackProtos.TopicEventRequest)","u":"onTopicEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackBlockingV2Stub","l":"onTopicEvent(DaprAppCallbackProtos.TopicEventRequest)","u":"onTopicEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackFutureStub","l":"onTopicEvent(DaprAppCallbackProtos.TopicEventRequest)","u":"onTopicEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AppCallbackStub","l":"onTopicEvent(DaprAppCallbackProtos.TopicEventRequest, StreamObserver)","u":"onTopicEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"AppCallbackGrpc.AsyncService","l":"onTopicEvent(DaprAppCallbackProtos.TopicEventRequest, StreamObserver)","u":"onTopicEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"OPERATION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"OPERATION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"OPERATION_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"OPERATION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.OperationActionTypeCase","l":"OPERATIONACTIONTYPE_NOT_SET"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"OPERATIONINFOS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"OPERATIONREQUESTS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"OPERATIONS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"OPERATIONS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"OPERATIONS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"OPERATIONSTATUS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"OPERATIONTYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"OPERATIONTYPE_FIELD_NUMBER"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"OPTIONS"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"OPTIONS"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"OPTIONS"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"OPTIONS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"OPTIONS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"OPTIONS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"OPTIONS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"OPTIONS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"OPTIONS_VALUE"},{"p":"io.dapr.spring.data.repository.query","c":"DaprPredicateQueryCreator","l":"or(Predicate, Predicate)","u":"or(java.util.function.Predicate,java.util.function.Predicate)"},{"p":"io.dapr.spring6.data.repository.query","c":"DaprPredicateQueryCreator","l":"or(Predicate, Predicate)","u":"or(java.util.function.Predicate,java.util.function.Predicate)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_CANCELED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_CANCELED_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_COMPLETED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_COMPLETED_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_CONTINUED_AS_NEW"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_CONTINUED_AS_NEW_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_FAILED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_FAILED_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_PENDING"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_PENDING_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_RUNNING"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_RUNNING_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_STALLED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_STALLED_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_SUSPENDED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_SUSPENDED_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_TERMINATED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"ORCHESTRATION_STATUS_TERMINATED_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"ORCHESTRATIONIDREUSEPOLICY_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"ORCHESTRATIONINSTANCE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"ORCHESTRATIONINSTANCE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"ORCHESTRATIONINSTANCE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"ORCHESTRATIONSPANID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"ORCHESTRATIONSTATE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"ORCHESTRATIONSTATE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"ORCHESTRATIONSTATE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"ORCHESTRATIONSTATUS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"ORCHESTRATIONSTATUS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"ORCHESTRATIONSTATUS_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"OrchestrationStatusQuery()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"ORCHESTRATORACTIONTYPE_NOT_SET"},{"p":"io.dapr.durabletask.interruption","c":"OrchestratorBlockedException","l":"OrchestratorBlockedException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"ORCHESTRATORCOMPLETED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"ORCHESTRATORCOMPLETED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.RequestCase","l":"ORCHESTRATORREQUEST"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"ORCHESTRATORREQUEST_FIELD_NUMBER"},{"p":"io.dapr.durabletask.runner","c":"OrchestratorRunner","l":"OrchestratorRunner(OrchestratorService.WorkItem, TaskOrchestrationExecutor, TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub, Tracer)","u":"%3Cinit%3E(io.dapr.durabletask.implementation.protobuf.OrchestratorService.WorkItem,io.dapr.durabletask.TaskOrchestrationExecutor,io.dapr.durabletask.implementation.protobuf.TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub,io.opentelemetry.api.trace.Tracer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"ORCHESTRATORSTARTED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"ORCHESTRATORSTARTED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"ORCHESTRATORVERSIONNOTAVAILABLE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"ORCHESTRATORVERSIONNOTAVAILABLE_FIELD_NUMBER"},{"p":"io.dapr.client.domain.query.filters","c":"OrFilter","l":"OrFilter()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"ORPHANEDLOCKSRELEASED_FIELD_NUMBER"},{"p":"io.dapr.testcontainers","c":"OtelTracingConfigurationSettings","l":"OtelTracingConfigurationSettings(String, Boolean, String)","u":"%3Cinit%3E(java.lang.String,java.lang.Boolean,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"OUTPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"OUTPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"OUTPUT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"OUTPUTS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"OUTPUTS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"OVERWRITE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"OVERWRITE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"OVERWRITEINPUT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"PAGESIZE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"PAGESIZE_FIELD_NUMBER"},{"p":"io.dapr.client.domain.query","c":"Pagination","l":"Pagination(int, String)","u":"%3Cinit%3E(int,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"PARALLEL"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"PARALLEL_VALUE"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"PARALLELISM_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"PARAMETERS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"PARAMETERS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"PARAMETERS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"PARAMETERS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"PARENTEXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"PARENTINSTANCE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"PARENTINSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"PARENTINSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"PARENTINSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"PARENTINSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"PARENTTRACECONTEXT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"PARENTTRACECONTEXT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"PARENTTRACECONTEXT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"PARENTTRACECONTEXT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"PARENTTRACECONTEXT_FIELD_NUMBER"},{"p":"io.dapr.config","c":"BooleanProperty","l":"parse(String)","u":"parse(java.lang.String)"},{"p":"io.dapr.config","c":"GenericProperty","l":"parse(String)","u":"parse(java.lang.String)"},{"p":"io.dapr.config","c":"IntegerProperty","l":"parse(String)","u":"parse(java.lang.String)"},{"p":"io.dapr.config","c":"MillisecondsDurationProperty","l":"parse(String)","u":"parse(java.lang.String)"},{"p":"io.dapr.config","c":"Property","l":"parse(String)","u":"parse(java.lang.String)"},{"p":"io.dapr.config","c":"SecondsDurationProperty","l":"parse(String)","u":"parse(java.lang.String)"},{"p":"io.dapr.config","c":"StringProperty","l":"parse(String)","u":"parse(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseDelimitedFrom(InputStream)","u":"parseDelimitedFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseDelimitedFrom(InputStream, ExtensionRegistryLite)","u":"parseDelimitedFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseFrom(byte[])"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseFrom(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseFrom(byte[], ExtensionRegistryLite)","u":"parseFrom(byte[],com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseFrom(ByteBuffer)","u":"parseFrom(java.nio.ByteBuffer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseFrom(ByteBuffer, ExtensionRegistryLite)","u":"parseFrom(java.nio.ByteBuffer,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseFrom(ByteString)","u":"parseFrom(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseFrom(ByteString, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.ByteString,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseFrom(CodedInputStream)","u":"parseFrom(com.google.protobuf.CodedInputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseFrom(CodedInputStream, ExtensionRegistryLite)","u":"parseFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseFrom(InputStream)","u":"parseFrom(java.io.InputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parseFrom(InputStream, ExtensionRegistryLite)","u":"parseFrom(java.io.InputStream,com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.internal.exceptions","c":"DaprHttpException","l":"parseHttpStatusCode(String)","u":"parseHttpStatusCode(java.lang.String)"},{"p":"io.dapr.client","c":"ObjectSerializer","l":"parseNode(byte[])"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"parser()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"parser()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"parser()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"parser()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"parser()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"parser()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"parser()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"parser()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"parser()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"parser()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"parser()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"parser()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"parser()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"parser()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"parser()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"parser()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"parser()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"parser()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"parser()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"parser()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"parser()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"parser()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"parser()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"parser()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"parser()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"parser()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"parser()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"parser()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"parser()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"parser()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"PASTEVENTS_FIELD_NUMBER"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"PATCH"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"PATCH"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"PATCH"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"PATCH_MISMATCH"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"PATCH_MISMATCH_VALUE"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"PATCH_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"PATCHES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"PATH_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"PATH_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"PATH_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"PATH_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"pauseWorkflowAlpha1(DaprWorkflowProtos.PauseWorkflowRequest)","u":"pauseWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"pauseWorkflowAlpha1(DaprWorkflowProtos.PauseWorkflowRequest)","u":"pauseWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"pauseWorkflowAlpha1(DaprWorkflowProtos.PauseWorkflowRequest)","u":"pauseWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"pauseWorkflowAlpha1(DaprWorkflowProtos.PauseWorkflowRequest, StreamObserver)","u":"pauseWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"pauseWorkflowAlpha1(DaprWorkflowProtos.PauseWorkflowRequest, StreamObserver)","u":"pauseWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"pauseWorkflowBeta1(DaprWorkflowProtos.PauseWorkflowRequest)","u":"pauseWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"pauseWorkflowBeta1(DaprWorkflowProtos.PauseWorkflowRequest)","u":"pauseWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"pauseWorkflowBeta1(DaprWorkflowProtos.PauseWorkflowRequest)","u":"pauseWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"pauseWorkflowBeta1(DaprWorkflowProtos.PauseWorkflowRequest, StreamObserver)","u":"pauseWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"pauseWorkflowBeta1(DaprWorkflowProtos.PauseWorkflowRequest, StreamObserver)","u":"pauseWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.PauseWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"PAYLOAD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"PAYLOAD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"PAYLOAD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"PAYLOAD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"PEM"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"PEM_VALUE"},{"p":"io.dapr.durabletask","c":"OrchestrationRuntimeStatus","l":"PENDING"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"PENDING"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"PERIOD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"PERIOD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"PERIOD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"PERIOD_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"PLACEMENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"PLAINTEXT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"PLAINTEXT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"PLAINTEXT_KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"PLAINTEXT_KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.PolicyCase","l":"POLICY_NOT_SET"},{"p":"io.dapr.internal.opencensus","c":"GrpcHelper","l":"populateMetadata(ContextView, Metadata)","u":"populateMetadata(reactor.util.context.ContextView,io.grpc.Metadata)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"PORT_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClientBuilder","l":"port(int)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorkerBuilder","l":"port(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"POSITION_FIELD_NUMBER"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"POST"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"POST"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"POST"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"POST_VALUE"},{"p":"io.dapr.spring.data","c":"PostgreSQLDaprKeyValueAdapter","l":"PostgreSQLDaprKeyValueAdapter(DaprClient, ObjectMapper, String, String)","u":"%3Cinit%3E(io.dapr.client.DaprClient,com.fasterxml.jackson.databind.ObjectMapper,java.lang.String,java.lang.String)"},{"p":"io.dapr.spring6.data","c":"PostgreSQLDaprKeyValueAdapter","l":"PostgreSQLDaprKeyValueAdapter(DaprClient, ObjectMapper, String, String)","u":"%3Cinit%3E(io.dapr.client.DaprClient,com.fasterxml.jackson.databind.ObjectMapper,java.lang.String,java.lang.String)"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"PRECONDITION_FAILURE"},{"p":"io.dapr","c":"Rule","l":"priority()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"PROGRAMMATIC"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"PROGRAMMATIC_VALUE"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"PROMPT_CACHE_RETENTION_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"PROMPT_TOKENS_DETAILS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"PROMPT_TOKENS_FIELD_NUMBER"},{"p":"io.dapr.exceptions","c":"DaprException","l":"propagate(Throwable)","u":"propagate(java.lang.Throwable)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"PROPERTIES_FIELD_NUMBER"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingSenderContext.Carrier","l":"properties()"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingSenderContext","l":"properties()"},{"p":"io.dapr.config","c":"Properties","l":"Properties()","u":"%3Cinit%3E()"},{"p":"io.dapr.config","c":"Properties","l":"Properties(Map)","u":"%3Cinit%3E(java.util.Map)"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingSenderContext.Carrier","l":"property(String, String)","u":"property(java.lang.String,java.lang.String)"},{"p":"io.dapr.utils","c":"ProtobufUtils","l":"ProtobufUtils()","u":"%3Cinit%3E()"},{"p":"io.dapr.client","c":"ProtobufValueHelper","l":"ProtobufValueHelper()","u":"%3Cinit%3E()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"PROTOCOL_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"PUBLIC_KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"publishEvent(DaprPubsubProtos.PublishEventRequest)","u":"publishEvent(io.dapr.v1.DaprPubsubProtos.PublishEventRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"publishEvent(DaprPubsubProtos.PublishEventRequest)","u":"publishEvent(io.dapr.v1.DaprPubsubProtos.PublishEventRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"publishEvent(DaprPubsubProtos.PublishEventRequest)","u":"publishEvent(io.dapr.v1.DaprPubsubProtos.PublishEventRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"publishEvent(DaprPubsubProtos.PublishEventRequest, StreamObserver)","u":"publishEvent(io.dapr.v1.DaprPubsubProtos.PublishEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"publishEvent(DaprPubsubProtos.PublishEventRequest, StreamObserver)","u":"publishEvent(io.dapr.v1.DaprPubsubProtos.PublishEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClient","l":"publishEvent(PublishEventRequest)","u":"publishEvent(io.dapr.client.domain.PublishEventRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"publishEvent(PublishEventRequest)","u":"publishEvent(io.dapr.client.domain.PublishEventRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"publishEvent(String, String, Object)","u":"publishEvent(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.client","c":"DaprClient","l":"publishEvent(String, String, Object)","u":"publishEvent(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"publishEvent(String, String, Object, Map)","u":"publishEvent(java.lang.String,java.lang.String,java.lang.Object,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClient","l":"publishEvent(String, String, Object, Map)","u":"publishEvent(java.lang.String,java.lang.String,java.lang.Object,java.util.Map)"},{"p":"io.dapr.client.domain","c":"PublishEventRequest","l":"PublishEventRequest(String, String, Object)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.client","c":"DaprClient","l":"publishEvents(BulkPublishRequest)","u":"publishEvents(io.dapr.client.domain.BulkPublishRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"publishEvents(BulkPublishRequest)","u":"publishEvents(io.dapr.client.domain.BulkPublishRequest)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"publishEvents(BulkPublishRequest)","u":"publishEvents(io.dapr.client.domain.BulkPublishRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"publishEvents(String, String, String, List)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,java.util.List)"},{"p":"io.dapr.client","c":"DaprClient","l":"publishEvents(String, String, String, List)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,java.util.List)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"publishEvents(String, String, String, List)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,java.util.List)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"publishEvents(String, String, String, Map, List)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,java.util.Map,java.util.List)"},{"p":"io.dapr.client","c":"DaprClient","l":"publishEvents(String, String, String, Map, List)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,java.util.Map,java.util.List)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"publishEvents(String, String, String, Map, List)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,java.util.Map,java.util.List)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"publishEvents(String, String, String, Map, T...)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,java.util.Map,T...)"},{"p":"io.dapr.client","c":"DaprClient","l":"publishEvents(String, String, String, Map, T...)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,java.util.Map,T...)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"publishEvents(String, String, String, Map, T...)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,java.util.Map,T...)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"publishEvents(String, String, String, T...)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,T...)"},{"p":"io.dapr.client","c":"DaprClient","l":"publishEvents(String, String, String, T...)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,T...)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"publishEvents(String, String, String, T...)","u":"publishEvents(java.lang.String,java.lang.String,java.lang.String,T...)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"PUBSUB_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"PUBSUB_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"PUBSUB_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"PUBSUB_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"PUBSUB_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"PUBSUB_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"PUBSUB_NAME_FIELD_NUMBER"},{"p":"io.dapr","c":"Topic","l":"pubsubName()"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"purgeInstance(String)","u":"purgeInstance(java.lang.String)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"purgeInstance(String)","u":"purgeInstance(java.lang.String)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"purgeInstance(String)","u":"purgeInstance(java.lang.String)"},{"p":"io.dapr.durabletask","c":"PurgeInstanceCriteria","l":"PurgeInstanceCriteria()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.RequestCase","l":"PURGEINSTANCEFILTER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"PURGEINSTANCEFILTER_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"purgeInstances(OrchestratorService.PurgeInstancesRequest)","u":"purgeInstances(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstancesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"purgeInstances(OrchestratorService.PurgeInstancesRequest)","u":"purgeInstances(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstancesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"purgeInstances(OrchestratorService.PurgeInstancesRequest)","u":"purgeInstances(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstancesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"purgeInstances(OrchestratorService.PurgeInstancesRequest, StreamObserver)","u":"purgeInstances(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstancesRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"purgeInstances(OrchestratorService.PurgeInstancesRequest, StreamObserver)","u":"purgeInstances(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstancesRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"purgeInstances(PurgeInstanceCriteria)","u":"purgeInstances(io.dapr.durabletask.PurgeInstanceCriteria)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"purgeInstances(PurgeInstanceCriteria)","u":"purgeInstances(io.dapr.durabletask.PurgeInstanceCriteria)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"purgeWorkflow(String)","u":"purgeWorkflow(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"purgeWorkflowAlpha1(DaprWorkflowProtos.PurgeWorkflowRequest)","u":"purgeWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"purgeWorkflowAlpha1(DaprWorkflowProtos.PurgeWorkflowRequest)","u":"purgeWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"purgeWorkflowAlpha1(DaprWorkflowProtos.PurgeWorkflowRequest)","u":"purgeWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"purgeWorkflowAlpha1(DaprWorkflowProtos.PurgeWorkflowRequest, StreamObserver)","u":"purgeWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"purgeWorkflowAlpha1(DaprWorkflowProtos.PurgeWorkflowRequest, StreamObserver)","u":"purgeWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"purgeWorkflowBeta1(DaprWorkflowProtos.PurgeWorkflowRequest)","u":"purgeWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"purgeWorkflowBeta1(DaprWorkflowProtos.PurgeWorkflowRequest)","u":"purgeWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"purgeWorkflowBeta1(DaprWorkflowProtos.PurgeWorkflowRequest)","u":"purgeWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"purgeWorkflowBeta1(DaprWorkflowProtos.PurgeWorkflowRequest, StreamObserver)","u":"purgeWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"purgeWorkflowBeta1(DaprWorkflowProtos.PurgeWorkflowRequest, StreamObserver)","u":"purgeWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.PurgeWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"PUT"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"PUT"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"PUT"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"PUT_VALUE"},{"p":"io.dapr.spring.data","c":"AbstractDaprKeyValueAdapter","l":"put(Object, Object, String)","u":"put(java.lang.Object,java.lang.Object,java.lang.String)"},{"p":"io.dapr.spring6.data","c":"AbstractDaprKeyValueAdapter","l":"put(Object, Object, String)","u":"put(java.lang.Object,java.lang.Object,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"putAllData(Map)","u":"putAllData(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"putAllData(Map)","u":"putAllData(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"putAllExtendedMetadata(Map)","u":"putAllExtendedMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"putAllItems(Map)","u":"putAllItems(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"putAllItems(Map)","u":"putAllItems(java.util.Map)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"putAllMetadata(Map)","u":"putAllMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"putAllOptions(Map)","u":"putAllOptions(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"putAllParameters(Map)","u":"putAllParameters(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"putAllParameters(Map)","u":"putAllParameters(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"putAllParameters(Map)","u":"putAllParameters(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"putAllProperties(Map)","u":"putAllProperties(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"putAllSecrets(Map)","u":"putAllSecrets(java.util.Map)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"putAllTags(Map)","u":"putAllTags(java.util.Map)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"putAllTags(Map)","u":"putAllTags(java.util.Map)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"putAllTags(Map)","u":"putAllTags(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"putData(String, DaprSecretProtos.SecretResponse)","u":"putData(java.lang.String,io.dapr.v1.DaprSecretProtos.SecretResponse)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"putData(String, String)","u":"putData(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"putDataBuilderIfAbsent(String)","u":"putDataBuilderIfAbsent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"putExtendedMetadata(String, String)","u":"putExtendedMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"putItems(String, CommonProtos.ConfigurationItem)","u":"putItems(java.lang.String,io.dapr.v1.CommonProtos.ConfigurationItem)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"putItems(String, CommonProtos.ConfigurationItem)","u":"putItems(java.lang.String,io.dapr.v1.CommonProtos.ConfigurationItem)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"putItemsBuilderIfAbsent(String)","u":"putItemsBuilderIfAbsent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"putItemsBuilderIfAbsent(String)","u":"putItemsBuilderIfAbsent(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"putMetadata(String, String)","u":"putMetadata(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"putOptions(String, String)","u":"putOptions(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"putParameters(String, Any)","u":"putParameters(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"putParameters(String, Any)","u":"putParameters(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"putParameters(String, Any)","u":"putParameters(java.lang.String,com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"putParametersBuilderIfAbsent(String)","u":"putParametersBuilderIfAbsent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"putParametersBuilderIfAbsent(String)","u":"putParametersBuilderIfAbsent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"putParametersBuilderIfAbsent(String)","u":"putParametersBuilderIfAbsent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"putProperties(String, String)","u":"putProperties(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"putSecrets(String, String)","u":"putSecrets(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"putTags(String, String)","u":"putTags(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"putTags(String, String)","u":"putTags(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"putTags(String, String)","u":"putTags(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"QUERY_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"QUERY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"QUERY_FIELD_NUMBER"},{"p":"io.dapr.client.domain.query","c":"Query","l":"Query()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"queryEntities(OrchestratorService.QueryEntitiesRequest)","u":"queryEntities(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryEntitiesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"queryEntities(OrchestratorService.QueryEntitiesRequest)","u":"queryEntities(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryEntitiesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"queryEntities(OrchestratorService.QueryEntitiesRequest)","u":"queryEntities(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryEntitiesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"queryEntities(OrchestratorService.QueryEntitiesRequest, StreamObserver)","u":"queryEntities(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryEntitiesRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"queryEntities(OrchestratorService.QueryEntitiesRequest, StreamObserver)","u":"queryEntities(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryEntitiesRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"queryInstances(OrchestrationStatusQuery)","u":"queryInstances(io.dapr.durabletask.OrchestrationStatusQuery)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"queryInstances(OrchestrationStatusQuery)","u":"queryInstances(io.dapr.durabletask.OrchestrationStatusQuery)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"queryInstances(OrchestratorService.QueryInstancesRequest)","u":"queryInstances(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryInstancesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"queryInstances(OrchestratorService.QueryInstancesRequest)","u":"queryInstances(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryInstancesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"queryInstances(OrchestratorService.QueryInstancesRequest)","u":"queryInstances(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryInstancesRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"queryInstances(OrchestratorService.QueryInstancesRequest, StreamObserver)","u":"queryInstances(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryInstancesRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"queryInstances(OrchestratorService.QueryInstancesRequest, StreamObserver)","u":"queryInstances(io.dapr.durabletask.implementation.protobuf.OrchestratorService.QueryInstancesRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"queryLookupStrategy()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"queryLookupStrategy()"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"queryState(QueryStateRequest, Class)","u":"queryState(io.dapr.client.domain.QueryStateRequest,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"queryState(QueryStateRequest, Class)","u":"queryState(io.dapr.client.domain.QueryStateRequest,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"queryState(QueryStateRequest, TypeRef)","u":"queryState(io.dapr.client.domain.QueryStateRequest,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"queryState(QueryStateRequest, TypeRef)","u":"queryState(io.dapr.client.domain.QueryStateRequest,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"queryState(String, Query, Class)","u":"queryState(java.lang.String,io.dapr.client.domain.query.Query,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"queryState(String, Query, Class)","u":"queryState(java.lang.String,io.dapr.client.domain.query.Query,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"queryState(String, Query, Map, Class)","u":"queryState(java.lang.String,io.dapr.client.domain.query.Query,java.util.Map,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"queryState(String, Query, Map, Class)","u":"queryState(java.lang.String,io.dapr.client.domain.query.Query,java.util.Map,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"queryState(String, Query, Map, TypeRef)","u":"queryState(java.lang.String,io.dapr.client.domain.query.Query,java.util.Map,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"queryState(String, Query, Map, TypeRef)","u":"queryState(java.lang.String,io.dapr.client.domain.query.Query,java.util.Map,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"queryState(String, Query, TypeRef)","u":"queryState(java.lang.String,io.dapr.client.domain.query.Query,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"queryState(String, Query, TypeRef)","u":"queryState(java.lang.String,io.dapr.client.domain.query.Query,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"queryState(String, String, Class)","u":"queryState(java.lang.String,java.lang.String,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"queryState(String, String, Class)","u":"queryState(java.lang.String,java.lang.String,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"queryState(String, String, Map, Class)","u":"queryState(java.lang.String,java.lang.String,java.util.Map,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"queryState(String, String, Map, Class)","u":"queryState(java.lang.String,java.lang.String,java.util.Map,java.lang.Class)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"queryState(String, String, Map, TypeRef)","u":"queryState(java.lang.String,java.lang.String,java.util.Map,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"queryState(String, String, Map, TypeRef)","u":"queryState(java.lang.String,java.lang.String,java.util.Map,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"queryState(String, String, TypeRef)","u":"queryState(java.lang.String,java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"queryState(String, String, TypeRef)","u":"queryState(java.lang.String,java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"queryStateAlpha1(DaprStateProtos.QueryStateRequest)","u":"queryStateAlpha1(io.dapr.v1.DaprStateProtos.QueryStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"queryStateAlpha1(DaprStateProtos.QueryStateRequest)","u":"queryStateAlpha1(io.dapr.v1.DaprStateProtos.QueryStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"queryStateAlpha1(DaprStateProtos.QueryStateRequest)","u":"queryStateAlpha1(io.dapr.v1.DaprStateProtos.QueryStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"queryStateAlpha1(DaprStateProtos.QueryStateRequest, StreamObserver)","u":"queryStateAlpha1(io.dapr.v1.DaprStateProtos.QueryStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"queryStateAlpha1(DaprStateProtos.QueryStateRequest, StreamObserver)","u":"queryStateAlpha1(io.dapr.v1.DaprStateProtos.QueryStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"QueryStateItem","l":"QueryStateItem(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.client.domain","c":"QueryStateItem","l":"QueryStateItem(String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"io.dapr.client.domain","c":"QueryStateItem","l":"QueryStateItem(String, T, String)","u":"%3Cinit%3E(java.lang.String,T,java.lang.String)"},{"p":"io.dapr.client.domain","c":"QueryStateRequest","l":"QueryStateRequest(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.client.domain","c":"QueryStateResponse","l":"QueryStateResponse(List>, String)","u":"%3Cinit%3E(java.util.List,java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"QUERYSTRING_FIELD_NUMBER"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"QUOTA_FAILURE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"raiseEvent(OrchestratorService.RaiseEventRequest)","u":"raiseEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RaiseEventRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"raiseEvent(OrchestratorService.RaiseEventRequest)","u":"raiseEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RaiseEventRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"raiseEvent(OrchestratorService.RaiseEventRequest)","u":"raiseEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RaiseEventRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"raiseEvent(OrchestratorService.RaiseEventRequest, StreamObserver)","u":"raiseEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RaiseEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"raiseEvent(OrchestratorService.RaiseEventRequest, StreamObserver)","u":"raiseEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RaiseEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"raiseEvent(String, String)","u":"raiseEvent(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"raiseEvent(String, String, Object)","u":"raiseEvent(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"raiseEvent(String, String, Object)","u":"raiseEvent(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"raiseEvent(String, String, Object)","u":"raiseEvent(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"raiseEventWorkflowAlpha1(DaprWorkflowProtos.RaiseEventWorkflowRequest)","u":"raiseEventWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"raiseEventWorkflowAlpha1(DaprWorkflowProtos.RaiseEventWorkflowRequest)","u":"raiseEventWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"raiseEventWorkflowAlpha1(DaprWorkflowProtos.RaiseEventWorkflowRequest)","u":"raiseEventWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"raiseEventWorkflowAlpha1(DaprWorkflowProtos.RaiseEventWorkflowRequest, StreamObserver)","u":"raiseEventWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"raiseEventWorkflowAlpha1(DaprWorkflowProtos.RaiseEventWorkflowRequest, StreamObserver)","u":"raiseEventWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"raiseEventWorkflowBeta1(DaprWorkflowProtos.RaiseEventWorkflowRequest)","u":"raiseEventWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"raiseEventWorkflowBeta1(DaprWorkflowProtos.RaiseEventWorkflowRequest)","u":"raiseEventWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"raiseEventWorkflowBeta1(DaprWorkflowProtos.RaiseEventWorkflowRequest)","u":"raiseEventWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"raiseEventWorkflowBeta1(DaprWorkflowProtos.RaiseEventWorkflowRequest, StreamObserver)","u":"raiseEventWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"raiseEventWorkflowBeta1(DaprWorkflowProtos.RaiseEventWorkflowRequest, StreamObserver)","u":"raiseEventWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.RaiseEventWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"readCustomStatusAs(Class)","u":"readCustomStatusAs(java.lang.Class)"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"readInputAs(Class)","u":"readInputAs(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"readInputAs(Class)","u":"readInputAs(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"readInputAs(Class)","u":"readInputAs(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"readInputAs(Class)","u":"readInputAs(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"readInputAs(Class)","u":"readInputAs(java.lang.Class)"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"readOutputAs(Class)","u":"readOutputAs(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"WorkflowInstanceStatus","l":"readOutputAs(Class)","u":"readOutputAs(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"WorkflowState","l":"readOutputAs(Class)","u":"readOutputAs(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"readOutputAs(Class)","u":"readOutputAs(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"readOutputAs(Class)","u":"readOutputAs(java.lang.Class)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"REASON_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"REASON_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"REASON_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"REASON_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"REASON_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"REASONING_TOKENS_FIELD_NUMBER"},{"p":"io.dapr.actors.runtime","c":"Remindable","l":"receiveReminder(String, T, Duration, Duration)","u":"receiveReminder(java.lang.String,T,java.time.Duration,java.time.Duration)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"RECREATEIFEXISTS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"RECURSE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"RECURSE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"RECURSIVE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"RECURSIVE_FIELD_NUMBER"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerActivity(Class)","u":"registerActivity(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerActivity(String, Class)","u":"registerActivity(java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerActivity(String, T)","u":"registerActivity(java.lang.String,T)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerActivity(T)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"registerActor(Class)","u":"registerActor(java.lang.Class)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"registerActor(Class, ActorFactory)","u":"registerActor(java.lang.Class,io.dapr.actors.runtime.ActorFactory)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"registerActor(Class, ActorFactory, DaprObjectSerializer, DaprObjectSerializer)","u":"registerActor(java.lang.Class,io.dapr.actors.runtime.ActorFactory,io.dapr.serializer.DaprObjectSerializer,io.dapr.serializer.DaprObjectSerializer)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"registerActor(Class, DaprObjectSerializer, DaprObjectSerializer)","u":"registerActor(java.lang.Class,io.dapr.serializer.DaprObjectSerializer,io.dapr.serializer.DaprObjectSerializer)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"registerActorReminder(DaprActorsProtos.RegisterActorReminderRequest)","u":"registerActorReminder(io.dapr.v1.DaprActorsProtos.RegisterActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"registerActorReminder(DaprActorsProtos.RegisterActorReminderRequest)","u":"registerActorReminder(io.dapr.v1.DaprActorsProtos.RegisterActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"registerActorReminder(DaprActorsProtos.RegisterActorReminderRequest)","u":"registerActorReminder(io.dapr.v1.DaprActorsProtos.RegisterActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"registerActorReminder(DaprActorsProtos.RegisterActorReminderRequest, StreamObserver)","u":"registerActorReminder(io.dapr.v1.DaprActorsProtos.RegisterActorReminderRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"registerActorReminder(DaprActorsProtos.RegisterActorReminderRequest, StreamObserver)","u":"registerActorReminder(io.dapr.v1.DaprActorsProtos.RegisterActorReminderRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"registerActorTimer(DaprActorsProtos.RegisterActorTimerRequest)","u":"registerActorTimer(io.dapr.v1.DaprActorsProtos.RegisterActorTimerRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"registerActorTimer(DaprActorsProtos.RegisterActorTimerRequest)","u":"registerActorTimer(io.dapr.v1.DaprActorsProtos.RegisterActorTimerRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"registerActorTimer(DaprActorsProtos.RegisterActorTimerRequest)","u":"registerActorTimer(io.dapr.v1.DaprActorsProtos.RegisterActorTimerRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"registerActorTimer(DaprActorsProtos.RegisterActorTimerRequest, StreamObserver)","u":"registerActorTimer(io.dapr.v1.DaprActorsProtos.RegisterActorTimerRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"registerActorTimer(DaprActorsProtos.RegisterActorTimerRequest, StreamObserver)","u":"registerActorTimer(io.dapr.v1.DaprActorsProtos.RegisterActorTimerRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"registerActorTimer(String, String, T, Duration, Duration)","u":"registerActorTimer(java.lang.String,java.lang.String,T,java.time.Duration,java.time.Duration)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"CommonProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprActorsProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprAiProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprJobsProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprLockProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprSecretProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprStateProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos","l":"registerAllExtensions(ExtensionRegistry)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistry)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"CommonProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprActorsProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAiProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprJobsProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprLockProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprSecretProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprStateProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos","l":"registerAllExtensions(ExtensionRegistryLite)","u":"registerAllExtensions(com.google.protobuf.ExtensionRegistryLite)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"REGISTERED_COMPONENTS_FIELD_NUMBER"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"registerReminder(String, T, Duration, Duration)","u":"registerReminder(java.lang.String,T,java.time.Duration,java.time.Duration)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerTaskActivityFactory(String, TaskActivityFactory)","u":"registerTaskActivityFactory(java.lang.String,io.dapr.durabletask.TaskActivityFactory)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerTaskOrchestrationFactory(String, TaskOrchestrationFactory)","u":"registerTaskOrchestrationFactory(java.lang.String,io.dapr.durabletask.orchestration.TaskOrchestrationFactory)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerWorkflow(Class)","u":"registerWorkflow(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerWorkflow(String, Class)","u":"registerWorkflow(java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerWorkflow(String, Class, String, Boolean)","u":"registerWorkflow(java.lang.String,java.lang.Class,java.lang.String,java.lang.Boolean)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerWorkflow(String, T, String, Boolean)","u":"registerWorkflow(java.lang.String,T,java.lang.String,java.lang.Boolean)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"registerWorkflow(T)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"REJECTED_PREDICTION_TOKENS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"RELEASEORPHANEDLOCKS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"REMINDER_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"REMINDERS_FIELD_NUMBER"},{"p":"io.dapr.actors.runtime","c":"ActorStateChangeKind","l":"REMOVE"},{"p":"io.dapr.actors.runtime","c":"ActorStateManager","l":"remove(String)","u":"remove(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"removeActions(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"removeActions(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"removeActiveActors(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"removeActiveActorsCount(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"removeCarryoverEvents(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"removeChoices(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"removeContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"removeContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"removeContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"removeContent(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"removeContent(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"removeData(String)","u":"removeData(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"removeData(String)","u":"removeData(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"REMOVEEMPTYENTITIES_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"removeEntities(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"removeEntries(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"removeEntries(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"removeEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"removeEvents(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"removeExtendedMetadata(String)","u":"removeExtendedMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"removeFailedEntries(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"removeHttpEndpoints(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"removeInputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"removeInputs(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"removeItems(int)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"removeItems(String)","u":"removeItems(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"removeItems(String)","u":"removeItems(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"removeJobs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"removeMessages(int)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"removeMetadata(String)","u":"removeMetadata(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"removeNewEvents(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"removeOperationInfos(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"removeOperationRequests(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"removeOperations(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"removeOperations(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"removeOperations(int)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"removeOptions(String)","u":"removeOptions(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"removeOrchestrationState(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"removeOutputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"removeOutputs(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"removeParameters(String)","u":"removeParameters(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"removeParameters(String)","u":"removeParameters(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"removeParameters(String)","u":"removeParameters(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"removePastEvents(int)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"removeProperties(String)","u":"removeProperties(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"removeRegisteredComponents(int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"removeReminders(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"removeResults(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"removeResults(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"removeRules(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"removeRules(int)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"removeSecrets(String)","u":"removeSecrets(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"removeStates(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"removeStates(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"removeStates(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"removeStatuses(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"removeSubscriptions(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"removeSubscriptions(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"removeTags(String)","u":"removeTags(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"removeTags(String)","u":"removeTags(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"removeTags(String)","u":"removeTags(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"removeTaskHubNames(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"removeToolCalls(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"removeToolCalls(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"removeTools(int)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"REPEATS_FIELD_NUMBER"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"repositoryBaseClass()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"repositoryBaseClass()"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"repositoryFactoryBeanClass()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"repositoryFactoryBeanClass()"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"repositoryImplementationPostfix()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"repositoryImplementationPostfix()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"REQUEST_FIELD_NUMBER"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"REQUEST_INFO"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.RequestCase","l":"REQUEST_NOT_SET"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.RequestCase","l":"REQUEST_NOT_SET"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"REQUESTID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"REQUESTID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"REQUESTID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"REQUESTID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"REQUESTID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"REQUESTID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"REQUESTID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"REQUIRESHISTORYSTREAMING_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"RERUNPARENTINSTANCEINFO_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"RERUNPARENTINSTANCEINFO_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"RERUNPARENTINSTANCEINFO_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"rerunWorkflowFromEvent(OrchestratorService.RerunWorkflowFromEventRequest)","u":"rerunWorkflowFromEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunWorkflowFromEventRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"rerunWorkflowFromEvent(OrchestratorService.RerunWorkflowFromEventRequest)","u":"rerunWorkflowFromEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunWorkflowFromEventRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"rerunWorkflowFromEvent(OrchestratorService.RerunWorkflowFromEventRequest)","u":"rerunWorkflowFromEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunWorkflowFromEventRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"rerunWorkflowFromEvent(OrchestratorService.RerunWorkflowFromEventRequest, StreamObserver)","u":"rerunWorkflowFromEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunWorkflowFromEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"rerunWorkflowFromEvent(OrchestratorService.RerunWorkflowFromEventRequest, StreamObserver)","u":"rerunWorkflowFromEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunWorkflowFromEventRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.resiliency","c":"ResiliencyOptions","l":"ResiliencyOptions()","u":"%3Cinit%3E()"},{"p":"io.dapr.spring.data","c":"DaprKeyValueAdapterResolver","l":"resolve()"},{"p":"io.dapr.spring.data","c":"KeyValueAdapterResolver","l":"resolve()"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueAdapterResolver","l":"resolve()"},{"p":"io.dapr.spring6.data","c":"KeyValueAdapterResolver","l":"resolve()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"RESOURCE_ID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"RESOURCE_ID_FIELD_NUMBER"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"RESOURCE_INFO"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"RESPONSE_FORMAT_FIELD_NUMBER"},{"p":"io.dapr.client","c":"DaprHttp.Response","l":"Response(byte[], Map, int)","u":"%3Cinit%3E(byte[],java.util.Map,int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"RESPONSEDESTINATION_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"restartInstance(String, boolean)","u":"restartInstance(java.lang.String,boolean)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"restartInstance(String, boolean)","u":"restartInstance(java.lang.String,boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"RESULT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"RESULT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"RESULT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"RESULT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"RESULT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"RESULT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"RESULT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"RESULTS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"RESULTS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.ResultTypeCase","l":"RESULTTYPE_NOT_SET"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"resumeInstance(OrchestratorService.ResumeRequest)","u":"resumeInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ResumeRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"resumeInstance(OrchestratorService.ResumeRequest)","u":"resumeInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ResumeRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"resumeInstance(OrchestratorService.ResumeRequest)","u":"resumeInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ResumeRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"resumeInstance(OrchestratorService.ResumeRequest, StreamObserver)","u":"resumeInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ResumeRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"resumeInstance(OrchestratorService.ResumeRequest, StreamObserver)","u":"resumeInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ResumeRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"resumeInstance(String)","u":"resumeInstance(java.lang.String)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"resumeInstance(String, String)","u":"resumeInstance(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"resumeInstance(String, String)","u":"resumeInstance(java.lang.String,java.lang.String)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"resumeWorkflow(String, String)","u":"resumeWorkflow(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"resumeWorkflowAlpha1(DaprWorkflowProtos.ResumeWorkflowRequest)","u":"resumeWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"resumeWorkflowAlpha1(DaprWorkflowProtos.ResumeWorkflowRequest)","u":"resumeWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"resumeWorkflowAlpha1(DaprWorkflowProtos.ResumeWorkflowRequest)","u":"resumeWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"resumeWorkflowAlpha1(DaprWorkflowProtos.ResumeWorkflowRequest, StreamObserver)","u":"resumeWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"resumeWorkflowAlpha1(DaprWorkflowProtos.ResumeWorkflowRequest, StreamObserver)","u":"resumeWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"resumeWorkflowBeta1(DaprWorkflowProtos.ResumeWorkflowRequest)","u":"resumeWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"resumeWorkflowBeta1(DaprWorkflowProtos.ResumeWorkflowRequest)","u":"resumeWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"resumeWorkflowBeta1(DaprWorkflowProtos.ResumeWorkflowRequest)","u":"resumeWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"resumeWorkflowBeta1(DaprWorkflowProtos.ResumeWorkflowRequest, StreamObserver)","u":"resumeWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"resumeWorkflowBeta1(DaprWorkflowProtos.ResumeWorkflowRequest, StreamObserver)","u":"resumeWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.ResumeWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"BulkSubscribeAppResponseStatus","l":"RETRY"},{"p":"io.dapr.client","c":"SubscriptionListener.Status","l":"RETRY"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"RETRY"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"RETRY_INFO"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"RETRY_VALUE"},{"p":"io.dapr.durabletask","c":"TaskOptions.Builder","l":"retryHandler(RetryHandler)","u":"retryHandler(io.dapr.durabletask.RetryHandler)"},{"p":"io.dapr.internal.resiliency","c":"RetryPolicy","l":"RetryPolicy()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask","c":"RetryPolicy","l":"RetryPolicy(int, Duration)","u":"%3Cinit%3E(int,java.time.Duration)"},{"p":"io.dapr.internal.resiliency","c":"RetryPolicy","l":"RetryPolicy(Integer)","u":"%3Cinit%3E(java.lang.Integer)"},{"p":"io.dapr.durabletask","c":"TaskOptions.Builder","l":"retryPolicy(RetryPolicy)","u":"retryPolicy(io.dapr.durabletask.RetryPolicy)"},{"p":"io.dapr.actors","c":"ActorMethod","l":"returns()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"rewindInstance(OrchestratorService.RewindInstanceRequest)","u":"rewindInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RewindInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"rewindInstance(OrchestratorService.RewindInstanceRequest)","u":"rewindInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RewindInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"rewindInstance(OrchestratorService.RewindInstanceRequest)","u":"rewindInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RewindInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"rewindInstance(OrchestratorService.RewindInstanceRequest, StreamObserver)","u":"rewindInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RewindInstanceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"rewindInstance(OrchestratorService.RewindInstanceRequest, StreamObserver)","u":"rewindInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RewindInstanceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"ROLE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"ROUTER_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"ROUTER_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"ROUTER_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"ROUTER_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"ROUTER_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"ROUTES_FIELD_NUMBER"},{"p":"io.dapr","c":"Topic","l":"rule()"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription.Rule","l":"Rule()","u":"%3Cinit%3E()"},{"p":"io.dapr.client.domain","c":"RuleMetadata","l":"RuleMetadata(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"RULES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"RULES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"RULES_FIELD_NUMBER"},{"p":"io.dapr.durabletask.runner","c":"ActivityRunner","l":"run()"},{"p":"io.dapr.durabletask.runner","c":"OrchestratorRunner","l":"run()"},{"p":"io.dapr.durabletask","c":"TaskActivity","l":"run(TaskActivityContext)","u":"run(io.dapr.durabletask.TaskActivityContext)"},{"p":"io.dapr.durabletask","c":"TaskOrchestration","l":"run(TaskOrchestrationContext)","u":"run(io.dapr.durabletask.TaskOrchestrationContext)"},{"p":"io.dapr.workflows","c":"WorkflowActivity","l":"run(WorkflowActivityContext)","u":"run(io.dapr.workflows.WorkflowActivityContext)"},{"p":"io.dapr.workflows","c":"Workflow","l":"run(WorkflowContext)","u":"run(io.dapr.workflows.WorkflowContext)"},{"p":"io.dapr.workflows","c":"WorkflowStub","l":"run(WorkflowContext)","u":"run(io.dapr.workflows.WorkflowContext)"},{"p":"io.dapr.durabletask","c":"OrchestrationRuntimeStatus","l":"RUNNING"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"RUNNING"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"RUNNING"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"RUNNING_VALUE"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"RUNTIME_STATUS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"RUNTIME_STATUS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"RUNTIME_VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"RUNTIMESTATUS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"RUNTIMESTATUS_FIELD_NUMBER"},{"p":"io.dapr.actors.runtime","c":"ActorStateManager","l":"save()"},{"p":"io.dapr.client","c":"DaprClient","l":"saveBulkState(SaveStateRequest)","u":"saveBulkState(io.dapr.client.domain.SaveStateRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"saveBulkState(SaveStateRequest)","u":"saveBulkState(io.dapr.client.domain.SaveStateRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"saveBulkState(String, List>)","u":"saveBulkState(java.lang.String,java.util.List)"},{"p":"io.dapr.client","c":"DaprClient","l":"saveBulkState(String, List>)","u":"saveBulkState(java.lang.String,java.util.List)"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"saveState()"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"saveState(DaprStateProtos.SaveStateRequest)","u":"saveState(io.dapr.v1.DaprStateProtos.SaveStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"saveState(DaprStateProtos.SaveStateRequest)","u":"saveState(io.dapr.v1.DaprStateProtos.SaveStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"saveState(DaprStateProtos.SaveStateRequest)","u":"saveState(io.dapr.v1.DaprStateProtos.SaveStateRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"saveState(DaprStateProtos.SaveStateRequest, StreamObserver)","u":"saveState(io.dapr.v1.DaprStateProtos.SaveStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"saveState(DaprStateProtos.SaveStateRequest, StreamObserver)","u":"saveState(io.dapr.v1.DaprStateProtos.SaveStateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"saveState(String, String, Object)","u":"saveState(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.client","c":"DaprClient","l":"saveState(String, String, Object)","u":"saveState(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"saveState(String, String, String, Object, Map, StateOptions)","u":"saveState(java.lang.String,java.lang.String,java.lang.String,java.lang.Object,java.util.Map,io.dapr.client.domain.StateOptions)"},{"p":"io.dapr.client","c":"DaprClient","l":"saveState(String, String, String, Object, Map, StateOptions)","u":"saveState(java.lang.String,java.lang.String,java.lang.String,java.lang.Object,java.util.Map,io.dapr.client.domain.StateOptions)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"saveState(String, String, String, Object, StateOptions)","u":"saveState(java.lang.String,java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.StateOptions)"},{"p":"io.dapr.client","c":"DaprClient","l":"saveState(String, String, String, Object, StateOptions)","u":"saveState(java.lang.String,java.lang.String,java.lang.String,java.lang.Object,io.dapr.client.domain.StateOptions)"},{"p":"io.dapr.client.domain","c":"SaveStateRequest","l":"SaveStateRequest(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"SCHEDULE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"SCHEDULEDSTARTTIMESTAMP_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"SCHEDULEDSTARTTIMESTAMP_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"SCHEDULEDSTARTTIMESTAMP_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"SCHEDULEDTIME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"SCHEDULEDTIME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"SCHEDULEDTIME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"SCHEDULEDTIME_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"SCHEDULEDTIME_FIELD_NUMBER"},{"p":"io.dapr.client","c":"DaprClient","l":"scheduleJob(ScheduleJobRequest)","u":"scheduleJob(io.dapr.client.domain.ScheduleJobRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"scheduleJob(ScheduleJobRequest)","u":"scheduleJob(io.dapr.client.domain.ScheduleJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"scheduleJobAlpha1(DaprJobsProtos.ScheduleJobRequest)","u":"scheduleJobAlpha1(io.dapr.v1.DaprJobsProtos.ScheduleJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"scheduleJobAlpha1(DaprJobsProtos.ScheduleJobRequest)","u":"scheduleJobAlpha1(io.dapr.v1.DaprJobsProtos.ScheduleJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"scheduleJobAlpha1(DaprJobsProtos.ScheduleJobRequest)","u":"scheduleJobAlpha1(io.dapr.v1.DaprJobsProtos.ScheduleJobRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"scheduleJobAlpha1(DaprJobsProtos.ScheduleJobRequest, StreamObserver)","u":"scheduleJobAlpha1(io.dapr.v1.DaprJobsProtos.ScheduleJobRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"scheduleJobAlpha1(DaprJobsProtos.ScheduleJobRequest, StreamObserver)","u":"scheduleJobAlpha1(io.dapr.v1.DaprJobsProtos.ScheduleJobRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"ScheduleJobRequest(String, Instant)","u":"%3Cinit%3E(java.lang.String,java.time.Instant)"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"ScheduleJobRequest(String, JobSchedule)","u":"%3Cinit%3E(java.lang.String,io.dapr.client.domain.JobSchedule)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"scheduleNewOrchestrationInstance(String)","u":"scheduleNewOrchestrationInstance(java.lang.String)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"scheduleNewOrchestrationInstance(String, NewOrchestrationInstanceOptions)","u":"scheduleNewOrchestrationInstance(java.lang.String,io.dapr.durabletask.NewOrchestrationInstanceOptions)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"scheduleNewOrchestrationInstance(String, NewOrchestrationInstanceOptions)","u":"scheduleNewOrchestrationInstance(java.lang.String,io.dapr.durabletask.NewOrchestrationInstanceOptions)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"scheduleNewOrchestrationInstance(String, Object)","u":"scheduleNewOrchestrationInstance(java.lang.String,java.lang.Object)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"scheduleNewOrchestrationInstance(String, Object, String)","u":"scheduleNewOrchestrationInstance(java.lang.String,java.lang.Object,java.lang.String)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(Class)","u":"scheduleNewWorkflow(java.lang.Class)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(Class, NewWorkflowOptions)","u":"scheduleNewWorkflow(java.lang.Class,io.dapr.workflows.client.NewWorkflowOptions)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(Class, Object)","u":"scheduleNewWorkflow(java.lang.Class,java.lang.Object)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(Class, Object, String)","u":"scheduleNewWorkflow(java.lang.Class,java.lang.Object,java.lang.String)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(String)","u":"scheduleNewWorkflow(java.lang.String)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(String, NewWorkflowOptions)","u":"scheduleNewWorkflow(java.lang.String,io.dapr.workflows.client.NewWorkflowOptions)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(String, Object)","u":"scheduleNewWorkflow(java.lang.String,java.lang.Object)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"scheduleNewWorkflow(String, Object, String)","u":"scheduleNewWorkflow(java.lang.String,java.lang.Object,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"SCHEDULER_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"SCHEDULETASK"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"SCHEDULETASK_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"SCRUB_PII_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"SCRUB_PII_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"SCRUBPII_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"SCRUBPII_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"SECRETS_FIELD_NUMBER"},{"p":"io.dapr.spring.messaging","c":"DaprMessagingOperations.SendMessageBuilder","l":"send()"},{"p":"io.dapr.spring.messaging","c":"DaprMessagingOperations","l":"send(String, T)","u":"send(java.lang.String,T)"},{"p":"io.dapr.spring.messaging","c":"DaprMessagingTemplate","l":"send(String, T)","u":"send(java.lang.String,T)"},{"p":"io.dapr.spring.messaging","c":"DaprMessagingOperations.SendMessageBuilder","l":"sendAsync()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"SENDENTITYMESSAGE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"SENDENTITYMESSAGE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"SENDEVENT"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"SENDEVENT_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"sendEvent(String, String)","u":"sendEvent(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"sendEvent(String, String, Object)","u":"sendEvent(java.lang.String,java.lang.String,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.OperationActionTypeCase","l":"SENDSIGNAL"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"SENDSIGNAL_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"SEQ_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"SEQUENTIAL"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"SEQUENTIAL_VALUE"},{"p":"io.dapr.client.domain","c":"StateOptions.StateOptionDurationSerializer","l":"serialize(Duration, JsonGenerator, SerializerProvider)","u":"serialize(java.time.Duration,com.fasterxml.jackson.core.JsonGenerator,com.fasterxml.jackson.databind.SerializerProvider)"},{"p":"io.dapr.actors.runtime","c":"ActorObjectSerializer","l":"serialize(Object)","u":"serialize(java.lang.Object)"},{"p":"io.dapr.client","c":"ObjectSerializer","l":"serialize(Object)","u":"serialize(java.lang.Object)"},{"p":"io.dapr.durabletask","c":"DataConverter","l":"serialize(Object)","u":"serialize(java.lang.Object)"},{"p":"io.dapr.durabletask","c":"JacksonDataConverter","l":"serialize(Object)","u":"serialize(java.lang.Object)"},{"p":"io.dapr.serializer","c":"DaprObjectSerializer","l":"serialize(Object)","u":"serialize(java.lang.Object)"},{"p":"io.dapr.serializer","c":"DefaultObjectSerializer","l":"serialize(Object)","u":"serialize(java.lang.Object)"},{"p":"io.dapr.spring.boot4.autoconfigure.client","c":"Jackson3ObjectSerializer","l":"serialize(Object)","u":"serialize(java.lang.Object)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntime","l":"serializeConfig()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"SERIALIZEDSTATE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc","l":"SERVICE_NAME"},{"p":"io.dapr.v1","c":"AppCallbackAlphaGrpc","l":"SERVICE_NAME"},{"p":"io.dapr.v1","c":"AppCallbackGrpc","l":"SERVICE_NAME"},{"p":"io.dapr.v1","c":"AppCallbackHealthCheckGrpc","l":"SERVICE_NAME"},{"p":"io.dapr.v1","c":"DaprGrpc","l":"SERVICE_NAME"},{"p":"io.dapr.actors.runtime","c":"ActorStateManager","l":"set(String, T)","u":"set(java.lang.String,T)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"setAcceptedPredictionTokens(long)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"setAction(OrchestratorService.CreateOrchestrationAction)","u":"setAction(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setActions(int, OrchestratorService.OperationAction)","u":"setActions(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setActions(int, OrchestratorService.OperationAction.Builder)","u":"setActions(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setActions(int, OrchestratorService.OrchestratorAction)","u":"setActions(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setActions(int, OrchestratorService.OrchestratorAction.Builder)","u":"setActions(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"setActionValue(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"setActiveActors(int, DaprMetadataProtos.ActiveActorsCount)","u":"setActiveActors(int,io.dapr.v1.DaprMetadataProtos.ActiveActorsCount)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"setActiveActors(int, DaprMetadataProtos.ActiveActorsCount.Builder)","u":"setActiveActors(int,io.dapr.v1.DaprMetadataProtos.ActiveActorsCount.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setActiveActorsCount(int, DaprMetadataProtos.ActiveActorsCount)","u":"setActiveActorsCount(int,io.dapr.v1.DaprMetadataProtos.ActiveActorsCount)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setActiveActorsCount(int, DaprMetadataProtos.ActiveActorsCount.Builder)","u":"setActiveActorsCount(int,io.dapr.v1.DaprMetadataProtos.ActiveActorsCount.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setActivityRequest(OrchestratorService.ActivityRequest)","u":"setActivityRequest(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setActivityRequest(OrchestratorService.ActivityRequest.Builder)","u":"setActivityRequest(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ActivityRequest.Builder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"setActorId(String)","u":"setActorId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"setActorIdBytes(ByteString)","u":"setActorIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntimeConfig","l":"setActorIdleTimeout(Duration)","u":"setActorIdleTimeout(java.time.Duration)"},{"p":"io.dapr.actors.runtime","c":"ActorTypeConfig","l":"setActorIdleTimeout(Duration)","u":"setActorIdleTimeout(java.time.Duration)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setActorRuntime(DaprMetadataProtos.ActorRuntime)","u":"setActorRuntime(io.dapr.v1.DaprMetadataProtos.ActorRuntime)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setActorRuntime(DaprMetadataProtos.ActorRuntime.Builder)","u":"setActorRuntime(io.dapr.v1.DaprMetadataProtos.ActorRuntime.Builder)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"setActors(List)","u":"setActors(java.util.List)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntimeConfig","l":"setActorScanInterval(Duration)","u":"setActorScanInterval(java.time.Duration)"},{"p":"io.dapr.actors.runtime","c":"ActorTypeConfig","l":"setActorScanInterval(Duration)","u":"setActorScanInterval(java.time.Duration)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"setActorType(String)","u":"setActorType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"setActorTypeBytes(ByteString)","u":"setActorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setAlgorithm(String)","u":"setAlgorithm(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setAlgorithm(String)","u":"setAlgorithm(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"setAlgorithm(String)","u":"setAlgorithm(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setAlgorithm(String)","u":"setAlgorithm(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"setAlgorithm(String)","u":"setAlgorithm(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setAlgorithm(String)","u":"setAlgorithm(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setAlgorithmBytes(ByteString)","u":"setAlgorithmBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setAlgorithmBytes(ByteString)","u":"setAlgorithmBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"setAlgorithmBytes(ByteString)","u":"setAlgorithmBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setAlgorithmBytes(ByteString)","u":"setAlgorithmBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"setAlgorithmBytes(ByteString)","u":"setAlgorithmBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setAlgorithmBytes(ByteString)","u":"setAlgorithmBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"setApiToken(String)","u":"setApiToken(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setAppConnectionProperties(DaprMetadataProtos.AppConnectionProperties)","u":"setAppConnectionProperties(io.dapr.v1.DaprMetadataProtos.AppConnectionProperties)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setAppConnectionProperties(DaprMetadataProtos.AppConnectionProperties.Builder)","u":"setAppConnectionProperties(io.dapr.v1.DaprMetadataProtos.AppConnectionProperties.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setAppID(String)","u":"setAppID(java.lang.String)"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"setAppID(String)","u":"setAppID(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setAppIDBytes(ByteString)","u":"setAppIDBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.spring.messaging","c":"DaprMessagingTemplate","l":"setApplicationContext(ApplicationContext)","u":"setApplicationContext(org.springframework.context.ApplicationContext)"},{"p":"io.dapr.spring.workflows.config","c":"DaprWorkflowsConfiguration","l":"setApplicationContext(ApplicationContext)","u":"setApplicationContext(org.springframework.context.ApplicationContext)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"setApplicationEventPublisher(ApplicationEventPublisher)","u":"setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"setApplicationEventPublisher(ApplicationEventPublisher)","u":"setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"setArguments(String)","u":"setArguments(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"setArgumentsBytes(ByteString)","u":"setArgumentsBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setAssociatedData(ByteString)","u":"setAssociatedData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setAssociatedData(ByteString)","u":"setAssociatedData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setAssociatedData(ByteString)","u":"setAssociatedData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setAssociatedData(ByteString)","u":"setAssociatedData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"setAudioTokens(long)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"setAudioTokens(long)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setBacklogQueueSize(int)"},{"p":"io.dapr.durabletask","c":"RetryPolicy","l":"setBackoffCoefficient(double)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"setBackoffCoefficient(double)"},{"p":"io.dapr.spring.messaging","c":"DaprMessagingTemplate","l":"setBeanName(String)","u":"setBeanName(java.lang.String)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setBinaryData(byte[])"},{"p":"io.dapr.spring.boot.properties.statestore","c":"DaprStateStoreProperties","l":"setBinding(String)","u":"setBinding(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"setBindings(int, String)","u":"setBindings(int,java.lang.String)"},{"p":"io.dapr.client.domain","c":"InvokeMethodRequest","l":"setBody(Object)","u":"setBody(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setBulkSubscribe(DaprAppCallbackProtos.BulkSubscribeConfig)","u":"setBulkSubscribe(io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfig)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setBulkSubscribe(DaprAppCallbackProtos.BulkSubscribeConfig.Builder)","u":"setBulkSubscribe(io.dapr.v1.DaprAppCallbackProtos.BulkSubscribeConfig.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"setBytes(ByteString)","u":"setBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"setCachedTokens(long)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setCallback(String)","u":"setCallback(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setCallbackBytes(ByteString)","u":"setCallbackBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"setCapabilities(int, OrchestratorService.WorkerCapability)","u":"setCapabilities(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.WorkerCapability)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"setCapabilities(int, String)","u":"setCapabilities(int,java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Component","l":"setCapabilities(List)","u":"setCapabilities(java.util.List)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"setCapabilitiesValue(int, int)","u":"setCapabilitiesValue(int,int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setCarryoverEvents(int, OrchestratorService.HistoryEvent)","u":"setCarryoverEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setCarryoverEvents(int, OrchestratorService.HistoryEvent.Builder)","u":"setCarryoverEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"setChannelAddress(String)","u":"setChannelAddress(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"setChannelAddressBytes(ByteString)","u":"setChannelAddressBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"setChoices(int, DaprAiProtos.ConversationResultChoices)","u":"setChoices(int,io.dapr.v1.DaprAiProtos.ConversationResultChoices)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"setChoices(int, DaprAiProtos.ConversationResultChoices.Builder)","u":"setChoices(int,io.dapr.v1.DaprAiProtos.ConversationResultChoices.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setCiphertext(ByteString)","u":"setCiphertext(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"setCiphertext(ByteString)","u":"setCiphertext(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"setCloudEvent(DaprAppCallbackProtos.TopicEventCERequest)","u":"setCloudEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequest)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"setCloudEvent(DaprAppCallbackProtos.TopicEventCERequest.Builder)","u":"setCloudEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventCERequest.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setCompletedTimestamp(Timestamp)","u":"setCompletedTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setCompletedTimestamp(Timestamp.Builder)","u":"setCompletedTimestamp(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setCompleteOrchestration(OrchestratorService.CompleteOrchestrationAction)","u":"setCompleteOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CompleteOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setCompleteOrchestration(OrchestratorService.CompleteOrchestrationAction.Builder)","u":"setCompleteOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CompleteOrchestrationAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"setCompletionToken(String)","u":"setCompletionToken(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"setCompletionToken(String)","u":"setCompletionToken(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"setCompletionToken(String)","u":"setCompletionToken(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setCompletionToken(String)","u":"setCompletionToken(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setCompletionToken(String)","u":"setCompletionToken(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setCompletionToken(String)","u":"setCompletionToken(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setCompletionToken(String)","u":"setCompletionToken(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"setCompletionTokenBytes(ByteString)","u":"setCompletionTokenBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"setCompletionTokenBytes(ByteString)","u":"setCompletionTokenBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"setCompletionTokenBytes(ByteString)","u":"setCompletionTokenBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setCompletionTokenBytes(ByteString)","u":"setCompletionTokenBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setCompletionTokenBytes(ByteString)","u":"setCompletionTokenBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setCompletionTokenBytes(ByteString)","u":"setCompletionTokenBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setCompletionTokenBytes(ByteString)","u":"setCompletionTokenBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsage","l":"setCompletionTokenDetails(ConversationResultCompletionUsageDetails)","u":"setCompletionTokenDetails(io.dapr.client.domain.ConversationResultCompletionUsageDetails)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"setCompletionTokens(long)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"setCompletionTokensDetails(DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails)","u":"setCompletionTokensDetails(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"setCompletionTokensDetails(DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder)","u":"setCompletionTokensDetails(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"setComponentName(String)","u":"setComponentName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setComponentName(String)","u":"setComponentName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setComponentName(String)","u":"setComponentName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setComponentName(String)","u":"setComponentName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"setComponentName(String)","u":"setComponentName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"setComponentName(String)","u":"setComponentName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setComponentName(String)","u":"setComponentName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"setComponentName(String)","u":"setComponentName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setComponentName(String)","u":"setComponentName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"setComponentNameBytes(ByteString)","u":"setComponentNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setComponentNameBytes(ByteString)","u":"setComponentNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setComponentNameBytes(ByteString)","u":"setComponentNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setComponentNameBytes(ByteString)","u":"setComponentNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"setComponentNameBytes(ByteString)","u":"setComponentNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"setComponentNameBytes(ByteString)","u":"setComponentNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setComponentNameBytes(ByteString)","u":"setComponentNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"setComponentNameBytes(ByteString)","u":"setComponentNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setComponentNameBytes(ByteString)","u":"setComponentNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"setComponents(List)","u":"setComponents(java.util.List)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"setConcurrency(CommonProtos.StateOptions.StateConcurrency)","u":"setConcurrency(io.dapr.v1.CommonProtos.StateOptions.StateConcurrency)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"setConcurrency(DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency)","u":"setConcurrency(io.dapr.v1.DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"setConcurrencyValue(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"setConcurrencyValue(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"setConnectedAddresses(int, String)","u":"setConnectedAddresses(int,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"setConnectedWorkers(int)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"setConsistency(CommonProtos.StateOptions.StateConsistency)","u":"setConsistency(io.dapr.v1.CommonProtos.StateOptions.StateConsistency)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"setConsistency(CommonProtos.StateOptions.StateConsistency)","u":"setConsistency(io.dapr.v1.CommonProtos.StateOptions.StateConsistency)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"setConsistencyValue(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"setConsistencyValue(int)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"setConstant(CommonProtos.JobFailurePolicyConstant)","u":"setConstant(io.dapr.v1.CommonProtos.JobFailurePolicyConstant)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"setConstant(CommonProtos.JobFailurePolicyConstant.Builder)","u":"setConstant(io.dapr.v1.CommonProtos.JobFailurePolicyConstant.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"setContent(int, DaprAiProtos.ConversationMessageContent)","u":"setContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"setContent(int, DaprAiProtos.ConversationMessageContent)","u":"setContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"setContent(int, DaprAiProtos.ConversationMessageContent)","u":"setContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"setContent(int, DaprAiProtos.ConversationMessageContent)","u":"setContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"setContent(int, DaprAiProtos.ConversationMessageContent)","u":"setContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"setContent(int, DaprAiProtos.ConversationMessageContent.Builder)","u":"setContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"setContent(int, DaprAiProtos.ConversationMessageContent.Builder)","u":"setContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"setContent(int, DaprAiProtos.ConversationMessageContent.Builder)","u":"setContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"setContent(int, DaprAiProtos.ConversationMessageContent.Builder)","u":"setContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"setContent(int, DaprAiProtos.ConversationMessageContent.Builder)","u":"setContent(int,io.dapr.v1.DaprAiProtos.ConversationMessageContent.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"setContent(String)","u":"setContent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"setContent(String)","u":"setContent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"setContentBytes(ByteString)","u":"setContentBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"setContentBytes(ByteString)","u":"setContentBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"InvokeMethodRequest","l":"setContentType(String)","u":"setContentType(java.lang.String)"},{"p":"io.dapr.client.domain","c":"PublishEventRequest","l":"setContentType(String)","u":"setContentType(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"setContentType(String)","u":"setContentType(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"setContentType(String)","u":"setContentType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setContentType(String)","u":"setContentType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"setContentType(String)","u":"setContentType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"setContentType(String)","u":"setContentType(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"setContentTypeBytes(ByteString)","u":"setContentTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"setContentTypeBytes(ByteString)","u":"setContentTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setContentTypeBytes(ByteString)","u":"setContentTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"setContentTypeBytes(ByteString)","u":"setContentTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"setContentTypeBytes(ByteString)","u":"setContentTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"ConversationRequest","l":"setContextId(String)","u":"setContextId(java.lang.String)"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"setContextId(String)","u":"setContextId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setContextId(String)","u":"setContextId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"setContextId(String)","u":"setContextId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"setContextID(String)","u":"setContextID(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"setContextID(String)","u":"setContextID(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setContextIdBytes(ByteString)","u":"setContextIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"setContextIdBytes(ByteString)","u":"setContextIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"setContextIDBytes(ByteString)","u":"setContextIDBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"setContextIDBytes(ByteString)","u":"setContextIDBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"setContinuationToken(String)","u":"setContinuationToken(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"setContinuationToken(String)","u":"setContinuationToken(java.lang.String)"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"setContinuationToken(String)","u":"setContinuationToken(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"setContinuationToken(StringValue)","u":"setContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"setContinuationToken(StringValue)","u":"setContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setContinuationToken(StringValue)","u":"setContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setContinuationToken(StringValue)","u":"setContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"setContinuationToken(StringValue)","u":"setContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"setContinuationToken(StringValue)","u":"setContinuationToken(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"setContinuationToken(StringValue.Builder)","u":"setContinuationToken(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"setContinuationToken(StringValue.Builder)","u":"setContinuationToken(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setContinuationToken(StringValue.Builder)","u":"setContinuationToken(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setContinuationToken(StringValue.Builder)","u":"setContinuationToken(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"setContinuationToken(StringValue.Builder)","u":"setContinuationToken(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"setContinuationToken(StringValue.Builder)","u":"setContinuationToken(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"setContinuationTokenBytes(ByteString)","u":"setContinuationTokenBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"setContinuationTokenBytes(ByteString)","u":"setContinuationTokenBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setContinueAsNew(OrchestratorService.ContinueAsNewEvent)","u":"setContinueAsNew(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ContinueAsNewEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setContinueAsNew(OrchestratorService.ContinueAsNewEvent.Builder)","u":"setContinueAsNew(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ContinueAsNewEvent.Builder)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Actor","l":"setCount(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"setCount(int)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setCreatedAt(Timestamp)","u":"setCreatedAt(com.google.protobuf.Timestamp)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setCreatedAt(Timestamp.Builder)","u":"setCreatedAt(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"setCreatedTimeFrom(Instant)","u":"setCreatedTimeFrom(java.time.Instant)"},{"p":"io.dapr.durabletask","c":"PurgeInstanceCriteria","l":"setCreatedTimeFrom(Instant)","u":"setCreatedTimeFrom(java.time.Instant)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setCreatedTimeFrom(Timestamp)","u":"setCreatedTimeFrom(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"setCreatedTimeFrom(Timestamp)","u":"setCreatedTimeFrom(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setCreatedTimeFrom(Timestamp.Builder)","u":"setCreatedTimeFrom(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"setCreatedTimeFrom(Timestamp.Builder)","u":"setCreatedTimeFrom(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setCreatedTimestamp(Timestamp)","u":"setCreatedTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setCreatedTimestamp(Timestamp.Builder)","u":"setCreatedTimestamp(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"setCreatedTimeTo(Instant)","u":"setCreatedTimeTo(java.time.Instant)"},{"p":"io.dapr.durabletask","c":"PurgeInstanceCriteria","l":"setCreatedTimeTo(Instant)","u":"setCreatedTimeTo(java.time.Instant)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setCreatedTimeTo(Timestamp)","u":"setCreatedTimeTo(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"setCreatedTimeTo(Timestamp)","u":"setCreatedTimeTo(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setCreatedTimeTo(Timestamp.Builder)","u":"setCreatedTimeTo(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"setCreatedTimeTo(Timestamp.Builder)","u":"setCreatedTimeTo(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setCreateSubOrchestration(OrchestratorService.CreateSubOrchestrationAction)","u":"setCreateSubOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateSubOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setCreateSubOrchestration(OrchestratorService.CreateSubOrchestrationAction.Builder)","u":"setCreateSubOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateSubOrchestrationAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setCreateTimer(OrchestratorService.CreateTimerAction)","u":"setCreateTimer(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTimerAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setCreateTimer(OrchestratorService.CreateTimerAction.Builder)","u":"setCreateTimer(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateTimerAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"setCriticalSectionId(String)","u":"setCriticalSectionId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"setCriticalSectionId(String)","u":"setCriticalSectionId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"setCriticalSectionId(String)","u":"setCriticalSectionId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"setCriticalSectionIdBytes(ByteString)","u":"setCriticalSectionIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"setCriticalSectionIdBytes(ByteString)","u":"setCriticalSectionIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"setCriticalSectionIdBytes(ByteString)","u":"setCriticalSectionIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"setCustomStatus(Object)","u":"setCustomStatus(java.lang.Object)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"setCustomStatus(Object)","u":"setCustomStatus(java.lang.Object)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"setCustomStatus(Object)","u":"setCustomStatus(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setCustomStatus(StringValue)","u":"setCustomStatus(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setCustomStatus(StringValue)","u":"setCustomStatus(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setCustomStatus(StringValue.Builder)","u":"setCustomStatus(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setCustomStatus(StringValue.Builder)","u":"setCustomStatus(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"setData(Any)","u":"setData(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"setData(Any)","u":"setData(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setData(Any)","u":"setData(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setData(Any)","u":"setData(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setData(Any)","u":"setData(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setData(Any)","u":"setData(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"setData(Any.Builder)","u":"setData(com.google.protobuf.Any.Builder)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"setData(Any.Builder)","u":"setData(com.google.protobuf.Any.Builder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setData(Any.Builder)","u":"setData(com.google.protobuf.Any.Builder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setData(Any.Builder)","u":"setData(com.google.protobuf.Any.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setData(Any.Builder)","u":"setData(com.google.protobuf.Any.Builder)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setData(Any.Builder)","u":"setData(com.google.protobuf.Any.Builder)"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"setData(byte[])"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"setData(byte[])"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"setData(ByteString)","u":"setData(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"InvokeBindingRequest","l":"setData(Object)","u":"setData(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"setData(StringValue)","u":"setData(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"setData(StringValue)","u":"setData(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"setData(StringValue.Builder)","u":"setData(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"setData(StringValue.Builder)","u":"setData(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setData(T)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setDatacontenttype(String)","u":"setDatacontenttype(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setDataContentType(String)","u":"setDataContentType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setDataContentType(String)","u":"setDataContentType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"setDataContentType(String)","u":"setDataContentType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setDataContentTypeBytes(ByteString)","u":"setDataContentTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setDataContentTypeBytes(ByteString)","u":"setDataContentTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"setDataContentTypeBytes(ByteString)","u":"setDataContentTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"EncryptRequestAlpha1","l":"setDataEncryptionCipher(String)","u":"setDataEncryptionCipher(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setDataEncryptionCipher(String)","u":"setDataEncryptionCipher(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setDataEncryptionCipherBytes(ByteString)","u":"setDataEncryptionCipherBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"setDeadLetterTopic(String)","u":"setDeadLetterTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setDeadLetterTopic(String)","u":"setDeadLetterTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setDeadLetterTopic(String)","u":"setDeadLetterTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"setDeadLetterTopic(String)","u":"setDeadLetterTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setDeadLetterTopicBytes(ByteString)","u":"setDeadLetterTopicBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setDeadLetterTopicBytes(ByteString)","u":"setDeadLetterTopicBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"setDeadLetterTopicBytes(ByteString)","u":"setDeadLetterTopicBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"EncryptRequestAlpha1","l":"setDecryptionKeyName(String)","u":"setDecryptionKeyName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setDecryptionKeyName(String)","u":"setDecryptionKeyName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setDecryptionKeyNameBytes(ByteString)","u":"setDecryptionKeyNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"setDefault(String)","u":"setDefault(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"setDefaultBytes(ByteString)","u":"setDefaultBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"setDeletedInstanceCount(int)"},{"p":"io.dapr.client.domain","c":"ConversationToolsFunction","l":"setDescription(String)","u":"setDescription(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"setDescription(String)","u":"setDescription(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"setDescription(String)","u":"setDescription(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"setDescriptionBytes(ByteString)","u":"setDescriptionBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"setDescriptionBytes(ByteString)","u":"setDescriptionBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.exceptions","c":"DaprError","l":"setDetails(List>)","u":"setDetails(java.util.List)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setDetails(StringValue)","u":"setDetails(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setDetails(StringValue.Builder)","u":"setDetails(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"setDigest(ByteString)","u":"setDigest(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"setDigest(ByteString)","u":"setDigest(com.google.protobuf.ByteString)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntimeConfig","l":"setDrainBalancedActors(Boolean)","u":"setDrainBalancedActors(java.lang.Boolean)"},{"p":"io.dapr.actors.runtime","c":"ActorTypeConfig","l":"setDrainBalancedActors(Boolean)","u":"setDrainBalancedActors(java.lang.Boolean)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntimeConfig","l":"setDrainOngoingCallTimeout(Duration)","u":"setDrainOngoingCallTimeout(java.time.Duration)"},{"p":"io.dapr.actors.runtime","c":"ActorTypeConfig","l":"setDrainOngoingCallTimeout(Duration)","u":"setDrainOngoingCallTimeout(java.time.Duration)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"setDrop(CommonProtos.JobFailurePolicyDrop)","u":"setDrop(io.dapr.v1.CommonProtos.JobFailurePolicyDrop)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"setDrop(CommonProtos.JobFailurePolicyDrop.Builder)","u":"setDrop(io.dapr.v1.CommonProtos.JobFailurePolicyDrop.Builder)"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"setDueTime(Instant)","u":"setDueTime(java.time.Instant)"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"setDueTime(Instant)","u":"setDueTime(java.time.Instant)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setDueTime(String)","u":"setDueTime(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setDueTime(String)","u":"setDueTime(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setDueTime(String)","u":"setDueTime(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setDueTime(String)","u":"setDueTime(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setDueTime(String)","u":"setDueTime(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setDueTimeBytes(ByteString)","u":"setDueTimeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setDueTimeBytes(ByteString)","u":"setDueTimeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setDueTimeBytes(ByteString)","u":"setDueTimeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setDueTimeBytes(ByteString)","u":"setDueTimeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setDueTimeBytes(ByteString)","u":"setDueTimeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"ConstantFailurePolicy","l":"setDurationBetweenRetries(Duration)","u":"setDurationBetweenRetries(java.time.Duration)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"setEmptyEntitiesRemoved(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"setEnabled(boolean)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setEnabledFeatures(int, String)","u":"setEnabledFeatures(int,java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"setEnabledFeatures(List)","u":"setEnabledFeatures(java.util.List)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"setEntities(int, OrchestratorService.EntityMetadata)","u":"setEntities(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityMetadata)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"setEntities(int, OrchestratorService.EntityMetadata.Builder)","u":"setEntities(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityMetadata.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"setEntity(OrchestratorService.EntityMetadata)","u":"setEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityMetadata)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"setEntity(OrchestratorService.EntityMetadata.Builder)","u":"setEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityMetadata.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityLockGranted(OrchestratorService.EntityLockGrantedEvent)","u":"setEntityLockGranted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockGrantedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityLockGranted(OrchestratorService.EntityLockGrantedEvent.Builder)","u":"setEntityLockGranted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockGrantedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityLockRequested(OrchestratorService.EntityLockRequestedEvent)","u":"setEntityLockRequested(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockRequestedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"setEntityLockRequested(OrchestratorService.EntityLockRequestedEvent)","u":"setEntityLockRequested(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockRequestedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityLockRequested(OrchestratorService.EntityLockRequestedEvent.Builder)","u":"setEntityLockRequested(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockRequestedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"setEntityLockRequested(OrchestratorService.EntityLockRequestedEvent.Builder)","u":"setEntityLockRequested(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityLockRequestedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"setEntityMessageReorderWindow(Duration)","u":"setEntityMessageReorderWindow(com.google.protobuf.Duration)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"setEntityMessageReorderWindow(Duration.Builder)","u":"setEntityMessageReorderWindow(com.google.protobuf.Duration.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityOperationCalled(OrchestratorService.EntityOperationCalledEvent)","u":"setEntityOperationCalled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCalledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"setEntityOperationCalled(OrchestratorService.EntityOperationCalledEvent)","u":"setEntityOperationCalled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCalledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityOperationCalled(OrchestratorService.EntityOperationCalledEvent.Builder)","u":"setEntityOperationCalled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCalledEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"setEntityOperationCalled(OrchestratorService.EntityOperationCalledEvent.Builder)","u":"setEntityOperationCalled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCalledEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityOperationCompleted(OrchestratorService.EntityOperationCompletedEvent)","u":"setEntityOperationCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityOperationCompleted(OrchestratorService.EntityOperationCompletedEvent.Builder)","u":"setEntityOperationCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationCompletedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityOperationFailed(OrchestratorService.EntityOperationFailedEvent)","u":"setEntityOperationFailed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityOperationFailed(OrchestratorService.EntityOperationFailedEvent.Builder)","u":"setEntityOperationFailed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationFailedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityOperationSignaled(OrchestratorService.EntityOperationSignaledEvent)","u":"setEntityOperationSignaled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationSignaledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"setEntityOperationSignaled(OrchestratorService.EntityOperationSignaledEvent)","u":"setEntityOperationSignaled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationSignaledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityOperationSignaled(OrchestratorService.EntityOperationSignaledEvent.Builder)","u":"setEntityOperationSignaled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationSignaledEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"setEntityOperationSignaled(OrchestratorService.EntityOperationSignaledEvent.Builder)","u":"setEntityOperationSignaled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityOperationSignaledEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setEntityParameters(OrchestratorService.OrchestratorEntityParameters)","u":"setEntityParameters(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorEntityParameters)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setEntityParameters(OrchestratorService.OrchestratorEntityParameters.Builder)","u":"setEntityParameters(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorEntityParameters.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setEntityRequest(OrchestratorService.EntityBatchRequest)","u":"setEntityRequest(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setEntityRequest(OrchestratorService.EntityBatchRequest.Builder)","u":"setEntityRequest(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityBatchRequest.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setEntityRequestV2(OrchestratorService.EntityRequest)","u":"setEntityRequestV2(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setEntityRequestV2(OrchestratorService.EntityRequest.Builder)","u":"setEntityRequestV2(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityRequest.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"setEntityState(StringValue)","u":"setEntityState(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setEntityState(StringValue)","u":"setEntityState(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"setEntityState(StringValue)","u":"setEntityState(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"setEntityState(StringValue.Builder)","u":"setEntityState(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setEntityState(StringValue.Builder)","u":"setEntityState(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"setEntityState(StringValue.Builder)","u":"setEntityState(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityUnlockSent(OrchestratorService.EntityUnlockSentEvent)","u":"setEntityUnlockSent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityUnlockSentEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"setEntityUnlockSent(OrchestratorService.EntityUnlockSentEvent)","u":"setEntityUnlockSent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityUnlockSentEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEntityUnlockSent(OrchestratorService.EntityUnlockSentEvent.Builder)","u":"setEntityUnlockSent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityUnlockSentEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"setEntityUnlockSent(OrchestratorService.EntityUnlockSentEvent.Builder)","u":"setEntityUnlockSent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityUnlockSentEvent.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setEntries(int, DaprAppCallbackProtos.TopicEventBulkRequestEntry)","u":"setEntries(int,io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setEntries(int, DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder)","u":"setEntries(int,io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"setEntries(int, DaprPubsubProtos.BulkPublishRequestEntry)","u":"setEntries(int,io.dapr.v1.DaprPubsubProtos.BulkPublishRequestEntry)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"setEntries(int, DaprPubsubProtos.BulkPublishRequestEntry.Builder)","u":"setEntries(int,io.dapr.v1.DaprPubsubProtos.BulkPublishRequestEntry.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"setEntryId(String)","u":"setEntryId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"setEntryId(String)","u":"setEntryId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"setEntryId(String)","u":"setEntryId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"setEntryId(String)","u":"setEntryId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"setEntryIdBytes(ByteString)","u":"setEntryIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"setEntryIdBytes(ByteString)","u":"setEntryIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"setEntryIdBytes(ByteString)","u":"setEntryIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"setEntryIdBytes(ByteString)","u":"setEntryIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"setError(String)","u":"setError(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"setError(String)","u":"setError(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"setError(String)","u":"setError(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"setErrorBytes(ByteString)","u":"setErrorBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"setErrorBytes(ByteString)","u":"setErrorBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"setErrorBytes(ByteString)","u":"setErrorBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.exceptions","c":"DaprError","l":"setErrorCode(String)","u":"setErrorCode(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setErrorMessage(String)","u":"setErrorMessage(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setErrorMessageBytes(ByteString)","u":"setErrorMessageBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setErrorType(String)","u":"setErrorType(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setErrorTypeBytes(ByteString)","u":"setErrorTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"setEtag(CommonProtos.Etag)","u":"setEtag(io.dapr.v1.CommonProtos.Etag)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"setEtag(CommonProtos.Etag)","u":"setEtag(io.dapr.v1.CommonProtos.Etag)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"setEtag(CommonProtos.Etag.Builder)","u":"setEtag(io.dapr.v1.CommonProtos.Etag.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"setEtag(CommonProtos.Etag.Builder)","u":"setEtag(io.dapr.v1.CommonProtos.Etag.Builder)"},{"p":"io.dapr.client.domain","c":"DeleteStateRequest","l":"setEtag(String)","u":"setEtag(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"setEtag(String)","u":"setEtag(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"setEtag(String)","u":"setEtag(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"setEtag(String)","u":"setEtag(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"setEtagBytes(ByteString)","u":"setEtagBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"setEtagBytes(ByteString)","u":"setEtagBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"setEtagBytes(ByteString)","u":"setEtagBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"setEvent(ByteString)","u":"setEvent(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"setEventData(ByteString)","u":"setEventData(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEventId(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setEventID(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"setEventMessage(DaprAppCallbackProtos.TopicEventRequest)","u":"setEventMessage(io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"setEventMessage(DaprAppCallbackProtos.TopicEventRequest.Builder)","u":"setEventMessage(io.dapr.v1.DaprAppCallbackProtos.TopicEventRequest.Builder)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"setEventName(String)","u":"setEventName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"setEventNameBytes(ByteString)","u":"setEventNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"setEventProcessed(DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1)","u":"setEventProcessed(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"setEventProcessed(DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder)","u":"setEventProcessed(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEventRaised(OrchestratorService.EventRaisedEvent)","u":"setEventRaised(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EventRaisedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEventRaised(OrchestratorService.EventRaisedEvent.Builder)","u":"setEventRaised(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EventRaisedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"setEvents(int, OrchestratorService.HistoryEvent)","u":"setEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"setEvents(int, OrchestratorService.HistoryEvent)","u":"setEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"setEvents(int, OrchestratorService.HistoryEvent.Builder)","u":"setEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"setEvents(int, OrchestratorService.HistoryEvent.Builder)","u":"setEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEventSent(OrchestratorService.EventSentEvent)","u":"setEventSent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EventSentEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setEventSent(OrchestratorService.EventSentEvent.Builder)","u":"setEventSent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EventSentEvent.Builder)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"setEventTypesToPublish(Set>)","u":"setEventTypesToPublish(java.util.Set)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"setEventTypesToPublish(Set>)","u":"setEventTypesToPublish(java.util.Set)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"setExceptionTranslator(PersistenceExceptionTranslator)","u":"setExceptionTranslator(org.springframework.dao.support.PersistenceExceptionTranslator)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"setExceptionTranslator(PersistenceExceptionTranslator)","u":"setExceptionTranslator(org.springframework.dao.support.PersistenceExceptionTranslator)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionCompleted(OrchestratorService.ExecutionCompletedEvent)","u":"setExecutionCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionCompleted(OrchestratorService.ExecutionCompletedEvent.Builder)","u":"setExecutionCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionCompletedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"setExecutionId(String)","u":"setExecutionId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setExecutionId(StringValue)","u":"setExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"setExecutionId(StringValue)","u":"setExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setExecutionId(StringValue)","u":"setExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setExecutionId(StringValue)","u":"setExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"setExecutionId(StringValue)","u":"setExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setExecutionId(StringValue.Builder)","u":"setExecutionId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"setExecutionId(StringValue.Builder)","u":"setExecutionId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setExecutionId(StringValue.Builder)","u":"setExecutionId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setExecutionId(StringValue.Builder)","u":"setExecutionId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"setExecutionId(StringValue.Builder)","u":"setExecutionId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"setExecutionIdBytes(ByteString)","u":"setExecutionIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionResumed(OrchestratorService.ExecutionResumedEvent)","u":"setExecutionResumed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionResumedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionResumed(OrchestratorService.ExecutionResumedEvent.Builder)","u":"setExecutionResumed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionResumedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionStalled(OrchestratorService.ExecutionStalledEvent)","u":"setExecutionStalled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionStalledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionStalled(OrchestratorService.ExecutionStalledEvent.Builder)","u":"setExecutionStalled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionStalledEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionStarted(OrchestratorService.ExecutionStartedEvent)","u":"setExecutionStarted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionStartedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionStarted(OrchestratorService.ExecutionStartedEvent.Builder)","u":"setExecutionStarted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionStartedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionSuspended(OrchestratorService.ExecutionSuspendedEvent)","u":"setExecutionSuspended(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionSuspendedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionSuspended(OrchestratorService.ExecutionSuspendedEvent.Builder)","u":"setExecutionSuspended(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionSuspendedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionTerminated(OrchestratorService.ExecutionTerminatedEvent)","u":"setExecutionTerminated(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionTerminatedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setExecutionTerminated(OrchestratorService.ExecutionTerminatedEvent.Builder)","u":"setExecutionTerminated(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ExecutionTerminatedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"setExists(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"setExists(boolean)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"setExpiryInSeconds(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setExtensions(Struct)","u":"setExtensions(com.google.protobuf.Struct)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setExtensions(Struct)","u":"setExtensions(com.google.protobuf.Struct)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setExtensions(Struct.Builder)","u":"setExtensions(com.google.protobuf.Struct.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setExtensions(Struct.Builder)","u":"setExtensions(com.google.protobuf.Struct.Builder)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"setFailedEntries(int, DaprPubsubProtos.BulkPublishResponseFailedEntry)","u":"setFailedEntries(int,io.dapr.v1.DaprPubsubProtos.BulkPublishResponseFailedEntry)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"setFailedEntries(int, DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder)","u":"setFailedEntries(int,io.dapr.v1.DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"setFailure(OrchestratorService.OperationResultFailure)","u":"setFailure(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResultFailure)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"setFailure(OrchestratorService.OperationResultFailure.Builder)","u":"setFailure(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResultFailure.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails.Builder)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails.Builder)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails.Builder)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails.Builder)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails.Builder)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails.Builder)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails.Builder)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails.Builder)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"setFailureDetails(OrchestratorService.TaskFailureDetails.Builder)","u":"setFailureDetails(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails.Builder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setFailurePolicy(CommonProtos.JobFailurePolicy)","u":"setFailurePolicy(io.dapr.v1.CommonProtos.JobFailurePolicy)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setFailurePolicy(CommonProtos.JobFailurePolicy)","u":"setFailurePolicy(io.dapr.v1.CommonProtos.JobFailurePolicy)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setFailurePolicy(CommonProtos.JobFailurePolicy.Builder)","u":"setFailurePolicy(io.dapr.v1.CommonProtos.JobFailurePolicy.Builder)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setFailurePolicy(CommonProtos.JobFailurePolicy.Builder)","u":"setFailurePolicy(io.dapr.v1.CommonProtos.JobFailurePolicy.Builder)"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"setFailurePolicy(FailurePolicy)","u":"setFailurePolicy(io.dapr.client.domain.FailurePolicy)"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"setFailurePolicy(FailurePolicy)","u":"setFailurePolicy(io.dapr.client.domain.FailurePolicy)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setFetchInputsAndOutputs(boolean)"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"setFetchInputsAndOutputs(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"setField(Descriptors.FieldDescriptor, Object)","u":"setField(com.google.protobuf.Descriptors.FieldDescriptor,java.lang.Object)"},{"p":"io.dapr.client.domain.query","c":"Query","l":"setFilter(Filter)","u":"setFilter(io.dapr.client.domain.query.filters.Filter)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"setFinishReason(String)","u":"setFinishReason(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"setFinishReasonBytes(ByteString)","u":"setFinishReasonBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"setFireAt(Timestamp)","u":"setFireAt(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"setFireAt(Timestamp)","u":"setFireAt(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"setFireAt(Timestamp)","u":"setFireAt(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"setFireAt(Timestamp.Builder)","u":"setFireAt(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"setFireAt(Timestamp.Builder)","u":"setFireAt(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"setFireAt(Timestamp.Builder)","u":"setFireAt(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask","c":"RetryPolicy","l":"setFirstRetryInterval(Duration)","u":"setFirstRetryInterval(java.time.Duration)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"setFirstRetryInterval(Duration)","u":"setFirstRetryInterval(java.time.Duration)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"setForce(boolean)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"setFormat(DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat)","u":"setFormat(io.dapr.v1.DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"setFormatValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"setForWorkItemProcessing(boolean)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"setFunction(DaprAiProtos.ConversationToolCallsOfFunction)","u":"setFunction(io.dapr.v1.DaprAiProtos.ConversationToolCallsOfFunction)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"setFunction(DaprAiProtos.ConversationToolCallsOfFunction.Builder)","u":"setFunction(io.dapr.v1.DaprAiProtos.ConversationToolCallsOfFunction.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"setFunction(DaprAiProtos.ConversationToolsFunction)","u":"setFunction(io.dapr.v1.DaprAiProtos.ConversationToolsFunction)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"setFunction(DaprAiProtos.ConversationToolsFunction.Builder)","u":"setFunction(io.dapr.v1.DaprAiProtos.ConversationToolsFunction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setGenericEvent(OrchestratorService.GenericEvent)","u":"setGenericEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GenericEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setGenericEvent(OrchestratorService.GenericEvent.Builder)","u":"setGenericEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GenericEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"setGetInputsAndOutputs(boolean)"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"setGrpcEndpoint(String)","u":"setGrpcEndpoint(java.lang.String)"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"setGrpcPort(Integer)","u":"setGrpcPort(java.lang.Integer)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"setHealth(DaprMetadataProtos.AppConnectionHealthProperties)","u":"setHealth(io.dapr.v1.DaprMetadataProtos.AppConnectionHealthProperties)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"setHealth(DaprMetadataProtos.AppConnectionHealthProperties.Builder)","u":"setHealth(io.dapr.v1.DaprMetadataProtos.AppConnectionHealthProperties.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"setHealthCheckPath(String)","u":"setHealthCheckPath(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"setHealthCheckPathBytes(ByteString)","u":"setHealthCheckPathBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setHealthPing(OrchestratorService.HealthPing)","u":"setHealthPing(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HealthPing)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setHealthPing(OrchestratorService.HealthPing.Builder)","u":"setHealthPing(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HealthPing.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"setHealthProbeInterval(String)","u":"setHealthProbeInterval(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"setHealthProbeIntervalBytes(ByteString)","u":"setHealthProbeIntervalBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"setHealthProbeTimeout(String)","u":"setHealthProbeTimeout(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"setHealthProbeTimeoutBytes(ByteString)","u":"setHealthProbeTimeoutBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"setHealthThreshold(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setHistoryState(OrchestratorService.HistoryStateEvent)","u":"setHistoryState(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryStateEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setHistoryState(OrchestratorService.HistoryStateEvent.Builder)","u":"setHistoryState(io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryStateEvent.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"setHostReady(boolean)"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"setHttpEndpoint(String)","u":"setHttpEndpoint(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setHttpEndpoints(int, DaprMetadataProtos.MetadataHTTPEndpoint)","u":"setHttpEndpoints(int,io.dapr.v1.DaprMetadataProtos.MetadataHTTPEndpoint)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setHttpEndpoints(int, DaprMetadataProtos.MetadataHTTPEndpoint.Builder)","u":"setHttpEndpoints(int,io.dapr.v1.DaprMetadataProtos.MetadataHTTPEndpoint.Builder)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"setHttpExtension(CommonProtos.HTTPExtension)","u":"setHttpExtension(io.dapr.v1.CommonProtos.HTTPExtension)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setHttpExtension(CommonProtos.HTTPExtension)","u":"setHttpExtension(io.dapr.v1.CommonProtos.HTTPExtension)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"setHttpExtension(CommonProtos.HTTPExtension.Builder)","u":"setHttpExtension(io.dapr.v1.CommonProtos.HTTPExtension.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setHttpExtension(CommonProtos.HTTPExtension.Builder)","u":"setHttpExtension(io.dapr.v1.CommonProtos.HTTPExtension.Builder)"},{"p":"io.dapr.client.domain","c":"InvokeMethodRequest","l":"setHttpExtension(HttpExtension)","u":"setHttpExtension(io.dapr.client.domain.HttpExtension)"},{"p":"io.dapr.spring.boot.properties.client","c":"DaprClientProperties","l":"setHttpPort(Integer)","u":"setHttpPort(java.lang.Integer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"setId(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setId(int)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.client.domain","c":"ConversationToolCalls","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"setId(String)","u":"setId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"setIdBytes(ByteString)","u":"setIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setIdBytes(ByteString)","u":"setIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setIdBytes(ByteString)","u":"setIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setIdBytes(ByteString)","u":"setIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"setIdBytes(ByteString)","u":"setIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"setIdBytes(ByteString)","u":"setIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"setIdBytes(ByteString)","u":"setIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setIdBytes(ByteString)","u":"setIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"setIdBytes(ByteString)","u":"setIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setIncludeState(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"setIncludeState(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setIncludeTransient(boolean)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"setIndex(long)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"setInitialRequest(DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1)","u":"setInitialRequest(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"setInitialRequest(DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder)","u":"setInitialRequest(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"setInitialResponse(DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1)","u":"setInitialResponse(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"setInitialResponse(DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder)","u":"setInitialResponse(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setInnerFailure(OrchestratorService.TaskFailureDetails)","u":"setInnerFailure(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setInnerFailure(OrchestratorService.TaskFailureDetails.Builder)","u":"setInnerFailure(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailureDetails.Builder)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"setInput(ByteString)","u":"setInput(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"setInput(Object)","u":"setInput(java.lang.Object)"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"setInput(Object)","u":"setInput(java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setInput(StringValue)","u":"setInput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setInput(StringValue.Builder)","u":"setInput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"setInputs(int, DaprAiProtos.ConversationInput)","u":"setInputs(int,io.dapr.v1.DaprAiProtos.ConversationInput)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"setInputs(int, DaprAiProtos.ConversationInput.Builder)","u":"setInputs(int,io.dapr.v1.DaprAiProtos.ConversationInput.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setInputs(int, DaprAiProtos.ConversationInputAlpha2)","u":"setInputs(int,io.dapr.v1.DaprAiProtos.ConversationInputAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setInputs(int, DaprAiProtos.ConversationInputAlpha2.Builder)","u":"setInputs(int,io.dapr.v1.DaprAiProtos.ConversationInputAlpha2.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"setInstance(OrchestratorService.OrchestrationInstance)","u":"setInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"setInstance(OrchestratorService.OrchestrationInstance.Builder)","u":"setInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"setInstanceId(String)","u":"setInstanceId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"setInstanceID(String)","u":"setInstanceID(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"setInstanceIdBytes(ByteString)","u":"setInstanceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"setInstanceIDBytes(ByteString)","u":"setInstanceIDBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"setInstanceIdPrefix(String)","u":"setInstanceIdPrefix(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setInstanceIdPrefix(StringValue)","u":"setInstanceIdPrefix(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setInstanceIdPrefix(StringValue.Builder)","u":"setInstanceIdPrefix(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"setInstanceIds(int, String)","u":"setInstanceIds(int,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setInstanceIdStartsWith(StringValue)","u":"setInstanceIdStartsWith(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setInstanceIdStartsWith(StringValue.Builder)","u":"setInstanceIdStartsWith(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"setInterval(Duration)","u":"setInterval(com.google.protobuf.Duration)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"setInterval(Duration.Builder)","u":"setInterval(com.google.protobuf.Duration.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"setIsComplete(BoolValue)","u":"setIsComplete(com.google.protobuf.BoolValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"setIsComplete(BoolValue.Builder)","u":"setIsComplete(com.google.protobuf.BoolValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setIsNonRetriable(boolean)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"setItems(int, DaprStateProtos.BulkStateItem)","u":"setItems(int,io.dapr.v1.DaprStateProtos.BulkStateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"setItems(int, DaprStateProtos.BulkStateItem.Builder)","u":"setItems(int,io.dapr.v1.DaprStateProtos.BulkStateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"setJob(DaprJobsProtos.Job)","u":"setJob(io.dapr.v1.DaprJobsProtos.Job)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"setJob(DaprJobsProtos.Job)","u":"setJob(io.dapr.v1.DaprJobsProtos.Job)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"setJob(DaprJobsProtos.Job.Builder)","u":"setJob(io.dapr.v1.DaprJobsProtos.Job.Builder)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"setJob(DaprJobsProtos.Job.Builder)","u":"setJob(io.dapr.v1.DaprJobsProtos.Job.Builder)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"setJobs(int, DaprJobsProtos.Job)","u":"setJobs(int,io.dapr.v1.DaprJobsProtos.Job)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"setJobs(int, DaprJobsProtos.Job.Builder)","u":"setJobs(int,io.dapr.v1.DaprJobsProtos.Job.Builder)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"setKey(String)","u":"setKey(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"setKey(String)","u":"setKey(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"setKey(String)","u":"setKey(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"setKey(String)","u":"setKey(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"setKey(String)","u":"setKey(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"setKey(String)","u":"setKey(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"setKey(String)","u":"setKey(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"setKey(String)","u":"setKey(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"setKey(String)","u":"setKey(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"setKeyBytes(ByteString)","u":"setKeyBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"setKeyBytes(ByteString)","u":"setKeyBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"setKeyBytes(ByteString)","u":"setKeyBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"setKeyBytes(ByteString)","u":"setKeyBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"setKeyBytes(ByteString)","u":"setKeyBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"setKeyBytes(ByteString)","u":"setKeyBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"setKeyBytes(ByteString)","u":"setKeyBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"setKeyBytes(ByteString)","u":"setKeyBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"setKeyBytes(ByteString)","u":"setKeyBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"DecryptRequestAlpha1","l":"setKeyName(String)","u":"setKeyName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"setKeyName(String)","u":"setKeyName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setKeyName(String)","u":"setKeyName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setKeyName(String)","u":"setKeyName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setKeyName(String)","u":"setKeyName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"setKeyName(String)","u":"setKeyName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setKeyName(String)","u":"setKeyName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"setKeyName(String)","u":"setKeyName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setKeyName(String)","u":"setKeyName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"setKeyNameBytes(ByteString)","u":"setKeyNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setKeyNameBytes(ByteString)","u":"setKeyNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setKeyNameBytes(ByteString)","u":"setKeyNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setKeyNameBytes(ByteString)","u":"setKeyNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"setKeyNameBytes(ByteString)","u":"setKeyNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setKeyNameBytes(ByteString)","u":"setKeyNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"setKeyNameBytes(ByteString)","u":"setKeyNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setKeyNameBytes(ByteString)","u":"setKeyNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"setKeys(int, String)","u":"setKeys(int,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"setKeys(int, String)","u":"setKeys(int,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"setKeys(int, String)","u":"setKeys(int,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setKeyWrapAlgorithm(String)","u":"setKeyWrapAlgorithm(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setKeyWrapAlgorithmBytes(ByteString)","u":"setKeyWrapAlgorithmBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setLastModifiedFrom(Timestamp)","u":"setLastModifiedFrom(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setLastModifiedFrom(Timestamp.Builder)","u":"setLastModifiedFrom(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setLastModifiedTime(Timestamp)","u":"setLastModifiedTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setLastModifiedTime(Timestamp.Builder)","u":"setLastModifiedTime(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setLastModifiedTo(Timestamp)","u":"setLastModifiedTo(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setLastModifiedTo(Timestamp.Builder)","u":"setLastModifiedTo(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setLastUpdatedAt(Timestamp)","u":"setLastUpdatedAt(com.google.protobuf.Timestamp)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setLastUpdatedAt(Timestamp.Builder)","u":"setLastUpdatedAt(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setLastUpdatedTimestamp(Timestamp)","u":"setLastUpdatedTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setLastUpdatedTimestamp(Timestamp.Builder)","u":"setLastUpdatedTimestamp(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setLockedBy(StringValue)","u":"setLockedBy(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setLockedBy(StringValue.Builder)","u":"setLockedBy(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"setLockOwner(String)","u":"setLockOwner(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"setLockOwner(String)","u":"setLockOwner(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"setLockOwnerBytes(ByteString)","u":"setLockOwnerBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"setLockOwnerBytes(ByteString)","u":"setLockOwnerBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"setLockSet(int, String)","u":"setLockSet(int,java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription.Rule","l":"setMatch(String)","u":"setMatch(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"setMatch(String)","u":"setMatch(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"setMatch(String)","u":"setMatch(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"setMatchBytes(ByteString)","u":"setMatchBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"setMatchBytes(ByteString)","u":"setMatchBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"setMaxAwaitDurationMs(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"setMaxConcurrency(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"setMaxConcurrentActivityWorkItems(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"setMaxConcurrentEntityWorkItems(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"setMaxConcurrentOrchestrationWorkItems(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setMaxInstanceCount(int)"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"setMaxInstanceCount(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"setMaxMessagesCount(int)"},{"p":"io.dapr.durabletask","c":"RetryPolicy","l":"setMaxNumberOfAttempts(int)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"setMaxNumberOfAttempts(int)"},{"p":"io.dapr.client.domain","c":"ConstantFailurePolicy","l":"setMaxRetries(int)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"setMaxRetries(int)"},{"p":"io.dapr.client.resiliency","c":"ResiliencyOptions","l":"setMaxRetries(Integer)","u":"setMaxRetries(java.lang.Integer)"},{"p":"io.dapr.durabletask","c":"RetryPolicy","l":"setMaxRetryInterval(Duration)","u":"setMaxRetryInterval(java.time.Duration)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"setMaxRetryInterval(Duration)","u":"setMaxRetryInterval(java.time.Duration)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"setMessage(CommonProtos.InvokeRequest)","u":"setMessage(io.dapr.v1.CommonProtos.InvokeRequest)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"setMessage(CommonProtos.InvokeRequest.Builder)","u":"setMessage(io.dapr.v1.CommonProtos.InvokeRequest.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"setMessage(DaprAiProtos.ConversationResultMessage)","u":"setMessage(io.dapr.v1.DaprAiProtos.ConversationResultMessage)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"setMessage(DaprAiProtos.ConversationResultMessage.Builder)","u":"setMessage(io.dapr.v1.DaprAiProtos.ConversationResultMessage.Builder)"},{"p":"io.dapr.exceptions","c":"DaprError","l":"setMessage(String)","u":"setMessage(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"setMessage(String)","u":"setMessage(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"setMessageBytes(ByteString)","u":"setMessageBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"setMessages(int, DaprAiProtos.ConversationMessage)","u":"setMessages(int,io.dapr.v1.DaprAiProtos.ConversationMessage)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"setMessages(int, DaprAiProtos.ConversationMessage.Builder)","u":"setMessages(int,io.dapr.v1.DaprAiProtos.ConversationMessage.Builder)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"setMetadata(DaprMetadataProtos.SetMetadataRequest)","u":"setMetadata(io.dapr.v1.DaprMetadataProtos.SetMetadataRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"setMetadata(DaprMetadataProtos.SetMetadataRequest)","u":"setMetadata(io.dapr.v1.DaprMetadataProtos.SetMetadataRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"setMetadata(DaprMetadataProtos.SetMetadataRequest)","u":"setMetadata(io.dapr.v1.DaprMetadataProtos.SetMetadataRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"setMetadata(DaprMetadataProtos.SetMetadataRequest, StreamObserver)","u":"setMetadata(io.dapr.v1.DaprMetadataProtos.SetMetadataRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"setMetadata(DaprMetadataProtos.SetMetadataRequest, StreamObserver)","u":"setMetadata(io.dapr.v1.DaprMetadataProtos.SetMetadataRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"BulkPublishRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"DeleteStateRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"ExecuteStateTransactionRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"GetBulkSecretRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"GetBulkStateRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"GetConfigurationRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"GetSecretRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"GetStateRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"InvokeBindingRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"InvokeMethodRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"PublishEventRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"QueryStateRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"QueryStateResponse","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.client.domain","c":"SubscribeConfigurationRequest","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"setMetadata(Map)","u":"setMetadata(java.util.Map)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"setMethod(String)","u":"setMethod(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"setMethod(String)","u":"setMethod(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setMethod(String)","u":"setMethod(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"setMethodBytes(ByteString)","u":"setMethodBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"setMethodBytes(ByteString)","u":"setMethodBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setMethodBytes(ByteString)","u":"setMethodBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"setModel(String)","u":"setModel(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"setModelBytes(ByteString)","u":"setModelBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"AssistantMessage","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.client.domain","c":"DeveloperMessage","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.client.domain","c":"SystemMessage","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.client.domain","c":"ToolMessage","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.client.domain","c":"UserMessage","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.spring.boot.properties.pubsub","c":"DaprPubSubProperties","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.spring.boot.properties.statestore","c":"DaprStateStoreProperties","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"ListEntry","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"MetadataEntry","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Component","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"setName(String)","u":"setName(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setName(StringValue)","u":"setName(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setName(StringValue.Builder)","u":"setName(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"setNameBytes(ByteString)","u":"setNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"setNamePrefix(String)","u":"setNamePrefix(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"setNamePrefixBytes(ByteString)","u":"setNamePrefixBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setNewChildWorkflowInstanceID(String)","u":"setNewChildWorkflowInstanceID(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setNewChildWorkflowInstanceIDBytes(ByteString)","u":"setNewChildWorkflowInstanceIDBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setNewEvents(int, OrchestratorService.HistoryEvent)","u":"setNewEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setNewEvents(int, OrchestratorService.HistoryEvent.Builder)","u":"setNewEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setNewInstanceID(String)","u":"setNewInstanceID(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"setNewInstanceID(String)","u":"setNewInstanceID(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setNewInstanceIDBytes(ByteString)","u":"setNewInstanceIDBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"setNewInstanceIDBytes(ByteString)","u":"setNewInstanceIDBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setNewVersion(StringValue)","u":"setNewVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setNewVersion(StringValue.Builder)","u":"setNewVersion(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setNonce(ByteString)","u":"setNonce(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setNonce(ByteString)","u":"setNonce(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setNonce(ByteString)","u":"setNonce(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setNonce(ByteString)","u":"setNonce(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setNumEventsProcessed(Int32Value)","u":"setNumEventsProcessed(com.google.protobuf.Int32Value)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setNumEventsProcessed(Int32Value.Builder)","u":"setNumEventsProcessed(com.google.protobuf.Int32Value.Builder)"},{"p":"io.dapr.spring.boot.properties.pubsub","c":"DaprPubSubProperties","l":"setObservationEnabled(boolean)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setOfAssistant(DaprAiProtos.ConversationMessageOfAssistant)","u":"setOfAssistant(io.dapr.v1.DaprAiProtos.ConversationMessageOfAssistant)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setOfAssistant(DaprAiProtos.ConversationMessageOfAssistant.Builder)","u":"setOfAssistant(io.dapr.v1.DaprAiProtos.ConversationMessageOfAssistant.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setOfDeveloper(DaprAiProtos.ConversationMessageOfDeveloper)","u":"setOfDeveloper(io.dapr.v1.DaprAiProtos.ConversationMessageOfDeveloper)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setOfDeveloper(DaprAiProtos.ConversationMessageOfDeveloper.Builder)","u":"setOfDeveloper(io.dapr.v1.DaprAiProtos.ConversationMessageOfDeveloper.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setOfSystem(DaprAiProtos.ConversationMessageOfSystem)","u":"setOfSystem(io.dapr.v1.DaprAiProtos.ConversationMessageOfSystem)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setOfSystem(DaprAiProtos.ConversationMessageOfSystem.Builder)","u":"setOfSystem(io.dapr.v1.DaprAiProtos.ConversationMessageOfSystem.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setOfTool(DaprAiProtos.ConversationMessageOfTool)","u":"setOfTool(io.dapr.v1.DaprAiProtos.ConversationMessageOfTool)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setOfTool(DaprAiProtos.ConversationMessageOfTool.Builder)","u":"setOfTool(io.dapr.v1.DaprAiProtos.ConversationMessageOfTool.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setOfUser(DaprAiProtos.ConversationMessageOfUser)","u":"setOfUser(io.dapr.v1.DaprAiProtos.ConversationMessageOfUser)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setOfUser(DaprAiProtos.ConversationMessageOfUser.Builder)","u":"setOfUser(io.dapr.v1.DaprAiProtos.ConversationMessageOfUser.Builder)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"setOk(boolean)"},{"p":"io.dapr.client.domain","c":"EncryptRequestAlpha1","l":"setOmitDecryptionKeyName(boolean)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setOmitDecryptionKeyName(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setOperation(String)","u":"setOperation(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setOperation(String)","u":"setOperation(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"setOperation(String)","u":"setOperation(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"setOperation(String)","u":"setOperation(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setOperationBytes(ByteString)","u":"setOperationBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setOperationBytes(ByteString)","u":"setOperationBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"setOperationBytes(ByteString)","u":"setOperationBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"setOperationBytes(ByteString)","u":"setOperationBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setOperationInfos(int, OrchestratorService.OperationInfo)","u":"setOperationInfos(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setOperationInfos(int, OrchestratorService.OperationInfo.Builder)","u":"setOperationInfos(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationInfo.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"setOperationRequests(int, OrchestratorService.HistoryEvent)","u":"setOperationRequests(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"setOperationRequests(int, OrchestratorService.HistoryEvent.Builder)","u":"setOperationRequests(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"setOperations(int, DaprActorsProtos.TransactionalActorStateOperation)","u":"setOperations(int,io.dapr.v1.DaprActorsProtos.TransactionalActorStateOperation)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"setOperations(int, DaprActorsProtos.TransactionalActorStateOperation.Builder)","u":"setOperations(int,io.dapr.v1.DaprActorsProtos.TransactionalActorStateOperation.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"setOperations(int, DaprStateProtos.TransactionalStateOperation)","u":"setOperations(int,io.dapr.v1.DaprStateProtos.TransactionalStateOperation)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"setOperations(int, DaprStateProtos.TransactionalStateOperation.Builder)","u":"setOperations(int,io.dapr.v1.DaprStateProtos.TransactionalStateOperation.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"setOperations(int, OrchestratorService.OperationRequest)","u":"setOperations(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"setOperations(int, OrchestratorService.OperationRequest.Builder)","u":"setOperations(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationRequest.Builder)"},{"p":"io.dapr.client.domain","c":"ExecuteStateTransactionRequest","l":"setOperations(List>)","u":"setOperations(java.util.List)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"setOperationStatus(int, OrchestratorService.OrchestrationStatus)","u":"setOperationStatus(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationStatus)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"setOperationStatusValue(int, int)","u":"setOperationStatusValue(int,int)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"setOperationType(String)","u":"setOperationType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"setOperationType(String)","u":"setOperationType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"setOperationTypeBytes(ByteString)","u":"setOperationTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"setOperationTypeBytes(ByteString)","u":"setOperationTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"setOptions(CommonProtos.StateOptions)","u":"setOptions(io.dapr.v1.CommonProtos.StateOptions)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"setOptions(CommonProtos.StateOptions)","u":"setOptions(io.dapr.v1.CommonProtos.StateOptions)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"setOptions(CommonProtos.StateOptions.Builder)","u":"setOptions(io.dapr.v1.CommonProtos.StateOptions.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"setOptions(CommonProtos.StateOptions.Builder)","u":"setOptions(io.dapr.v1.CommonProtos.StateOptions.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"setOptions(DaprCryptoProtos.DecryptRequestOptions)","u":"setOptions(io.dapr.v1.DaprCryptoProtos.DecryptRequestOptions)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"setOptions(DaprCryptoProtos.DecryptRequestOptions.Builder)","u":"setOptions(io.dapr.v1.DaprCryptoProtos.DecryptRequestOptions.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"setOptions(DaprCryptoProtos.EncryptRequestOptions)","u":"setOptions(io.dapr.v1.DaprCryptoProtos.EncryptRequestOptions)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"setOptions(DaprCryptoProtos.EncryptRequestOptions.Builder)","u":"setOptions(io.dapr.v1.DaprCryptoProtos.EncryptRequestOptions.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setOrchestrationIdReusePolicy(OrchestratorService.OrchestrationIdReusePolicy)","u":"setOrchestrationIdReusePolicy(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationIdReusePolicy)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setOrchestrationIdReusePolicy(OrchestratorService.OrchestrationIdReusePolicy.Builder)","u":"setOrchestrationIdReusePolicy(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationIdReusePolicy.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setOrchestrationInstance(OrchestratorService.OrchestrationInstance)","u":"setOrchestrationInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setOrchestrationInstance(OrchestratorService.OrchestrationInstance)","u":"setOrchestrationInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setOrchestrationInstance(OrchestratorService.OrchestrationInstance)","u":"setOrchestrationInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setOrchestrationInstance(OrchestratorService.OrchestrationInstance.Builder)","u":"setOrchestrationInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setOrchestrationInstance(OrchestratorService.OrchestrationInstance.Builder)","u":"setOrchestrationInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setOrchestrationInstance(OrchestratorService.OrchestrationInstance.Builder)","u":"setOrchestrationInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setOrchestrationSpanID(StringValue)","u":"setOrchestrationSpanID(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setOrchestrationSpanID(StringValue.Builder)","u":"setOrchestrationSpanID(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"setOrchestrationState(int, OrchestratorService.OrchestrationState)","u":"setOrchestrationState(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"setOrchestrationState(int, OrchestratorService.OrchestrationState.Builder)","u":"setOrchestrationState(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"setOrchestrationState(OrchestratorService.OrchestrationState)","u":"setOrchestrationState(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"setOrchestrationState(OrchestratorService.OrchestrationState)","u":"setOrchestrationState(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"setOrchestrationState(OrchestratorService.OrchestrationState.Builder)","u":"setOrchestrationState(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"setOrchestrationState(OrchestratorService.OrchestrationState.Builder)","u":"setOrchestrationState(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationState.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setOrchestrationStatus(OrchestratorService.OrchestrationStatus)","u":"setOrchestrationStatus(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationStatus)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"setOrchestrationStatus(OrchestratorService.OrchestrationStatus)","u":"setOrchestrationStatus(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationStatus)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setOrchestrationStatus(OrchestratorService.OrchestrationStatus)","u":"setOrchestrationStatus(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationStatus)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setOrchestrationStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"setOrchestrationStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setOrchestrationStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setOrchestratorCompleted(OrchestratorService.OrchestratorCompletedEvent)","u":"setOrchestratorCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setOrchestratorCompleted(OrchestratorService.OrchestratorCompletedEvent.Builder)","u":"setOrchestratorCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorCompletedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setOrchestratorRequest(OrchestratorService.OrchestratorRequest)","u":"setOrchestratorRequest(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setOrchestratorRequest(OrchestratorService.OrchestratorRequest.Builder)","u":"setOrchestratorRequest(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorRequest.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setOrchestratorStarted(OrchestratorService.OrchestratorStartedEvent)","u":"setOrchestratorStarted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorStartedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setOrchestratorStarted(OrchestratorService.OrchestratorStartedEvent.Builder)","u":"setOrchestratorStarted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorStartedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setOrchestratorVersionNotAvailable(OrchestratorService.OrchestratorVersionNotAvailableAction)","u":"setOrchestratorVersionNotAvailable(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorVersionNotAvailableAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setOrchestratorVersionNotAvailable(OrchestratorService.OrchestratorVersionNotAvailableAction.Builder)","u":"setOrchestratorVersionNotAvailable(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestratorVersionNotAvailableAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"setOrphanedLocksReleased(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"setOutput(StringValue)","u":"setOutput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setOutput(StringValue)","u":"setOutput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"setOutput(StringValue)","u":"setOutput(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"setOutput(StringValue.Builder)","u":"setOutput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setOutput(StringValue.Builder)","u":"setOutput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"setOutput(StringValue.Builder)","u":"setOutput(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"setOutputs(int, DaprAiProtos.ConversationResult)","u":"setOutputs(int,io.dapr.v1.DaprAiProtos.ConversationResult)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"setOutputs(int, DaprAiProtos.ConversationResult.Builder)","u":"setOutputs(int,io.dapr.v1.DaprAiProtos.ConversationResult.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"setOutputs(int, DaprAiProtos.ConversationResultAlpha2)","u":"setOutputs(int,io.dapr.v1.DaprAiProtos.ConversationResultAlpha2)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"setOutputs(int, DaprAiProtos.ConversationResultAlpha2.Builder)","u":"setOutputs(int,io.dapr.v1.DaprAiProtos.ConversationResultAlpha2.Builder)"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"setOverwrite(boolean)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setOverwrite(boolean)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"setOverwrite(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setOverwriteInput(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"setPageSize(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setPageSize(Int32Value)","u":"setPageSize(com.google.protobuf.Int32Value)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setPageSize(Int32Value.Builder)","u":"setPageSize(com.google.protobuf.Int32Value.Builder)"},{"p":"io.dapr.client.domain.query","c":"Query","l":"setPagination(Pagination)","u":"setPagination(io.dapr.client.domain.query.Pagination)"},{"p":"io.dapr.client.domain","c":"GetBulkStateRequest","l":"setParallelism(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"setParallelism(int)"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"setParameters(Map)","u":"setParameters(java.util.Map)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"setParameters(Struct)","u":"setParameters(com.google.protobuf.Struct)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"setParameters(Struct.Builder)","u":"setParameters(com.google.protobuf.Struct.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setParentExecutionId(StringValue)","u":"setParentExecutionId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setParentExecutionId(StringValue.Builder)","u":"setParentExecutionId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setParentInstance(OrchestratorService.ParentInstanceInfo)","u":"setParentInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setParentInstance(OrchestratorService.ParentInstanceInfo.Builder)","u":"setParentInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ParentInstanceInfo.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"setParentInstanceId(StringValue)","u":"setParentInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setParentInstanceId(StringValue)","u":"setParentInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"setParentInstanceId(StringValue)","u":"setParentInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setParentInstanceId(StringValue)","u":"setParentInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"setParentInstanceId(StringValue.Builder)","u":"setParentInstanceId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setParentInstanceId(StringValue.Builder)","u":"setParentInstanceId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"setParentInstanceId(StringValue.Builder)","u":"setParentInstanceId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setParentInstanceId(StringValue.Builder)","u":"setParentInstanceId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setParentTraceContext(OrchestratorService.TraceContext)","u":"setParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setParentTraceContext(OrchestratorService.TraceContext)","u":"setParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setParentTraceContext(OrchestratorService.TraceContext)","u":"setParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setParentTraceContext(OrchestratorService.TraceContext)","u":"setParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setParentTraceContext(OrchestratorService.TraceContext)","u":"setParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setParentTraceContext(OrchestratorService.TraceContext.Builder)","u":"setParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setParentTraceContext(OrchestratorService.TraceContext.Builder)","u":"setParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setParentTraceContext(OrchestratorService.TraceContext.Builder)","u":"setParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setParentTraceContext(OrchestratorService.TraceContext.Builder)","u":"setParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setParentTraceContext(OrchestratorService.TraceContext.Builder)","u":"setParentTraceContext(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TraceContext.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setPastEvents(int, OrchestratorService.HistoryEvent)","u":"setPastEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setPastEvents(int, OrchestratorService.HistoryEvent.Builder)","u":"setPastEvents(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.HistoryEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"setPatches(int, String)","u":"setPatches(int,java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription.Rule","l":"setPath(String)","u":"setPath(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setPath(String)","u":"setPath(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setPath(String)","u":"setPath(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"setPath(String)","u":"setPath(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"setPath(String)","u":"setPath(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setPathBytes(ByteString)","u":"setPathBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setPathBytes(ByteString)","u":"setPathBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"setPathBytes(ByteString)","u":"setPathBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"setPathBytes(ByteString)","u":"setPathBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"setPayload(CommonProtos.StreamPayload)","u":"setPayload(io.dapr.v1.CommonProtos.StreamPayload)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"setPayload(CommonProtos.StreamPayload)","u":"setPayload(io.dapr.v1.CommonProtos.StreamPayload)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"setPayload(CommonProtos.StreamPayload)","u":"setPayload(io.dapr.v1.CommonProtos.StreamPayload)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"setPayload(CommonProtos.StreamPayload)","u":"setPayload(io.dapr.v1.CommonProtos.StreamPayload)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"setPayload(CommonProtos.StreamPayload.Builder)","u":"setPayload(io.dapr.v1.CommonProtos.StreamPayload.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"setPayload(CommonProtos.StreamPayload.Builder)","u":"setPayload(io.dapr.v1.CommonProtos.StreamPayload.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"setPayload(CommonProtos.StreamPayload.Builder)","u":"setPayload(io.dapr.v1.CommonProtos.StreamPayload.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"setPayload(CommonProtos.StreamPayload.Builder)","u":"setPayload(io.dapr.v1.CommonProtos.StreamPayload.Builder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setPeriod(String)","u":"setPeriod(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setPeriod(String)","u":"setPeriod(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setPeriod(String)","u":"setPeriod(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setPeriod(String)","u":"setPeriod(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setPeriodBytes(ByteString)","u":"setPeriodBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setPeriodBytes(ByteString)","u":"setPeriodBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setPeriodBytes(ByteString)","u":"setPeriodBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setPeriodBytes(ByteString)","u":"setPeriodBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"setPlacement(String)","u":"setPlacement(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"setPlacementBytes(ByteString)","u":"setPlacementBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"setPlaintext(ByteString)","u":"setPlaintext(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setPlaintext(ByteString)","u":"setPlaintext(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"setPlaintextKey(ByteString)","u":"setPlaintextKey(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setPlaintextKey(ByteString)","u":"setPlaintextKey(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"setPort(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"setPosition(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setPromptCacheRetention(Duration)","u":"setPromptCacheRetention(com.google.protobuf.Duration)"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"setPromptCacheRetention(Duration)","u":"setPromptCacheRetention(java.time.Duration)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setPromptCacheRetention(Duration.Builder)","u":"setPromptCacheRetention(com.google.protobuf.Duration.Builder)"},{"p":"io.dapr.client.domain","c":"ConversationResultCompletionUsage","l":"setPromptTokenDetails(ConversationResultPromptUsageDetails)","u":"setPromptTokenDetails(io.dapr.client.domain.ConversationResultPromptUsageDetails)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"setPromptTokens(long)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"setPromptTokensDetails(DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails)","u":"setPromptTokensDetails(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"setPromptTokensDetails(DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder)","u":"setPromptTokensDetails(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"setProtocol(String)","u":"setProtocol(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"setProtocolBytes(ByteString)","u":"setProtocolBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"setPublicKey(String)","u":"setPublicKey(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"setPublicKeyBytes(ByteString)","u":"setPublicKeyBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"setPubsubname(String)","u":"setPubsubname(java.lang.String)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setPubsubName(String)","u":"setPubsubName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setPubsubName(String)","u":"setPubsubName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setPubsubName(String)","u":"setPubsubName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setPubsubName(String)","u":"setPubsubName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setPubsubName(String)","u":"setPubsubName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"setPubsubName(String)","u":"setPubsubName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"setPubsubName(String)","u":"setPubsubName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"setPubsubName(String)","u":"setPubsubName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setPubsubNameBytes(ByteString)","u":"setPubsubNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setPubsubNameBytes(ByteString)","u":"setPubsubNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setPubsubNameBytes(ByteString)","u":"setPubsubNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setPubsubNameBytes(ByteString)","u":"setPubsubNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"setPubsubNameBytes(ByteString)","u":"setPubsubNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"setPubsubNameBytes(ByteString)","u":"setPubsubNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"setPubsubNameBytes(ByteString)","u":"setPubsubNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"setPurgeInstanceFilter(OrchestratorService.PurgeInstanceFilter)","u":"setPurgeInstanceFilter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstanceFilter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"setPurgeInstanceFilter(OrchestratorService.PurgeInstanceFilter.Builder)","u":"setPurgeInstanceFilter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.PurgeInstanceFilter.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"setQuery(OrchestratorService.EntityQuery)","u":"setQuery(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityQuery)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"setQuery(OrchestratorService.EntityQuery.Builder)","u":"setQuery(io.dapr.durabletask.implementation.protobuf.OrchestratorService.EntityQuery.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"setQuery(OrchestratorService.InstanceQuery)","u":"setQuery(io.dapr.durabletask.implementation.protobuf.OrchestratorService.InstanceQuery)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"setQuery(OrchestratorService.InstanceQuery.Builder)","u":"setQuery(io.dapr.durabletask.implementation.protobuf.OrchestratorService.InstanceQuery.Builder)"},{"p":"io.dapr.client.domain","c":"QueryStateRequest","l":"setQuery(Query)","u":"setQuery(io.dapr.client.domain.query.Query)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"setQuery(String)","u":"setQuery(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"setQueryBytes(ByteString)","u":"setQueryBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"setQuerystring(String)","u":"setQuerystring(java.lang.String)"},{"p":"io.dapr.client.domain","c":"QueryStateRequest","l":"setQueryString(String)","u":"setQueryString(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"setQuerystringBytes(ByteString)","u":"setQuerystringBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"setReason(OrchestratorService.StalledReason)","u":"setReason(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StalledReason)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"setReason(StringValue)","u":"setReason(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"setReason(StringValue)","u":"setReason(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"setReason(StringValue)","u":"setReason(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"setReason(StringValue)","u":"setReason(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"setReason(StringValue.Builder)","u":"setReason(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"setReason(StringValue.Builder)","u":"setReason(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"setReason(StringValue.Builder)","u":"setReason(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"setReason(StringValue.Builder)","u":"setReason(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"setReasoningTokens(long)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"setReasonValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"setRecreateIfExists(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"setRecurse(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"setRecurse(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"setRecursive(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"setRecursive(boolean)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setRegisteredComponents(int, DaprMetadataProtos.RegisteredComponents)","u":"setRegisteredComponents(int,io.dapr.v1.DaprMetadataProtos.RegisteredComponents)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setRegisteredComponents(int, DaprMetadataProtos.RegisteredComponents.Builder)","u":"setRegisteredComponents(int,io.dapr.v1.DaprMetadataProtos.RegisteredComponents.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"setRejectedPredictionTokens(long)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"setReleaseOrphanedLocks(boolean)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"setReminder(DaprActorsProtos.ActorReminder)","u":"setReminder(io.dapr.v1.DaprActorsProtos.ActorReminder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"setReminder(DaprActorsProtos.ActorReminder.Builder)","u":"setReminder(io.dapr.v1.DaprActorsProtos.ActorReminder.Builder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"setReminders(int, DaprActorsProtos.NamedActorReminder)","u":"setReminders(int,io.dapr.v1.DaprActorsProtos.NamedActorReminder)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"setReminders(int, DaprActorsProtos.NamedActorReminder.Builder)","u":"setReminders(int,io.dapr.v1.DaprActorsProtos.NamedActorReminder.Builder)"},{"p":"io.dapr.actors.runtime","c":"ActorRuntimeConfig","l":"setRemindersStoragePartitions(Integer)","u":"setRemindersStoragePartitions(java.lang.Integer)"},{"p":"io.dapr.actors.runtime","c":"ActorTypeConfig","l":"setRemindersStoragePartitions(Integer)","u":"setRemindersStoragePartitions(java.lang.Integer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"setRemoveEmptyEntities(boolean)"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"setRepeat(Integer)","u":"setRepeat(java.lang.Integer)"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"setRepeat(Integer)","u":"setRepeat(java.lang.Integer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"setRepeatedField(Descriptors.FieldDescriptor, int, Object)","u":"setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor,int,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setRepeats(int)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"setRequest(CommonProtos.StateItem)","u":"setRequest(io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"setRequest(CommonProtos.StateItem.Builder)","u":"setRequest(io.dapr.v1.CommonProtos.StateItem.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setRequestId(String)","u":"setRequestId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"setRequestId(String)","u":"setRequestId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"setRequestId(String)","u":"setRequestId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setRequestId(String)","u":"setRequestId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"setRequestId(String)","u":"setRequestId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"setRequestId(String)","u":"setRequestId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setRequestId(String)","u":"setRequestId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setRequestIdBytes(ByteString)","u":"setRequestIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"setRequestIdBytes(ByteString)","u":"setRequestIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"setRequestIdBytes(ByteString)","u":"setRequestIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setRequestIdBytes(ByteString)","u":"setRequestIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"setRequestIdBytes(ByteString)","u":"setRequestIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"setRequestIdBytes(ByteString)","u":"setRequestIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setRequestIdBytes(ByteString)","u":"setRequestIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setRequiresHistoryStreaming(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setRerunParentInstanceInfo(OrchestratorService.RerunParentInstanceInfo)","u":"setRerunParentInstanceInfo(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setRerunParentInstanceInfo(OrchestratorService.RerunParentInstanceInfo)","u":"setRerunParentInstanceInfo(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"setRerunParentInstanceInfo(OrchestratorService.RerunParentInstanceInfo)","u":"setRerunParentInstanceInfo(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunParentInstanceInfo)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setRerunParentInstanceInfo(OrchestratorService.RerunParentInstanceInfo.Builder)","u":"setRerunParentInstanceInfo(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunParentInstanceInfo.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setRerunParentInstanceInfo(OrchestratorService.RerunParentInstanceInfo.Builder)","u":"setRerunParentInstanceInfo(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunParentInstanceInfo.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"setRerunParentInstanceInfo(OrchestratorService.RerunParentInstanceInfo.Builder)","u":"setRerunParentInstanceInfo(io.dapr.durabletask.implementation.protobuf.OrchestratorService.RerunParentInstanceInfo.Builder)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"setResourceId(String)","u":"setResourceId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"setResourceId(String)","u":"setResourceId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"setResourceIdBytes(ByteString)","u":"setResourceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"setResourceIdBytes(ByteString)","u":"setResourceIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"setResponseDestination(OrchestratorService.OrchestrationInstance)","u":"setResponseDestination(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"setResponseDestination(OrchestratorService.OrchestrationInstance.Builder)","u":"setResponseDestination(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationInstance.Builder)"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"setResponseFormat(String)","u":"setResponseFormat(java.lang.String)"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"setResponseFormat(Struct)","u":"setResponseFormat(com.google.protobuf.Struct)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setResponseFormat(Struct)","u":"setResponseFormat(com.google.protobuf.Struct)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setResponseFormat(Struct.Builder)","u":"setResponseFormat(com.google.protobuf.Struct.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"setResult(String)","u":"setResult(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setResult(StringValue)","u":"setResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setResult(StringValue)","u":"setResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"setResult(StringValue)","u":"setResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"setResult(StringValue)","u":"setResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"setResult(StringValue)","u":"setResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"setResult(StringValue)","u":"setResult(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setResult(StringValue.Builder)","u":"setResult(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setResult(StringValue.Builder)","u":"setResult(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"setResult(StringValue.Builder)","u":"setResult(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"setResult(StringValue.Builder)","u":"setResult(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"setResult(StringValue.Builder)","u":"setResult(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"setResult(StringValue.Builder)","u":"setResult(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"setResultBytes(ByteString)","u":"setResultBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"setResults(int, DaprStateProtos.QueryStateItem)","u":"setResults(int,io.dapr.v1.DaprStateProtos.QueryStateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"setResults(int, DaprStateProtos.QueryStateItem.Builder)","u":"setResults(int,io.dapr.v1.DaprStateProtos.QueryStateItem.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setResults(int, OrchestratorService.OperationResult)","u":"setResults(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResult)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setResults(int, OrchestratorService.OperationResult.Builder)","u":"setResults(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResult.Builder)"},{"p":"io.dapr.durabletask","c":"RetryPolicy","l":"setRetryTimeout(Duration)","u":"setRetryTimeout(java.time.Duration)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy.Builder","l":"setRetryTimeout(Duration)","u":"setRetryTimeout(java.time.Duration)"},{"p":"io.dapr.client.domain","c":"ConversationInput","l":"setRole(String)","u":"setRole(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"setRole(String)","u":"setRole(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"setRoleBytes(ByteString)","u":"setRoleBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setRouter(OrchestratorService.TaskRouter)","u":"setRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setRouter(OrchestratorService.TaskRouter)","u":"setRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setRouter(OrchestratorService.TaskRouter)","u":"setRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setRouter(OrchestratorService.TaskRouter)","u":"setRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setRouter(OrchestratorService.TaskRouter)","u":"setRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setRouter(OrchestratorService.TaskRouter.Builder)","u":"setRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setRouter(OrchestratorService.TaskRouter.Builder)","u":"setRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setRouter(OrchestratorService.TaskRouter.Builder)","u":"setRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setRouter(OrchestratorService.TaskRouter.Builder)","u":"setRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setRouter(OrchestratorService.TaskRouter.Builder)","u":"setRouter(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskRouter.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setRoutes(DaprAppCallbackProtos.TopicRoutes)","u":"setRoutes(io.dapr.v1.DaprAppCallbackProtos.TopicRoutes)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setRoutes(DaprAppCallbackProtos.TopicRoutes.Builder)","u":"setRoutes(io.dapr.v1.DaprAppCallbackProtos.TopicRoutes.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setRules(DaprMetadataProtos.PubsubSubscriptionRules)","u":"setRules(io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRules)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setRules(DaprMetadataProtos.PubsubSubscriptionRules.Builder)","u":"setRules(io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRules.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"setRules(int, DaprAppCallbackProtos.TopicRule)","u":"setRules(int,io.dapr.v1.DaprAppCallbackProtos.TopicRule)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"setRules(int, DaprAppCallbackProtos.TopicRule.Builder)","u":"setRules(int,io.dapr.v1.DaprAppCallbackProtos.TopicRule.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"setRules(int, DaprMetadataProtos.PubsubSubscriptionRule)","u":"setRules(int,io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRule)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"setRules(int, DaprMetadataProtos.PubsubSubscriptionRule.Builder)","u":"setRules(int,io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionRule.Builder)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"setRules(List)","u":"setRules(java.util.List)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"setRuntimeStatus(DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus)","u":"setRuntimeStatus(io.dapr.v1.DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setRuntimeStatus(int, OrchestratorService.OrchestrationStatus)","u":"setRuntimeStatus(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationStatus)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"setRuntimeStatus(int, OrchestratorService.OrchestrationStatus)","u":"setRuntimeStatus(int,io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationStatus)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setRuntimeStatus(String)","u":"setRuntimeStatus(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setRuntimeStatusBytes(ByteString)","u":"setRuntimeStatusBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"setRuntimeStatusList(List)","u":"setRuntimeStatusList(java.util.List)"},{"p":"io.dapr.durabletask","c":"PurgeInstanceCriteria","l":"setRuntimeStatusList(List)","u":"setRuntimeStatusList(java.util.List)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"setRuntimeStatusValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setRuntimeStatusValue(int, int)","u":"setRuntimeStatusValue(int,int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"setRuntimeStatusValue(int, int)","u":"setRuntimeStatusValue(int,int)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"setRuntimeVersion(String)","u":"setRuntimeVersion(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setRuntimeVersion(String)","u":"setRuntimeVersion(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setRuntimeVersionBytes(ByteString)","u":"setRuntimeVersionBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"setSchedule(JobSchedule)","u":"setSchedule(io.dapr.client.domain.JobSchedule)"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"setSchedule(JobSchedule)","u":"setSchedule(io.dapr.client.domain.JobSchedule)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setSchedule(String)","u":"setSchedule(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setScheduleBytes(ByteString)","u":"setScheduleBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setScheduledStartTimestamp(Timestamp)","u":"setScheduledStartTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setScheduledStartTimestamp(Timestamp)","u":"setScheduledStartTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setScheduledStartTimestamp(Timestamp)","u":"setScheduledStartTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setScheduledStartTimestamp(Timestamp.Builder)","u":"setScheduledStartTimestamp(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setScheduledStartTimestamp(Timestamp.Builder)","u":"setScheduledStartTimestamp(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setScheduledStartTimestamp(Timestamp.Builder)","u":"setScheduledStartTimestamp(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setScheduledTime(Timestamp)","u":"setScheduledTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setScheduledTime(Timestamp)","u":"setScheduledTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"setScheduledTime(Timestamp)","u":"setScheduledTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setScheduledTime(Timestamp)","u":"setScheduledTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setScheduledTime(Timestamp)","u":"setScheduledTime(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setScheduledTime(Timestamp.Builder)","u":"setScheduledTime(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setScheduledTime(Timestamp.Builder)","u":"setScheduledTime(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"setScheduledTime(Timestamp.Builder)","u":"setScheduledTime(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setScheduledTime(Timestamp.Builder)","u":"setScheduledTime(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setScheduledTime(Timestamp.Builder)","u":"setScheduledTime(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setScheduler(DaprMetadataProtos.MetadataScheduler)","u":"setScheduler(io.dapr.v1.DaprMetadataProtos.MetadataScheduler)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setScheduler(DaprMetadataProtos.MetadataScheduler.Builder)","u":"setScheduler(io.dapr.v1.DaprMetadataProtos.MetadataScheduler.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setScheduleTask(OrchestratorService.ScheduleTaskAction)","u":"setScheduleTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ScheduleTaskAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setScheduleTask(OrchestratorService.ScheduleTaskAction.Builder)","u":"setScheduleTask(io.dapr.durabletask.implementation.protobuf.OrchestratorService.ScheduleTaskAction.Builder)"},{"p":"io.dapr.client.domain","c":"ConversationInput","l":"setScrubPii(boolean)"},{"p":"io.dapr.client.domain","c":"ConversationInputAlpha2","l":"setScrubPii(boolean)"},{"p":"io.dapr.client.domain","c":"ConversationRequest","l":"setScrubPii(boolean)"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"setScrubPii(boolean)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"setScrubPii(boolean)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setScrubPii(boolean)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"setScrubPII(boolean)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"setScrubPII(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setSendEntityMessage(OrchestratorService.SendEntityMessageAction)","u":"setSendEntityMessage(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendEntityMessageAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setSendEntityMessage(OrchestratorService.SendEntityMessageAction.Builder)","u":"setSendEntityMessage(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendEntityMessageAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setSendEvent(OrchestratorService.SendEventAction)","u":"setSendEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendEventAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setSendEvent(OrchestratorService.SendEventAction.Builder)","u":"setSendEvent(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendEventAction.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"setSendSignal(OrchestratorService.SendSignalAction)","u":"setSendSignal(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendSignalAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"setSendSignal(OrchestratorService.SendSignalAction.Builder)","u":"setSendSignal(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SendSignalAction.Builder)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"setSeq(long)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setSerializedState(StringValue)","u":"setSerializedState(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setSerializedState(StringValue.Builder)","u":"setSerializedState(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"setSignature(ByteString)","u":"setSignature(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"setSignature(ByteString)","u":"setSignature(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain.query","c":"Query","l":"setSort(List)","u":"setSort(java.util.List)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setSource(String)","u":"setSource(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setSource(String)","u":"setSource(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setSource(String)","u":"setSource(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"setSourceAppID(String)","u":"setSourceAppID(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"setSourceAppIDBytes(ByteString)","u":"setSourceAppIDBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setSourceBytes(ByteString)","u":"setSourceBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setSourceBytes(ByteString)","u":"setSourceBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setSourceInstanceID(String)","u":"setSourceInstanceID(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setSourceInstanceIDBytes(ByteString)","u":"setSourceInstanceIDBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"setSpanID(String)","u":"setSpanID(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"setSpanIDBytes(ByteString)","u":"setSpanIDBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setSpecversion(String)","u":"setSpecversion(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setSpecVersion(String)","u":"setSpecVersion(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setSpecVersion(String)","u":"setSpecVersion(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setSpecVersionBytes(ByteString)","u":"setSpecVersionBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setSpecVersionBytes(ByteString)","u":"setSpecVersionBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setStackTrace(StringValue)","u":"setStackTrace(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setStackTrace(StringValue.Builder)","u":"setStackTrace(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"setStartNewOrchestration(OrchestratorService.StartNewOrchestrationAction)","u":"setStartNewOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StartNewOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"setStartNewOrchestration(OrchestratorService.StartNewOrchestrationAction.Builder)","u":"setStartNewOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StartNewOrchestrationAction.Builder)"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"setStartTime(Instant)","u":"setStartTime(java.time.Instant)"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"setStartTime(Instant)","u":"setStartTime(java.time.Instant)"},{"p":"io.dapr.client.domain","c":"DeleteStateRequest","l":"setStateOptions(StateOptions)","u":"setStateOptions(io.dapr.client.domain.StateOptions)"},{"p":"io.dapr.client.domain","c":"GetStateRequest","l":"setStateOptions(StateOptions)","u":"setStateOptions(io.dapr.client.domain.StateOptions)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"setStates(int, CommonProtos.StateItem)","u":"setStates(int,io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"setStates(int, CommonProtos.StateItem)","u":"setStates(int,io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"setStates(int, CommonProtos.StateItem)","u":"setStates(int,io.dapr.v1.CommonProtos.StateItem)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"setStates(int, CommonProtos.StateItem.Builder)","u":"setStates(int,io.dapr.v1.CommonProtos.StateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"setStates(int, CommonProtos.StateItem.Builder)","u":"setStates(int,io.dapr.v1.CommonProtos.StateItem.Builder)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"setStates(int, CommonProtos.StateItem.Builder)","u":"setStates(int,io.dapr.v1.CommonProtos.StateItem.Builder)"},{"p":"io.dapr.client.domain","c":"SaveStateRequest","l":"setStates(List>)","u":"setStates(java.util.List)"},{"p":"io.dapr.client.domain","c":"SaveStateRequest","l":"setStates(State...)","u":"setStates(io.dapr.client.domain.State...)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"setStatus(DaprAppCallbackProtos.TopicEventResponse)","u":"setStatus(io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"setStatus(DaprAppCallbackProtos.TopicEventResponse.Builder)","u":"setStatus(io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"setStatus(DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus)","u":"setStatus(io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"setStatus(DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus)","u":"setStatus(io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"setStatus(DaprLockProtos.UnlockResponse.Status)","u":"setStatus(io.dapr.v1.DaprLockProtos.UnlockResponse.Status)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"setStatuses(int, DaprAppCallbackProtos.TopicEventBulkResponseEntry)","u":"setStatuses(int,io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"setStatuses(int, DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder)","u":"setStatuses(int,io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"setStatusValue(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"setStatusValue(int)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"setStatusValue(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"setStoreName(String)","u":"setStoreName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"setStoreNameBytes(ByteString)","u":"setStoreNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setSubOrchestrationInstanceCompleted(OrchestratorService.SubOrchestrationInstanceCompletedEvent)","u":"setSubOrchestrationInstanceCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setSubOrchestrationInstanceCompleted(OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder)","u":"setSubOrchestrationInstanceCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setSubOrchestrationInstanceCreated(OrchestratorService.SubOrchestrationInstanceCreatedEvent)","u":"setSubOrchestrationInstanceCreated(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceCreatedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setSubOrchestrationInstanceCreated(OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder)","u":"setSubOrchestrationInstanceCreated(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setSubOrchestrationInstanceFailed(OrchestratorService.SubOrchestrationInstanceFailedEvent)","u":"setSubOrchestrationInstanceFailed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setSubOrchestrationInstanceFailed(OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder)","u":"setSubOrchestrationInstanceFailed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"setSubscriptions(int, DaprAppCallbackProtos.TopicSubscription)","u":"setSubscriptions(int,io.dapr.v1.DaprAppCallbackProtos.TopicSubscription)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"setSubscriptions(int, DaprAppCallbackProtos.TopicSubscription.Builder)","u":"setSubscriptions(int,io.dapr.v1.DaprAppCallbackProtos.TopicSubscription.Builder)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setSubscriptions(int, DaprMetadataProtos.PubsubSubscription)","u":"setSubscriptions(int,io.dapr.v1.DaprMetadataProtos.PubsubSubscription)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setSubscriptions(int, DaprMetadataProtos.PubsubSubscription.Builder)","u":"setSubscriptions(int,io.dapr.v1.DaprMetadataProtos.PubsubSubscription.Builder)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Metadata","l":"setSubscriptions(List)","u":"setSubscriptions(java.util.List)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"setSuccess(boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"setSuccess(OrchestratorService.OperationResultSuccess)","u":"setSuccess(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResultSuccess)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"setSuccess(OrchestratorService.OperationResultSuccess.Builder)","u":"setSuccess(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OperationResultSuccess.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setTag(ByteString)","u":"setTag(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"setTag(ByteString)","u":"setTag(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setTag(ByteString)","u":"setTag(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"setTag(ByteString)","u":"setTag(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"setTargetAppID(String)","u":"setTargetAppID(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"setTargetAppIDBytes(ByteString)","u":"setTargetAppIDBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setTargetInstanceId(StringValue)","u":"setTargetInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setTargetInstanceId(StringValue)","u":"setTargetInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"setTargetInstanceId(StringValue)","u":"setTargetInstanceId(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setTargetInstanceId(StringValue.Builder)","u":"setTargetInstanceId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setTargetInstanceId(StringValue.Builder)","u":"setTargetInstanceId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"setTargetInstanceId(StringValue.Builder)","u":"setTargetInstanceId(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTaskCompleted(OrchestratorService.TaskCompletedEvent)","u":"setTaskCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskCompletedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTaskCompleted(OrchestratorService.TaskCompletedEvent.Builder)","u":"setTaskCompleted(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskCompletedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setTaskExecutionId(String)","u":"setTaskExecutionId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setTaskExecutionId(String)","u":"setTaskExecutionId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"setTaskExecutionId(String)","u":"setTaskExecutionId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"setTaskExecutionId(String)","u":"setTaskExecutionId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setTaskExecutionId(String)","u":"setTaskExecutionId(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setTaskExecutionIdBytes(ByteString)","u":"setTaskExecutionIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setTaskExecutionIdBytes(ByteString)","u":"setTaskExecutionIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"setTaskExecutionIdBytes(ByteString)","u":"setTaskExecutionIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"setTaskExecutionIdBytes(ByteString)","u":"setTaskExecutionIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setTaskExecutionIdBytes(ByteString)","u":"setTaskExecutionIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTaskFailed(OrchestratorService.TaskFailedEvent)","u":"setTaskFailed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTaskFailed(OrchestratorService.TaskFailedEvent.Builder)","u":"setTaskFailed(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskFailedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setTaskHubNames(int, StringValue)","u":"setTaskHubNames(int,com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setTaskHubNames(int, StringValue.Builder)","u":"setTaskHubNames(int,com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask","c":"OrchestrationStatusQuery","l":"setTaskHubNames(List)","u":"setTaskHubNames(java.util.List)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setTaskId(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setTaskId(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTaskScheduled(OrchestratorService.TaskScheduledEvent)","u":"setTaskScheduled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskScheduledEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTaskScheduled(OrchestratorService.TaskScheduledEvent.Builder)","u":"setTaskScheduled(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TaskScheduledEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setTaskScheduledId(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"setTaskScheduledId(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"setTaskScheduledId(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"setTaskScheduledId(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"setTaskScheduledId(int)"},{"p":"io.dapr.client.domain","c":"ConversationRequest","l":"setTemperature(double)"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"setTemperature(double)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"setTemperature(double)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setTemperature(double)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setTerminateOrchestration(OrchestratorService.TerminateOrchestrationAction)","u":"setTerminateOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateOrchestrationAction)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setTerminateOrchestration(OrchestratorService.TerminateOrchestrationAction.Builder)","u":"setTerminateOrchestration(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateOrchestrationAction.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"setText(String)","u":"setText(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"setTextBytes(ByteString)","u":"setTextBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setTime(OffsetDateTime)","u":"setTime(java.time.OffsetDateTime)"},{"p":"io.dapr.client.resiliency","c":"ResiliencyOptions","l":"setTimeout(Duration)","u":"setTimeout(java.time.Duration)"},{"p":"io.dapr.durabletask","c":"PurgeInstanceCriteria","l":"setTimeout(Duration)","u":"setTimeout(java.time.Duration)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTimerCreated(OrchestratorService.TimerCreatedEvent)","u":"setTimerCreated(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TimerCreatedEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTimerCreated(OrchestratorService.TimerCreatedEvent.Builder)","u":"setTimerCreated(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TimerCreatedEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTimerFired(OrchestratorService.TimerFiredEvent)","u":"setTimerFired(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TimerFiredEvent)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTimerFired(OrchestratorService.TimerFiredEvent.Builder)","u":"setTimerFired(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TimerFiredEvent.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"setTimerId(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTimestamp(Timestamp)","u":"setTimestamp(com.google.protobuf.Timestamp)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setTimestamp(Timestamp.Builder)","u":"setTimestamp(com.google.protobuf.Timestamp.Builder)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"setTo(int, String)","u":"setTo(int,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"setToken(String)","u":"setToken(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"setTokenBytes(ByteString)","u":"setTokenBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"setToolCalls(int, DaprAiProtos.ConversationToolCalls)","u":"setToolCalls(int,io.dapr.v1.DaprAiProtos.ConversationToolCalls)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"setToolCalls(int, DaprAiProtos.ConversationToolCalls)","u":"setToolCalls(int,io.dapr.v1.DaprAiProtos.ConversationToolCalls)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"setToolCalls(int, DaprAiProtos.ConversationToolCalls.Builder)","u":"setToolCalls(int,io.dapr.v1.DaprAiProtos.ConversationToolCalls.Builder)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"setToolCalls(int, DaprAiProtos.ConversationToolCalls.Builder)","u":"setToolCalls(int,io.dapr.v1.DaprAiProtos.ConversationToolCalls.Builder)"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"setToolChoice(String)","u":"setToolChoice(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setToolChoice(String)","u":"setToolChoice(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setToolChoiceBytes(ByteString)","u":"setToolChoiceBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"ToolMessage","l":"setToolId(String)","u":"setToolId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"setToolId(String)","u":"setToolId(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"setToolIdBytes(ByteString)","u":"setToolIdBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setTools(int, DaprAiProtos.ConversationTools)","u":"setTools(int,io.dapr.v1.DaprAiProtos.ConversationTools)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setTools(int, DaprAiProtos.ConversationTools.Builder)","u":"setTools(int,io.dapr.v1.DaprAiProtos.ConversationTools.Builder)"},{"p":"io.dapr.client.domain","c":"ConversationRequestAlpha2","l":"setTools(List)","u":"setTools(java.util.List)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setTopic(String)","u":"setTopic(java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"setTopic(String)","u":"setTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setTopic(String)","u":"setTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setTopic(String)","u":"setTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setTopic(String)","u":"setTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setTopic(String)","u":"setTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"setTopic(String)","u":"setTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"setTopic(String)","u":"setTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"setTopic(String)","u":"setTopic(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setTopicBytes(ByteString)","u":"setTopicBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setTopicBytes(ByteString)","u":"setTopicBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setTopicBytes(ByteString)","u":"setTopicBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setTopicBytes(ByteString)","u":"setTopicBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"setTopicBytes(ByteString)","u":"setTopicBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"setTopicBytes(ByteString)","u":"setTopicBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"setTopicBytes(ByteString)","u":"setTopicBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"setTotalTokens(long)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setTraceId(String)","u":"setTraceId(java.lang.String)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setTraceParent(String)","u":"setTraceParent(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"setTraceParent(String)","u":"setTraceParent(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"setTraceParentBytes(ByteString)","u":"setTraceParentBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setTraceState(String)","u":"setTraceState(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"setTraceState(StringValue)","u":"setTraceState(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"setTraceState(StringValue.Builder)","u":"setTraceState(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.client.domain","c":"GetJobResponse","l":"setTtl(Instant)","u":"setTtl(java.time.Instant)"},{"p":"io.dapr.client.domain","c":"ScheduleJobRequest","l":"setTtl(Instant)","u":"setTtl(java.time.Instant)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setTtl(String)","u":"setTtl(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setTtl(String)","u":"setTtl(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setTtl(String)","u":"setTtl(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setTtl(String)","u":"setTtl(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setTtl(String)","u":"setTtl(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setTtlBytes(ByteString)","u":"setTtlBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setTtlBytes(ByteString)","u":"setTtlBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setTtlBytes(ByteString)","u":"setTtlBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setTtlBytes(ByteString)","u":"setTtlBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setTtlBytes(ByteString)","u":"setTtlBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setType(DaprMetadataProtos.PubsubSubscriptionType)","u":"setType(io.dapr.v1.DaprMetadataProtos.PubsubSubscriptionType)"},{"p":"io.dapr.client.domain","c":"CloudEvent","l":"setType(String)","u":"setType(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"ListEntry","l":"setType(String)","u":"setType(java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Actor","l":"setType(String)","u":"setType(java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Component","l":"setType(String)","u":"setType(java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"setType(String)","u":"setType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setType(String)","u":"setType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setType(String)","u":"setType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setType(String)","u":"setType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"setType(String)","u":"setType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"setType(String)","u":"setType(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setTypeBytes(ByteString)","u":"setTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setTypeBytes(ByteString)","u":"setTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setTypeBytes(ByteString)","u":"setTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"setTypeBytes(ByteString)","u":"setTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"setTypeBytes(ByteString)","u":"setTypeBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setTypeValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"setUnknownFields(UnknownFieldSet)","u":"setUnknownFields(com.google.protobuf.UnknownFieldSet)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"setUsage(DaprAiProtos.ConversationResultAlpha2CompletionUsage)","u":"setUsage(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsage)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2.Builder","l":"setUsage(DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder)","u":"setUsage(io.dapr.v1.DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse.Builder","l":"setValid(boolean)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"setValue(Any)","u":"setValue(com.google.protobuf.Any)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation.Builder","l":"setValue(Any.Builder)","u":"setValue(com.google.protobuf.Any.Builder)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem.Builder","l":"setValue(ByteString)","u":"setValue(com.google.protobuf.ByteString)"},{"p":"io.dapr.testcontainers","c":"MetadataEntry","l":"setValue(String)","u":"setValue(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"setValue(String)","u":"setValue(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"setValue(String)","u":"setValue(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"setValue(String)","u":"setValue(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"setValueBytes(ByteString)","u":"setValueBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag.Builder","l":"setValueBytes(ByteString)","u":"setValueBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest.Builder","l":"setValueBytes(ByteString)","u":"setValueBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"setVerb(CommonProtos.HTTPExtension.Verb)","u":"setVerb(io.dapr.v1.CommonProtos.HTTPExtension.Verb)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Builder","l":"setVerbValue(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setVersion(OrchestratorService.OrchestrationVersion)","u":"setVersion(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationVersion)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"setVersion(OrchestratorService.OrchestrationVersion)","u":"setVersion(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationVersion)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse.Builder","l":"setVersion(OrchestratorService.OrchestrationVersion.Builder)","u":"setVersion(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationVersion.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent.Builder","l":"setVersion(OrchestratorService.OrchestrationVersion.Builder)","u":"setVersion(io.dapr.durabletask.implementation.protobuf.OrchestratorService.OrchestrationVersion.Builder)"},{"p":"io.dapr.durabletask","c":"NewOrchestrationInstanceOptions","l":"setVersion(String)","u":"setVersion(java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Component","l":"setVersion(String)","u":"setVersion(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"setVersion(String)","u":"setVersion(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"setVersion(String)","u":"setVersion(java.lang.String)"},{"p":"io.dapr.workflows.client","c":"NewWorkflowOptions","l":"setVersion(String)","u":"setVersion(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setVersion(StringValue)","u":"setVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setVersion(StringValue)","u":"setVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setVersion(StringValue)","u":"setVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setVersion(StringValue)","u":"setVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setVersion(StringValue)","u":"setVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setVersion(StringValue)","u":"setVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setVersion(StringValue)","u":"setVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setVersion(StringValue)","u":"setVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setVersion(StringValue)","u":"setVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setVersion(StringValue)","u":"setVersion(com.google.protobuf.StringValue)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest.Builder","l":"setVersion(StringValue.Builder)","u":"setVersion(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest.Builder","l":"setVersion(StringValue.Builder)","u":"setVersion(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction.Builder","l":"setVersion(StringValue.Builder)","u":"setVersion(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent.Builder","l":"setVersion(StringValue.Builder)","u":"setVersion(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState.Builder","l":"setVersion(StringValue.Builder)","u":"setVersion(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo.Builder","l":"setVersion(StringValue.Builder)","u":"setVersion(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction.Builder","l":"setVersion(StringValue.Builder)","u":"setVersion(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction.Builder","l":"setVersion(StringValue.Builder)","u":"setVersion(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder","l":"setVersion(StringValue.Builder)","u":"setVersion(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent.Builder","l":"setVersion(StringValue.Builder)","u":"setVersion(com.google.protobuf.StringValue.Builder)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem.Builder","l":"setVersionBytes(ByteString)","u":"setVersionBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents.Builder","l":"setVersionBytes(ByteString)","u":"setVersionBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"setWorkflowComponent(String)","u":"setWorkflowComponent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"setWorkflowComponent(String)","u":"setWorkflowComponent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"setWorkflowComponent(String)","u":"setWorkflowComponent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"setWorkflowComponent(String)","u":"setWorkflowComponent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"setWorkflowComponent(String)","u":"setWorkflowComponent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"setWorkflowComponent(String)","u":"setWorkflowComponent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"setWorkflowComponent(String)","u":"setWorkflowComponent(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest.Builder","l":"setWorkflowComponentBytes(ByteString)","u":"setWorkflowComponentBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest.Builder","l":"setWorkflowComponentBytes(ByteString)","u":"setWorkflowComponentBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder","l":"setWorkflowComponentBytes(ByteString)","u":"setWorkflowComponentBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder","l":"setWorkflowComponentBytes(ByteString)","u":"setWorkflowComponentBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder","l":"setWorkflowComponentBytes(ByteString)","u":"setWorkflowComponentBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"setWorkflowComponentBytes(ByteString)","u":"setWorkflowComponentBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder","l":"setWorkflowComponentBytes(ByteString)","u":"setWorkflowComponentBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setWorkflowName(String)","u":"setWorkflowName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"setWorkflowName(String)","u":"setWorkflowName(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse.Builder","l":"setWorkflowNameBytes(ByteString)","u":"setWorkflowNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest.Builder","l":"setWorkflowNameBytes(ByteString)","u":"setWorkflowNameBytes(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setWorkflows(DaprMetadataProtos.MetadataWorkflows)","u":"setWorkflows(io.dapr.v1.DaprMetadataProtos.MetadataWorkflows)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse.Builder","l":"setWorkflows(DaprMetadataProtos.MetadataWorkflows.Builder)","u":"setWorkflows(io.dapr.v1.DaprMetadataProtos.MetadataWorkflows.Builder)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder","l":"setWrappedKey(ByteString)","u":"setWrappedKey(com.google.protobuf.ByteString)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder","l":"setWrappedKey(ByteString)","u":"setWrappedKey(com.google.protobuf.ByteString)"},{"p":"io.dapr.utils","c":"TypeRef","l":"SHORT"},{"p":"io.dapr.client","c":"DaprClient","l":"shutdown()"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"shutdown()"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"shutdown(DaprProtos.ShutdownRequest)","u":"shutdown(io.dapr.v1.DaprProtos.ShutdownRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"shutdown(DaprProtos.ShutdownRequest)","u":"shutdown(io.dapr.v1.DaprProtos.ShutdownRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"shutdown(DaprProtos.ShutdownRequest)","u":"shutdown(io.dapr.v1.DaprProtos.ShutdownRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"shutdown(DaprProtos.ShutdownRequest, StreamObserver)","u":"shutdown(io.dapr.v1.DaprProtos.ShutdownRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"shutdown(DaprProtos.ShutdownRequest, StreamObserver)","u":"shutdown(io.dapr.v1.DaprProtos.ShutdownRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.config","c":"Properties","l":"SIDECAR_IP"},{"p":"io.dapr.durabletask.runner","c":"DurableRunner","l":"sidecarClient"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"signalEntity(OrchestratorService.SignalEntityRequest)","u":"signalEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SignalEntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"signalEntity(OrchestratorService.SignalEntityRequest)","u":"signalEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SignalEntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"signalEntity(OrchestratorService.SignalEntityRequest)","u":"signalEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SignalEntityRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"signalEntity(OrchestratorService.SignalEntityRequest, StreamObserver)","u":"signalEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SignalEntityRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"signalEntity(OrchestratorService.SignalEntityRequest, StreamObserver)","u":"signalEntity(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SignalEntityRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"SIGNATURE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"SIGNATURE_FIELD_NUMBER"},{"p":"io.dapr.client.domain.query","c":"Sorting","l":"Sorting(String, Sorting.Order)","u":"%3Cinit%3E(java.lang.String,io.dapr.client.domain.query.Sorting.Order)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"SOURCE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"SOURCE_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"SOURCEAPPID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"SOURCEINSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"SPANID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"SPEC_VERSION_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"SPEC_VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"STACKTRACE_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"OrchestrationRuntimeStatus","l":"STALLED"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorker","l":"start()"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"start()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntime","l":"start()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntime","l":"start(boolean)"},{"p":"io.dapr.internal.subscription","c":"EventSubscriberStreamObserver","l":"start(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1)","u":"start(io.dapr.v1.DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorker","l":"startAndBlock()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"startInstance(OrchestratorService.CreateInstanceRequest)","u":"startInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"startInstance(OrchestratorService.CreateInstanceRequest)","u":"startInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"startInstance(OrchestratorService.CreateInstanceRequest)","u":"startInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"startInstance(OrchestratorService.CreateInstanceRequest, StreamObserver)","u":"startInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateInstanceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"startInstance(OrchestratorService.CreateInstanceRequest, StreamObserver)","u":"startInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.CreateInstanceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.OperationActionTypeCase","l":"STARTNEWORCHESTRATION"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"STARTNEWORCHESTRATION_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"startWorkflowAlpha1(DaprWorkflowProtos.StartWorkflowRequest)","u":"startWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"startWorkflowAlpha1(DaprWorkflowProtos.StartWorkflowRequest)","u":"startWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"startWorkflowAlpha1(DaprWorkflowProtos.StartWorkflowRequest)","u":"startWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"startWorkflowAlpha1(DaprWorkflowProtos.StartWorkflowRequest, StreamObserver)","u":"startWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"startWorkflowAlpha1(DaprWorkflowProtos.StartWorkflowRequest, StreamObserver)","u":"startWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"startWorkflowBeta1(DaprWorkflowProtos.StartWorkflowRequest)","u":"startWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"startWorkflowBeta1(DaprWorkflowProtos.StartWorkflowRequest)","u":"startWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"startWorkflowBeta1(DaprWorkflowProtos.StartWorkflowRequest)","u":"startWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"startWorkflowBeta1(DaprWorkflowProtos.StartWorkflowRequest, StreamObserver)","u":"startWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"startWorkflowBeta1(DaprWorkflowProtos.StartWorkflowRequest, StreamObserver)","u":"startWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.StartWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"State","l":"State(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.client.domain","c":"State","l":"State(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.client.domain","c":"State","l":"State(String, String, StateOptions)","u":"%3Cinit%3E(java.lang.String,java.lang.String,io.dapr.client.domain.StateOptions)"},{"p":"io.dapr.client.domain","c":"State","l":"State(String, T, String)","u":"%3Cinit%3E(java.lang.String,T,java.lang.String)"},{"p":"io.dapr.client.domain","c":"State","l":"State(String, T, String, Map, StateOptions)","u":"%3Cinit%3E(java.lang.String,T,java.lang.String,java.util.Map,io.dapr.client.domain.StateOptions)"},{"p":"io.dapr.client.domain","c":"State","l":"State(String, T, String, StateOptions)","u":"%3Cinit%3E(java.lang.String,T,java.lang.String,io.dapr.client.domain.StateOptions)"},{"p":"io.dapr.client.domain","c":"StateOptions.StateOptionDurationDeserializer","l":"StateOptionDurationDeserializer(Class)","u":"%3Cinit%3E(java.lang.Class)"},{"p":"io.dapr.client.domain","c":"StateOptions.StateOptionDurationSerializer","l":"StateOptionDurationSerializer()","u":"%3Cinit%3E()"},{"p":"io.dapr.client.domain","c":"StateOptions.StateOptionDurationSerializer","l":"StateOptionDurationSerializer(Class)","u":"%3Cinit%3E(java.lang.Class)"},{"p":"io.dapr.client.domain","c":"StateOptions","l":"StateOptions(StateOptions.Consistency, StateOptions.Concurrency)","u":"%3Cinit%3E(io.dapr.client.domain.StateOptions.Consistency,io.dapr.client.domain.StateOptions.Concurrency)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"STATES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"STATES_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"STATES_FIELD_NUMBER"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"stateSerializer"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"STATUS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"STATUS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"STATUS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"STATUS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"STATUSES_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorker","l":"stop()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"STORE_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"STORENAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"STREAMING"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"STREAMING_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"streamInstanceHistory(OrchestratorService.StreamInstanceHistoryRequest)","u":"streamInstanceHistory(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StreamInstanceHistoryRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"streamInstanceHistory(OrchestratorService.StreamInstanceHistoryRequest)","u":"streamInstanceHistory(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StreamInstanceHistoryRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"streamInstanceHistory(OrchestratorService.StreamInstanceHistoryRequest, StreamObserver)","u":"streamInstanceHistory(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StreamInstanceHistoryRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"streamInstanceHistory(OrchestratorService.StreamInstanceHistoryRequest, StreamObserver)","u":"streamInstanceHistory(io.dapr.durabletask.implementation.protobuf.OrchestratorService.StreamInstanceHistoryRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.utils","c":"TypeRef","l":"STRING"},{"p":"io.dapr.utils","c":"TypeRef","l":"STRING_ARRAY"},{"p":"io.dapr.config","c":"Properties","l":"STRING_CHARSET"},{"p":"io.dapr.client.domain","c":"StateOptions.Consistency","l":"STRONG"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"SUBORCHESTRATIONINSTANCECOMPLETED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"SUBORCHESTRATIONINSTANCECOMPLETED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"SUBORCHESTRATIONINSTANCECREATED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"SUBORCHESTRATIONINSTANCECREATED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"SUBORCHESTRATIONINSTANCEFAILED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"SUBORCHESTRATIONINSTANCEFAILED_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"subscribeConfiguration(DaprConfigurationProtos.SubscribeConfigurationRequest)","u":"subscribeConfiguration(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"subscribeConfiguration(DaprConfigurationProtos.SubscribeConfigurationRequest)","u":"subscribeConfiguration(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"subscribeConfiguration(DaprConfigurationProtos.SubscribeConfigurationRequest, StreamObserver)","u":"subscribeConfiguration(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"subscribeConfiguration(DaprConfigurationProtos.SubscribeConfigurationRequest, StreamObserver)","u":"subscribeConfiguration(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"subscribeConfiguration(String, List, Map)","u":"subscribeConfiguration(java.lang.String,java.util.List,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClient","l":"subscribeConfiguration(String, List, Map)","u":"subscribeConfiguration(java.lang.String,java.util.List,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"subscribeConfiguration(String, String...)","u":"subscribeConfiguration(java.lang.String,java.lang.String...)"},{"p":"io.dapr.client","c":"DaprClient","l":"subscribeConfiguration(String, String...)","u":"subscribeConfiguration(java.lang.String,java.lang.String...)"},{"p":"io.dapr.client","c":"DaprClient","l":"subscribeConfiguration(SubscribeConfigurationRequest)","u":"subscribeConfiguration(io.dapr.client.domain.SubscribeConfigurationRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"subscribeConfiguration(SubscribeConfigurationRequest)","u":"subscribeConfiguration(io.dapr.client.domain.SubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"subscribeConfigurationAlpha1(DaprConfigurationProtos.SubscribeConfigurationRequest)","u":"subscribeConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"subscribeConfigurationAlpha1(DaprConfigurationProtos.SubscribeConfigurationRequest)","u":"subscribeConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"subscribeConfigurationAlpha1(DaprConfigurationProtos.SubscribeConfigurationRequest, StreamObserver)","u":"subscribeConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"subscribeConfigurationAlpha1(DaprConfigurationProtos.SubscribeConfigurationRequest, StreamObserver)","u":"subscribeConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.SubscribeConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"SubscribeConfigurationRequest","l":"SubscribeConfigurationRequest(String, List)","u":"%3Cinit%3E(java.lang.String,java.util.List)"},{"p":"io.dapr.client.domain","c":"SubscribeConfigurationResponse","l":"SubscribeConfigurationResponse(String, Map)","u":"%3Cinit%3E(java.lang.String,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"subscribeToEvents(String, String, SubscriptionListener, TypeRef)","u":"subscribeToEvents(java.lang.String,java.lang.String,io.dapr.client.SubscriptionListener,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"subscribeToEvents(String, String, SubscriptionListener, TypeRef)","u":"subscribeToEvents(java.lang.String,java.lang.String,io.dapr.client.SubscriptionListener,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"subscribeToEvents(String, String, TypeRef)","u":"subscribeToEvents(java.lang.String,java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"subscribeToEvents(String, String, TypeRef)","u":"subscribeToEvents(java.lang.String,java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"subscribeToEvents(String, String, TypeRef, Map)","u":"subscribeToEvents(java.lang.String,java.lang.String,io.dapr.utils.TypeRef,java.util.Map)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"subscribeToEvents(String, String, TypeRef, Map)","u":"subscribeToEvents(java.lang.String,java.lang.String,io.dapr.utils.TypeRef,java.util.Map)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"subscribeTopicEventsAlpha1()"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"subscribeTopicEventsAlpha1(StreamObserver)","u":"subscribeTopicEventsAlpha1(io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"subscribeTopicEventsAlpha1(StreamObserver)","u":"subscribeTopicEventsAlpha1(io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.SubscribeTopicEventsRequestTypeCase","l":"SUBSCRIBETOPICEVENTSREQUESTTYPE_NOT_SET"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.SubscribeTopicEventsResponseTypeCase","l":"SUBSCRIBETOPICEVENTSRESPONSETYPE_NOT_SET"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"subscribeToTopic(String, String, TypeRef)","u":"subscribeToTopic(java.lang.String,java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"subscribeToTopic(String, String, TypeRef)","u":"subscribeToTopic(java.lang.String,java.lang.String,io.dapr.utils.TypeRef)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"subscribeToTopic(String, String, TypeRef, Map)","u":"subscribeToTopic(java.lang.String,java.lang.String,io.dapr.utils.TypeRef,java.util.Map)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"subscribeToTopic(String, String, TypeRef, Map)","u":"subscribeToTopic(java.lang.String,java.lang.String,io.dapr.utils.TypeRef,java.util.Map)"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","c":"Subscription","l":"Subscription()","u":"%3Cinit%3E()"},{"p":"io.dapr.testcontainers","c":"Subscription","l":"Subscription(String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"io.dapr.client.domain","c":"SubscriptionMetadata","l":"SubscriptionMetadata(String, String, Map, List, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.util.Map,java.util.List,java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"SUBSCRIPTIONS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"SUBSCRIPTIONS_FIELD_NUMBER"},{"p":"io.dapr.testcontainers.wait.strategy","c":"SubscriptionWaitStrategy","l":"SubscriptionWaitStrategy(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.testcontainers.converter","c":"SubscriptionYamlConverter","l":"SubscriptionYamlConverter(Yaml)","u":"%3Cinit%3E(org.yaml.snakeyaml.Yaml)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"subtleDecryptAlpha1(DaprCryptoProtos.SubtleDecryptRequest)","u":"subtleDecryptAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleDecryptRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"subtleDecryptAlpha1(DaprCryptoProtos.SubtleDecryptRequest)","u":"subtleDecryptAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleDecryptRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"subtleDecryptAlpha1(DaprCryptoProtos.SubtleDecryptRequest)","u":"subtleDecryptAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleDecryptRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"subtleDecryptAlpha1(DaprCryptoProtos.SubtleDecryptRequest, StreamObserver)","u":"subtleDecryptAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleDecryptRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"subtleDecryptAlpha1(DaprCryptoProtos.SubtleDecryptRequest, StreamObserver)","u":"subtleDecryptAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleDecryptRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"subtleEncryptAlpha1(DaprCryptoProtos.SubtleEncryptRequest)","u":"subtleEncryptAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleEncryptRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"subtleEncryptAlpha1(DaprCryptoProtos.SubtleEncryptRequest)","u":"subtleEncryptAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleEncryptRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"subtleEncryptAlpha1(DaprCryptoProtos.SubtleEncryptRequest)","u":"subtleEncryptAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleEncryptRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"subtleEncryptAlpha1(DaprCryptoProtos.SubtleEncryptRequest, StreamObserver)","u":"subtleEncryptAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleEncryptRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"subtleEncryptAlpha1(DaprCryptoProtos.SubtleEncryptRequest, StreamObserver)","u":"subtleEncryptAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleEncryptRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"subtleGetKeyAlpha1(DaprCryptoProtos.SubtleGetKeyRequest)","u":"subtleGetKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleGetKeyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"subtleGetKeyAlpha1(DaprCryptoProtos.SubtleGetKeyRequest)","u":"subtleGetKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleGetKeyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"subtleGetKeyAlpha1(DaprCryptoProtos.SubtleGetKeyRequest)","u":"subtleGetKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleGetKeyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"subtleGetKeyAlpha1(DaprCryptoProtos.SubtleGetKeyRequest, StreamObserver)","u":"subtleGetKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleGetKeyRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"subtleGetKeyAlpha1(DaprCryptoProtos.SubtleGetKeyRequest, StreamObserver)","u":"subtleGetKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleGetKeyRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"subtleSignAlpha1(DaprCryptoProtos.SubtleSignRequest)","u":"subtleSignAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleSignRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"subtleSignAlpha1(DaprCryptoProtos.SubtleSignRequest)","u":"subtleSignAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleSignRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"subtleSignAlpha1(DaprCryptoProtos.SubtleSignRequest)","u":"subtleSignAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleSignRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"subtleSignAlpha1(DaprCryptoProtos.SubtleSignRequest, StreamObserver)","u":"subtleSignAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleSignRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"subtleSignAlpha1(DaprCryptoProtos.SubtleSignRequest, StreamObserver)","u":"subtleSignAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleSignRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"subtleUnwrapKeyAlpha1(DaprCryptoProtos.SubtleUnwrapKeyRequest)","u":"subtleUnwrapKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleUnwrapKeyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"subtleUnwrapKeyAlpha1(DaprCryptoProtos.SubtleUnwrapKeyRequest)","u":"subtleUnwrapKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleUnwrapKeyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"subtleUnwrapKeyAlpha1(DaprCryptoProtos.SubtleUnwrapKeyRequest)","u":"subtleUnwrapKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleUnwrapKeyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"subtleUnwrapKeyAlpha1(DaprCryptoProtos.SubtleUnwrapKeyRequest, StreamObserver)","u":"subtleUnwrapKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleUnwrapKeyRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"subtleUnwrapKeyAlpha1(DaprCryptoProtos.SubtleUnwrapKeyRequest, StreamObserver)","u":"subtleUnwrapKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleUnwrapKeyRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"subtleVerifyAlpha1(DaprCryptoProtos.SubtleVerifyRequest)","u":"subtleVerifyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleVerifyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"subtleVerifyAlpha1(DaprCryptoProtos.SubtleVerifyRequest)","u":"subtleVerifyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleVerifyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"subtleVerifyAlpha1(DaprCryptoProtos.SubtleVerifyRequest)","u":"subtleVerifyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleVerifyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"subtleVerifyAlpha1(DaprCryptoProtos.SubtleVerifyRequest, StreamObserver)","u":"subtleVerifyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleVerifyRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"subtleVerifyAlpha1(DaprCryptoProtos.SubtleVerifyRequest, StreamObserver)","u":"subtleVerifyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleVerifyRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"subtleWrapKeyAlpha1(DaprCryptoProtos.SubtleWrapKeyRequest)","u":"subtleWrapKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleWrapKeyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"subtleWrapKeyAlpha1(DaprCryptoProtos.SubtleWrapKeyRequest)","u":"subtleWrapKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleWrapKeyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"subtleWrapKeyAlpha1(DaprCryptoProtos.SubtleWrapKeyRequest)","u":"subtleWrapKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleWrapKeyRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"subtleWrapKeyAlpha1(DaprCryptoProtos.SubtleWrapKeyRequest, StreamObserver)","u":"subtleWrapKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleWrapKeyRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"subtleWrapKeyAlpha1(DaprCryptoProtos.SubtleWrapKeyRequest, StreamObserver)","u":"subtleWrapKeyAlpha1(io.dapr.v1.DaprCryptoProtos.SubtleWrapKeyRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"BulkSubscribeAppResponseStatus","l":"SUCCESS"},{"p":"io.dapr.client.domain","c":"UnlockResponseStatus","l":"SUCCESS"},{"p":"io.dapr.client","c":"SubscriptionListener.Status","l":"SUCCESS"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.ResultTypeCase","l":"SUCCESS"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"SUCCESS"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"SUCCESS"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"SUCCESS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"SUCCESS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"SUCCESS_VALUE"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"SUCCESS_VALUE"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingObservationConvention","l":"supportsContext(Observation.Context)","u":"supportsContext(io.micrometer.observation.Observation.Context)"},{"p":"io.dapr.durabletask","c":"OrchestrationRuntimeStatus","l":"SUSPENDED"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"SUSPENDED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"suspendInstance(OrchestratorService.SuspendRequest)","u":"suspendInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SuspendRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"suspendInstance(OrchestratorService.SuspendRequest)","u":"suspendInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SuspendRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"suspendInstance(OrchestratorService.SuspendRequest)","u":"suspendInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SuspendRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"suspendInstance(OrchestratorService.SuspendRequest, StreamObserver)","u":"suspendInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SuspendRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"suspendInstance(OrchestratorService.SuspendRequest, StreamObserver)","u":"suspendInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.SuspendRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"suspendInstance(String)","u":"suspendInstance(java.lang.String)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"suspendInstance(String, String)","u":"suspendInstance(java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"suspendInstance(String, String)","u":"suspendInstance(java.lang.String,java.lang.String)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"suspendWorkflow(String, String)","u":"suspendWorkflow(java.lang.String,java.lang.String)"},{"p":"io.dapr.client.domain","c":"ConversationMessageRole","l":"SYSTEM"},{"p":"io.dapr.client.domain","c":"SystemMessage","l":"SystemMessage(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"TAG_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"TAG_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"TAG_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"TAG_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"TAGS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"TAGS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"TAGS_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"TARGETAPPID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"TARGETINSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"TARGETINSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"TARGETINSTANCEID_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"TaskActivityExecutor","l":"TaskActivityExecutor(HashMap, DataConverter, Logger)","u":"%3Cinit%3E(java.util.HashMap,io.dapr.durabletask.DataConverter,java.util.logging.Logger)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"TASKCOMPLETED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"TASKCOMPLETED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"TASKEXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"TASKEXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"TASKEXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"TASKEXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"TASKEXECUTIONID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"TASKFAILED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"TASKFAILED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"TASKHUBNAMES_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceImplBase","l":"TaskHubSidecarServiceImplBase()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"TASKID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"TASKID_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationExecutor","l":"TaskOrchestrationExecutor(TaskOrchestrationFactories, DataConverter, Duration, Logger, String)","u":"%3Cinit%3E(io.dapr.durabletask.orchestration.TaskOrchestrationFactories,io.dapr.durabletask.DataConverter,java.time.Duration,java.util.logging.Logger,java.lang.String)"},{"p":"io.dapr.durabletask.orchestration","c":"TaskOrchestrationFactories","l":"TaskOrchestrationFactories()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask","c":"TaskOrchestratorResult","l":"TaskOrchestratorResult(Collection, String, String, List)","u":"%3Cinit%3E(java.util.Collection,java.lang.String,java.lang.String,java.util.List)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"TASKSCHEDULED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"TASKSCHEDULED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"TASKSCHEDULEDID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"TASKSCHEDULEDID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"TASKSCHEDULEDID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"TASKSCHEDULEDID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"TASKSCHEDULEDID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"TEMPERATURE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"TEMPERATURE_FIELD_NUMBER"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingObservationDocumentation","l":"TEMPLATE_OBSERVATION"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"TERMINATE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"TERMINATE_VALUE"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"terminate(String, Object)","u":"terminate(java.lang.String,java.lang.Object)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"terminate(String, Object)","u":"terminate(java.lang.String,java.lang.Object)"},{"p":"io.dapr.durabletask","c":"OrchestrationRuntimeStatus","l":"TERMINATED"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"TERMINATED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"terminateInstance(OrchestratorService.TerminateRequest)","u":"terminateInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"terminateInstance(OrchestratorService.TerminateRequest)","u":"terminateInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"terminateInstance(OrchestratorService.TerminateRequest)","u":"terminateInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"terminateInstance(OrchestratorService.TerminateRequest, StreamObserver)","u":"terminateInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"terminateInstance(OrchestratorService.TerminateRequest, StreamObserver)","u":"terminateInstance(io.dapr.durabletask.implementation.protobuf.OrchestratorService.TerminateRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"TERMINATEORCHESTRATION"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"TERMINATEORCHESTRATION_FIELD_NUMBER"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"terminateWorkflow(String, Object)","u":"terminateWorkflow(java.lang.String,java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"terminateWorkflowAlpha1(DaprWorkflowProtos.TerminateWorkflowRequest)","u":"terminateWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"terminateWorkflowAlpha1(DaprWorkflowProtos.TerminateWorkflowRequest)","u":"terminateWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"terminateWorkflowAlpha1(DaprWorkflowProtos.TerminateWorkflowRequest)","u":"terminateWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"terminateWorkflowAlpha1(DaprWorkflowProtos.TerminateWorkflowRequest, StreamObserver)","u":"terminateWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"terminateWorkflowAlpha1(DaprWorkflowProtos.TerminateWorkflowRequest, StreamObserver)","u":"terminateWorkflowAlpha1(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"terminateWorkflowBeta1(DaprWorkflowProtos.TerminateWorkflowRequest)","u":"terminateWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"terminateWorkflowBeta1(DaprWorkflowProtos.TerminateWorkflowRequest)","u":"terminateWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"terminateWorkflowBeta1(DaprWorkflowProtos.TerminateWorkflowRequest)","u":"terminateWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"terminateWorkflowBeta1(DaprWorkflowProtos.TerminateWorkflowRequest, StreamObserver)","u":"terminateWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"terminateWorkflowBeta1(DaprWorkflowProtos.TerminateWorkflowRequest, StreamObserver)","u":"terminateWorkflowBeta1(io.dapr.v1.DaprWorkflowProtos.TerminateWorkflowRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.spring.data.repository.query","c":"DaprPredicate","l":"test(Object)","u":"test(java.lang.Object)"},{"p":"io.dapr.spring6.data.repository.query","c":"DaprPredicate","l":"test(Object)","u":"test(java.lang.Object)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"TEXT_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"Task","l":"thenAccept(Consumer)","u":"thenAccept(java.util.function.Consumer)"},{"p":"io.dapr.durabletask","c":"Task","l":"thenApply(Function)","u":"thenApply(java.util.function.Function)"},{"p":"io.dapr.config","c":"Properties","l":"TIMEOUT"},{"p":"io.dapr.internal.resiliency","c":"TimeoutPolicy","l":"TimeoutPolicy()","u":"%3Cinit%3E()"},{"p":"io.dapr.internal.resiliency","c":"TimeoutPolicy","l":"TimeoutPolicy(Duration)","u":"%3Cinit%3E(java.time.Duration)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"TIMERCREATED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"TIMERCREATED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"TIMERFIRED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"TIMERFIRED_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"TIMERID_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"TIMESTAMP_FIELD_NUMBER"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClientBuilder","l":"tlsCaPath(String)","u":"tlsCaPath(java.lang.String)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClientBuilder","l":"tlsCertPath(String)","u":"tlsCertPath(java.lang.String)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClientBuilder","l":"tlsKeyPath(String)","u":"tlsKeyPath(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"TO_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"toBuilder()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"toBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"toBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"toBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"toBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"toBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"toBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"toBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"toBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"toBuilder()"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"toBuilder()"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"TOKEN_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"ConversationMessageRole","l":"TOOL"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"TOOL_CALLS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"TOOL_CALLS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"TOOL_CHOICE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"TOOL_ID_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"ToolMessage","l":"ToolMessage(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"TOOLS_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.ToolTypesCase","l":"TOOLTYPES_NOT_SET"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.ToolTypesCase","l":"TOOLTYPES_NOT_SET"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"TOPIC_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"TOPIC_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"TOPIC_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"TOPIC_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"TOPIC_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"TOPIC_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"TOPIC_FIELD_NUMBER"},{"p":"io.dapr.client","c":"ProtobufValueHelper","l":"toProtobufValue(Object)","u":"toProtobufValue(java.lang.Object)"},{"p":"io.dapr.actors","c":"ActorId","l":"toString()"},{"p":"io.dapr.client.domain","c":"QueryStateItem","l":"toString()"},{"p":"io.dapr.client.domain","c":"State","l":"toString()"},{"p":"io.dapr.client.domain","c":"TransactionalStateOperation","l":"toString()"},{"p":"io.dapr.config","c":"Property","l":"toString()"},{"p":"io.dapr.durabletask","c":"OrchestrationMetadata","l":"toString()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowFailureDetails","l":"toString()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowInstanceStatus","l":"toString()"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowState","l":"toString()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"TOTAL_TOKENS_FIELD_NUMBER"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"TRACE"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"TRACE"},{"p":"io.dapr.client.domain","c":"HttpExtension","l":"TRACE"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"TRACE_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"TRACEPARENT_FIELD_NUMBER"},{"p":"io.dapr.durabletask.runner","c":"DurableRunner","l":"tracer"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClientBuilder","l":"tracer(Tracer)","u":"tracer(io.opentelemetry.api.trace.Tracer)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"TRACESTATE_FIELD_NUMBER"},{"p":"io.dapr.testcontainers","c":"TracingConfigurationSettings","l":"TracingConfigurationSettings(String, Boolean, OtelTracingConfigurationSettings, ZipkinTracingConfigurationSettings)","u":"%3Cinit%3E(java.lang.String,java.lang.Boolean,io.dapr.testcontainers.OtelTracingConfigurationSettings,io.dapr.testcontainers.ZipkinTracingConfigurationSettings)"},{"p":"io.dapr.client.domain","c":"TransactionalStateOperation","l":"TransactionalStateOperation(TransactionalStateOperation.OperationType, State)","u":"%3Cinit%3E(io.dapr.client.domain.TransactionalStateOperation.OperationType,io.dapr.client.domain.State)"},{"p":"io.dapr.client.domain","c":"TransactionalStateRequest","l":"TransactionalStateRequest(List>, Map)","u":"%3Cinit%3E(java.util.List,java.util.Map)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"tryLock(LockRequest)","u":"tryLock(io.dapr.client.domain.LockRequest)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"tryLock(LockRequest)","u":"tryLock(io.dapr.client.domain.LockRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"tryLock(String, String, String, Integer)","u":"tryLock(java.lang.String,java.lang.String,java.lang.String,java.lang.Integer)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"tryLock(String, String, String, Integer)","u":"tryLock(java.lang.String,java.lang.String,java.lang.String,java.lang.Integer)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"tryLockAlpha1(DaprLockProtos.TryLockRequest)","u":"tryLockAlpha1(io.dapr.v1.DaprLockProtos.TryLockRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"tryLockAlpha1(DaprLockProtos.TryLockRequest)","u":"tryLockAlpha1(io.dapr.v1.DaprLockProtos.TryLockRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"tryLockAlpha1(DaprLockProtos.TryLockRequest)","u":"tryLockAlpha1(io.dapr.v1.DaprLockProtos.TryLockRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"tryLockAlpha1(DaprLockProtos.TryLockRequest, StreamObserver)","u":"tryLockAlpha1(io.dapr.v1.DaprLockProtos.TryLockRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"tryLockAlpha1(DaprLockProtos.TryLockRequest, StreamObserver)","u":"tryLockAlpha1(io.dapr.v1.DaprLockProtos.TryLockRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"TTL_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"TTL_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"TTL_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"TTL_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"TTL_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"Metadata","l":"TTL_IN_SECONDS"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"TYPE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"TYPE_FIELD_NUMBER"},{"p":"io.dapr.utils","c":"TypeRef","l":"TypeRef()","u":"%3Cinit%3E()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"UNKNOWN"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"UNKNOWN_VALUE"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"unlock(String, String, String)","u":"unlock(java.lang.String,java.lang.String,java.lang.String)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"unlock(String, String, String)","u":"unlock(java.lang.String,java.lang.String,java.lang.String)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"unlock(UnlockRequest)","u":"unlock(io.dapr.client.domain.UnlockRequest)"},{"p":"io.dapr.client","c":"DaprPreviewClient","l":"unlock(UnlockRequest)","u":"unlock(io.dapr.client.domain.UnlockRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"unlockAlpha1(DaprLockProtos.UnlockRequest)","u":"unlockAlpha1(io.dapr.v1.DaprLockProtos.UnlockRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"unlockAlpha1(DaprLockProtos.UnlockRequest)","u":"unlockAlpha1(io.dapr.v1.DaprLockProtos.UnlockRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"unlockAlpha1(DaprLockProtos.UnlockRequest)","u":"unlockAlpha1(io.dapr.v1.DaprLockProtos.UnlockRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"unlockAlpha1(DaprLockProtos.UnlockRequest, StreamObserver)","u":"unlockAlpha1(io.dapr.v1.DaprLockProtos.UnlockRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"unlockAlpha1(DaprLockProtos.UnlockRequest, StreamObserver)","u":"unlockAlpha1(io.dapr.v1.DaprLockProtos.UnlockRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"UnlockRequest","l":"UnlockRequest(String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"UNRECOGNIZED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"UNRECOGNIZED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"UNRECOGNIZED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"UNRECOGNIZED"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"UNRECOGNIZED"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"UNRECOGNIZED"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"UNRECOGNIZED"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"UNRECOGNIZED"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"UNRECOGNIZED"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"UNRECOGNIZED"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"UNRECOGNIZED"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"UNRECOGNIZED"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"UNRECOGNIZED"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"unregisterActorReminder(DaprActorsProtos.UnregisterActorReminderRequest)","u":"unregisterActorReminder(io.dapr.v1.DaprActorsProtos.UnregisterActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"unregisterActorReminder(DaprActorsProtos.UnregisterActorReminderRequest)","u":"unregisterActorReminder(io.dapr.v1.DaprActorsProtos.UnregisterActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"unregisterActorReminder(DaprActorsProtos.UnregisterActorReminderRequest)","u":"unregisterActorReminder(io.dapr.v1.DaprActorsProtos.UnregisterActorReminderRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"unregisterActorReminder(DaprActorsProtos.UnregisterActorReminderRequest, StreamObserver)","u":"unregisterActorReminder(io.dapr.v1.DaprActorsProtos.UnregisterActorReminderRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"unregisterActorReminder(DaprActorsProtos.UnregisterActorReminderRequest, StreamObserver)","u":"unregisterActorReminder(io.dapr.v1.DaprActorsProtos.UnregisterActorReminderRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"unregisterActorRemindersByType(DaprActorsProtos.UnregisterActorRemindersByTypeRequest)","u":"unregisterActorRemindersByType(io.dapr.v1.DaprActorsProtos.UnregisterActorRemindersByTypeRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"unregisterActorRemindersByType(DaprActorsProtos.UnregisterActorRemindersByTypeRequest)","u":"unregisterActorRemindersByType(io.dapr.v1.DaprActorsProtos.UnregisterActorRemindersByTypeRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"unregisterActorRemindersByType(DaprActorsProtos.UnregisterActorRemindersByTypeRequest)","u":"unregisterActorRemindersByType(io.dapr.v1.DaprActorsProtos.UnregisterActorRemindersByTypeRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"unregisterActorRemindersByType(DaprActorsProtos.UnregisterActorRemindersByTypeRequest, StreamObserver)","u":"unregisterActorRemindersByType(io.dapr.v1.DaprActorsProtos.UnregisterActorRemindersByTypeRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"unregisterActorRemindersByType(DaprActorsProtos.UnregisterActorRemindersByTypeRequest, StreamObserver)","u":"unregisterActorRemindersByType(io.dapr.v1.DaprActorsProtos.UnregisterActorRemindersByTypeRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"unregisterActorTimer(DaprActorsProtos.UnregisterActorTimerRequest)","u":"unregisterActorTimer(io.dapr.v1.DaprActorsProtos.UnregisterActorTimerRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"unregisterActorTimer(DaprActorsProtos.UnregisterActorTimerRequest)","u":"unregisterActorTimer(io.dapr.v1.DaprActorsProtos.UnregisterActorTimerRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"unregisterActorTimer(DaprActorsProtos.UnregisterActorTimerRequest)","u":"unregisterActorTimer(io.dapr.v1.DaprActorsProtos.UnregisterActorTimerRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"unregisterActorTimer(DaprActorsProtos.UnregisterActorTimerRequest, StreamObserver)","u":"unregisterActorTimer(io.dapr.v1.DaprActorsProtos.UnregisterActorTimerRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"unregisterActorTimer(DaprActorsProtos.UnregisterActorTimerRequest, StreamObserver)","u":"unregisterActorTimer(io.dapr.v1.DaprActorsProtos.UnregisterActorTimerRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"unregisterReminder(String)","u":"unregisterReminder(java.lang.String)"},{"p":"io.dapr.actors.runtime","c":"AbstractActor","l":"unregisterTimer(String)","u":"unregisterTimer(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"unsubscribeConfiguration(DaprConfigurationProtos.UnsubscribeConfigurationRequest)","u":"unsubscribeConfiguration(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"unsubscribeConfiguration(DaprConfigurationProtos.UnsubscribeConfigurationRequest)","u":"unsubscribeConfiguration(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"unsubscribeConfiguration(DaprConfigurationProtos.UnsubscribeConfigurationRequest)","u":"unsubscribeConfiguration(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"unsubscribeConfiguration(DaprConfigurationProtos.UnsubscribeConfigurationRequest, StreamObserver)","u":"unsubscribeConfiguration(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"unsubscribeConfiguration(DaprConfigurationProtos.UnsubscribeConfigurationRequest, StreamObserver)","u":"unsubscribeConfiguration(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"unsubscribeConfiguration(String, String)","u":"unsubscribeConfiguration(java.lang.String,java.lang.String)"},{"p":"io.dapr.client","c":"DaprClient","l":"unsubscribeConfiguration(String, String)","u":"unsubscribeConfiguration(java.lang.String,java.lang.String)"},{"p":"io.dapr.client","c":"DaprClient","l":"unsubscribeConfiguration(UnsubscribeConfigurationRequest)","u":"unsubscribeConfiguration(io.dapr.client.domain.UnsubscribeConfigurationRequest)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"unsubscribeConfiguration(UnsubscribeConfigurationRequest)","u":"unsubscribeConfiguration(io.dapr.client.domain.UnsubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingStub","l":"unsubscribeConfigurationAlpha1(DaprConfigurationProtos.UnsubscribeConfigurationRequest)","u":"unsubscribeConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprBlockingV2Stub","l":"unsubscribeConfigurationAlpha1(DaprConfigurationProtos.UnsubscribeConfigurationRequest)","u":"unsubscribeConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprFutureStub","l":"unsubscribeConfigurationAlpha1(DaprConfigurationProtos.UnsubscribeConfigurationRequest)","u":"unsubscribeConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest)"},{"p":"io.dapr.v1","c":"DaprGrpc.AsyncService","l":"unsubscribeConfigurationAlpha1(DaprConfigurationProtos.UnsubscribeConfigurationRequest, StreamObserver)","u":"unsubscribeConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.v1","c":"DaprGrpc.DaprStub","l":"unsubscribeConfigurationAlpha1(DaprConfigurationProtos.UnsubscribeConfigurationRequest, StreamObserver)","u":"unsubscribeConfigurationAlpha1(io.dapr.v1.DaprConfigurationProtos.UnsubscribeConfigurationRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.client.domain","c":"UnsubscribeConfigurationRequest","l":"UnsubscribeConfigurationRequest(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"io.dapr.client.domain","c":"UnsubscribeConfigurationResponse","l":"UnsubscribeConfigurationResponse(boolean, String)","u":"%3Cinit%3E(boolean,java.lang.String)"},{"p":"io.dapr.actors.runtime","c":"ActorStateChangeKind","l":"UPDATE"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"update(Object, T)","u":"update(java.lang.Object,T)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"update(Object, T)","u":"update(java.lang.Object,T)"},{"p":"io.dapr.spring.data","c":"DaprKeyValueTemplate","l":"update(T)"},{"p":"io.dapr.spring6.data","c":"DaprKeyValueTemplate","l":"update(T)"},{"p":"io.dapr.client.domain","c":"TransactionalStateOperation.OperationType","l":"UPSERT"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"USAGE_FIELD_NUMBER"},{"p":"io.dapr.client.domain","c":"ConversationMessageRole","l":"USER"},{"p":"io.dapr.client.domain","c":"UserMessage","l":"UserMessage(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.dapr.durabletask.util","c":"UuidGenerator","l":"UuidGenerator()","u":"%3Cinit%3E()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"VALID_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"VALUE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"VALUE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"VALUE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"VALUE_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"VALUE_FIELD_NUMBER"},{"p":"io.dapr.spring.data.repository.config","c":"EnableDaprRepositories","l":"value()"},{"p":"io.dapr.spring6.data.repository.config","c":"EnableDaprRepositories","l":"value()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"valueOf(Descriptors.EnumValueDescriptor)","u":"valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor)"},{"p":"io.dapr.client.domain","c":"UnlockResponseStatus","l":"valueOf(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"valueOf(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"valueOf(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.OperationActionTypeCase","l":"valueOf(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.ResultTypeCase","l":"valueOf(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"valueOf(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"valueOf(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.RequestCase","l":"valueOf(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.EntityMessageTypeCase","l":"valueOf(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"valueOf(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"valueOf(int)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.RequestCase","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.PolicyCase","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.MessageTypesCase","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.ToolTypesCase","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.ToolTypesCase","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.SubscribeTopicEventsRequestTypeCase","l":"valueOf(int)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.SubscribeTopicEventsResponseTypeCase","l":"valueOf(int)"},{"p":"io.dapr.actors.runtime","c":"ActorStateChangeKind","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.client.domain","c":"BulkSubscribeAppResponseStatus","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.client.domain","c":"ConversationMessageRole","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.client.domain","c":"FailurePolicyType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.client.domain.query","c":"Sorting.Order","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.client.domain","c":"StateOptions.Concurrency","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.client.domain","c":"StateOptions.Consistency","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.client.domain","c":"TransactionalStateOperation.OperationType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.client.domain","c":"UnlockResponseStatus","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.client","c":"SubscriptionListener.Status","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.OperationActionTypeCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.ResultTypeCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.RequestCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.EntityMessageTypeCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.RequestCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.durabletask","c":"OrchestrationRuntimeStatus","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingObservationDocumentation.TemplateLowCardinalityTags","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingObservationDocumentation","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"DaprLogLevel","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"DaprProtocol","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.PolicyCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.MessageTypesCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.ToolTypesCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.ToolTypesCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.SubscribeTopicEventsRequestTypeCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.SubscribeTopicEventsResponseTypeCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"io.dapr.actors.runtime","c":"ActorStateChangeKind","l":"values()"},{"p":"io.dapr.client","c":"DaprHttp.HttpMethods","l":"values()"},{"p":"io.dapr.client.domain","c":"BulkSubscribeAppResponseStatus","l":"values()"},{"p":"io.dapr.client.domain","c":"ConversationMessageRole","l":"values()"},{"p":"io.dapr.client.domain","c":"FailurePolicyType","l":"values()"},{"p":"io.dapr.client.domain.query","c":"Sorting.Order","l":"values()"},{"p":"io.dapr.client.domain","c":"StateOptions.Concurrency","l":"values()"},{"p":"io.dapr.client.domain","c":"StateOptions.Consistency","l":"values()"},{"p":"io.dapr.client.domain","c":"TransactionalStateOperation.OperationType","l":"values()"},{"p":"io.dapr.client.domain","c":"UnlockResponseStatus","l":"values()"},{"p":"io.dapr.client","c":"SubscriptionListener.Status","l":"values()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateOrchestrationAction","l":"values()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent.EventTypeCase","l":"values()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction.OperationActionTypeCase","l":"values()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult.ResultTypeCase","l":"values()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationStatus","l":"values()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase","l":"values()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest.RequestCase","l":"values()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction.EntityMessageTypeCase","l":"values()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"values()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"values()"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem.RequestCase","l":"values()"},{"p":"io.dapr.durabletask","c":"OrchestrationRuntimeStatus","l":"values()"},{"p":"io.dapr.exceptions","c":"DaprErrorDetails.ErrorDetailType","l":"values()"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingObservationDocumentation.TemplateLowCardinalityTags","l":"values()"},{"p":"io.dapr.spring.messaging.observation","c":"DaprMessagingObservationDocumentation","l":"values()"},{"p":"io.dapr.testcontainers","c":"DaprLogLevel","l":"values()"},{"p":"io.dapr.testcontainers","c":"DaprProtocol","l":"values()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension.Verb","l":"values()"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy.PolicyCase","l":"values()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConcurrency","l":"values()"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions.StateConsistency","l":"values()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage.MessageTypesCase","l":"values()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls.ToolTypesCase","l":"values()"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools.ToolTypesCase","l":"values()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency","l":"values()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase","l":"values()"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus","l":"values()"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat","l":"values()"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse.Status","l":"values()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus","l":"values()"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionType","l":"values()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.SubscribeTopicEventsRequestTypeCase","l":"values()"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.SubscribeTopicEventsResponseTypeCase","l":"values()"},{"p":"io.dapr.workflows.client","c":"WorkflowRuntimeStatus","l":"values()"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"VERB_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"VERSION_FIELD_NUMBER"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"VERSION_NOT_AVAILABLE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StalledReason","l":"VERSION_NOT_AVAILABLE_VALUE"},{"p":"io.dapr.spring.workflows.config.annotations","c":"WorkflowMetadata","l":"version()"},{"p":"io.dapr.utils","c":"Version","l":"Version()","u":"%3Cinit%3E()"},{"p":"io.dapr.durabletask.orchestration.exception","c":"VersionNotRegisteredException","l":"VersionNotRegisteredException()","u":"%3Cinit%3E()"},{"p":"io.dapr.utils","c":"TypeRef","l":"VOID"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"waitForExternalEvent(String)","u":"waitForExternalEvent(java.lang.String)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"waitForExternalEvent(String)","u":"waitForExternalEvent(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"waitForExternalEvent(String)","u":"waitForExternalEvent(java.lang.String)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"waitForExternalEvent(String, Class)","u":"waitForExternalEvent(java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"waitForExternalEvent(String, Class)","u":"waitForExternalEvent(java.lang.String,java.lang.Class)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"waitForExternalEvent(String, Duration)","u":"waitForExternalEvent(java.lang.String,java.time.Duration)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"waitForExternalEvent(String, Duration)","u":"waitForExternalEvent(java.lang.String,java.time.Duration)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"waitForExternalEvent(String, Duration)","u":"waitForExternalEvent(java.lang.String,java.time.Duration)"},{"p":"io.dapr.durabletask","c":"TaskOrchestrationContext","l":"waitForExternalEvent(String, Duration, Class)","u":"waitForExternalEvent(java.lang.String,java.time.Duration,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"DefaultWorkflowContext","l":"waitForExternalEvent(String, Duration, Class)","u":"waitForExternalEvent(java.lang.String,java.time.Duration,java.lang.Class)"},{"p":"io.dapr.workflows","c":"WorkflowContext","l":"waitForExternalEvent(String, Duration, Class)","u":"waitForExternalEvent(java.lang.String,java.time.Duration,java.lang.Class)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"waitForInstanceCompletion(OrchestratorService.GetInstanceRequest)","u":"waitForInstanceCompletion(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"waitForInstanceCompletion(OrchestratorService.GetInstanceRequest)","u":"waitForInstanceCompletion(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"waitForInstanceCompletion(OrchestratorService.GetInstanceRequest)","u":"waitForInstanceCompletion(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"waitForInstanceCompletion(OrchestratorService.GetInstanceRequest, StreamObserver)","u":"waitForInstanceCompletion(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"waitForInstanceCompletion(OrchestratorService.GetInstanceRequest, StreamObserver)","u":"waitForInstanceCompletion(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"waitForInstanceCompletion(String, Duration, boolean)","u":"waitForInstanceCompletion(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"waitForInstanceCompletion(String, Duration, boolean)","u":"waitForInstanceCompletion(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"waitForInstanceCompletion(String, Duration, boolean)","u":"waitForInstanceCompletion(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub","l":"waitForInstanceStart(OrchestratorService.GetInstanceRequest)","u":"waitForInstanceStart(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub","l":"waitForInstanceStart(OrchestratorService.GetInstanceRequest)","u":"waitForInstanceStart(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub","l":"waitForInstanceStart(OrchestratorService.GetInstanceRequest)","u":"waitForInstanceStart(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.AsyncService","l":"waitForInstanceStart(OrchestratorService.GetInstanceRequest, StreamObserver)","u":"waitForInstanceStart(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub","l":"waitForInstanceStart(OrchestratorService.GetInstanceRequest, StreamObserver)","u":"waitForInstanceStart(io.dapr.durabletask.implementation.protobuf.OrchestratorService.GetInstanceRequest,io.grpc.stub.StreamObserver)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"waitForInstanceStart(String, Duration)","u":"waitForInstanceStart(java.lang.String,java.time.Duration)"},{"p":"io.dapr.durabletask","c":"DurableTaskClient","l":"waitForInstanceStart(String, Duration, boolean)","u":"waitForInstanceStart(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcClient","l":"waitForInstanceStart(String, Duration, boolean)","u":"waitForInstanceStart(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"waitForInstanceStart(String, Duration, boolean)","u":"waitForInstanceStart(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.client","c":"DaprClient","l":"waitForSidecar(int)"},{"p":"io.dapr.client","c":"DaprClientImpl","l":"waitForSidecar(int)"},{"p":"io.dapr.utils","c":"NetworkUtils","l":"waitForSocket(String, int, int)","u":"waitForSocket(java.lang.String,int,int)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"waitForWorkflowCompletion(String, Duration, boolean)","u":"waitForWorkflowCompletion(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.workflows.client","c":"DaprWorkflowClient","l":"waitForWorkflowStart(String, Duration, boolean)","u":"waitForWorkflowStart(java.lang.String,java.time.Duration,boolean)"},{"p":"io.dapr.testcontainers.wait.strategy","c":"AbstractDaprWaitStrategy","l":"waitUntilReady()"},{"p":"io.dapr.testcontainers","c":"DaprLogLevel","l":"WARN"},{"p":"io.dapr.client.domain","c":"JobSchedule","l":"weekly()"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withAppChannelAddress(String)","u":"withAppChannelAddress(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withAppHealthCheckPath(String)","u":"withAppHealthCheckPath(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withAppHealthCheckProbeInterval(Integer)","u":"withAppHealthCheckProbeInterval(java.lang.Integer)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withAppHealthCheckProbeTimeout(Integer)","u":"withAppHealthCheckProbeTimeout(java.lang.Integer)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withAppHealthCheckThreshold(Integer)","u":"withAppHealthCheckThreshold(java.lang.Integer)"},{"p":"io.dapr.durabletask","c":"TaskOptions","l":"withAppID(String)","u":"withAppID(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withAppName(String)","u":"withAppName(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withAppPort(Integer)","u":"withAppPort(java.lang.Integer)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withAppProtocol(DaprProtocol)","u":"withAppProtocol(io.dapr.testcontainers.DaprProtocol)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withComponent(Component)","u":"withComponent(io.dapr.testcontainers.Component)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withComponent(Path)","u":"withComponent(java.nio.file.Path)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withConfiguration(Configuration)","u":"withConfiguration(io.dapr.testcontainers.Configuration)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withDaprLogLevel(DaprLogLevel)","u":"withDaprLogLevel(io.dapr.testcontainers.DaprLogLevel)"},{"p":"io.dapr.durabletask","c":"DurableTaskGrpcWorkerBuilder","l":"withExecutorService(ExecutorService)","u":"withExecutorService(java.util.concurrent.ExecutorService)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"withExecutorService(ExecutorService)","u":"withExecutorService(java.util.concurrent.ExecutorService)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withHttpEndpoint(HttpEndpoint)","u":"withHttpEndpoint(io.dapr.testcontainers.HttpEndpoint)"},{"p":"io.dapr.actors.client","c":"ActorProxyBuilder","l":"withObjectSerializer(DaprObjectSerializer)","u":"withObjectSerializer(io.dapr.serializer.DaprObjectSerializer)"},{"p":"io.dapr.client","c":"DaprClientBuilder","l":"withObjectSerializer(DaprObjectSerializer)","u":"withObjectSerializer(io.dapr.serializer.DaprObjectSerializer)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withPlacementContainer(DaprPlacementContainer)","u":"withPlacementContainer(io.dapr.testcontainers.DaprPlacementContainer)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withPlacementImage(DockerImageName)","u":"withPlacementImage(org.testcontainers.utility.DockerImageName)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withPlacementImage(String)","u":"withPlacementImage(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withPlacementService(String)","u":"withPlacementService(java.lang.String)"},{"p":"io.dapr.testcontainers.wait.strategy","c":"AbstractDaprWaitStrategy","l":"withPollInterval(Duration)","u":"withPollInterval(java.time.Duration)"},{"p":"io.dapr.testcontainers","c":"DaprPlacementContainer","l":"withPort(Integer)","u":"withPort(java.lang.Integer)"},{"p":"io.dapr.testcontainers","c":"DaprSchedulerContainer","l":"withPort(Integer)","u":"withPort(java.lang.Integer)"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"withPort(Integer)","u":"withPort(java.lang.Integer)"},{"p":"io.dapr.client","c":"DaprClientBuilder","l":"withPropertyOverride(Property, String)","u":"withPropertyOverride(io.dapr.config.Property,java.lang.String)"},{"p":"io.dapr.client","c":"DaprClientBuilder","l":"withPropertyOverrides(Map, String>)","u":"withPropertyOverrides(java.util.Map)"},{"p":"io.dapr.client","c":"DaprClientBuilder","l":"withResiliencyOptions(ResiliencyOptions)","u":"withResiliencyOptions(io.dapr.client.resiliency.ResiliencyOptions)"},{"p":"io.dapr.durabletask","c":"TaskOptions","l":"withRetryHandler(RetryHandler)","u":"withRetryHandler(io.dapr.durabletask.RetryHandler)"},{"p":"io.dapr.durabletask","c":"TaskOptions","l":"withRetryPolicy(RetryPolicy)","u":"withRetryPolicy(io.dapr.durabletask.RetryPolicy)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withReusablePlacement(boolean)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withReusableScheduler(boolean)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withSchedulerContainer(DaprSchedulerContainer)","u":"withSchedulerContainer(io.dapr.testcontainers.DaprSchedulerContainer)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withSchedulerImage(DockerImageName)","u":"withSchedulerImage(org.testcontainers.utility.DockerImageName)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withSchedulerImage(String)","u":"withSchedulerImage(java.lang.String)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withSchedulerService(String)","u":"withSchedulerService(java.lang.String)"},{"p":"io.dapr.client","c":"DaprClientBuilder","l":"withStateSerializer(DaprObjectSerializer)","u":"withStateSerializer(io.dapr.serializer.DaprObjectSerializer)"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"withStateStoreComponent(Component)","u":"withStateStoreComponent(io.dapr.testcontainers.Component)"},{"p":"io.dapr.testcontainers","c":"DaprContainer","l":"withSubscription(Subscription)","u":"withSubscription(io.dapr.testcontainers.Subscription)"},{"p":"io.dapr.spring.messaging","c":"DaprMessagingOperations.SendMessageBuilder","l":"withTopic(String)","u":"withTopic(java.lang.String)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"WORKER_CAPABILITY_HISTORY_STREAMING"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"WORKER_CAPABILITY_HISTORY_STREAMING_VALUE"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"WORKER_CAPABILITY_UNSPECIFIED"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkerCapability","l":"WORKER_CAPABILITY_UNSPECIFIED_VALUE"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"WORKFLOW_COMPONENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"WORKFLOW_COMPONENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"WORKFLOW_COMPONENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"WORKFLOW_COMPONENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"WORKFLOW_COMPONENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"WORKFLOW_COMPONENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"WORKFLOW_COMPONENT_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"WORKFLOW_NAME_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"WORKFLOW_NAME_FIELD_NUMBER"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityClassWrapper","l":"WorkflowActivityClassWrapper(Class)","u":"%3Cinit%3E(java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityClassWrapper","l":"WorkflowActivityClassWrapper(String, Class)","u":"%3Cinit%3E(java.lang.String,java.lang.Class)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityInstanceWrapper","l":"WorkflowActivityInstanceWrapper(String, T)","u":"%3Cinit%3E(java.lang.String,T)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowActivityInstanceWrapper","l":"WorkflowActivityInstanceWrapper(T)","u":"%3Cinit%3E(T)"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"WorkflowDashboardContainer(DockerImageName)","u":"%3Cinit%3E(org.testcontainers.utility.DockerImageName)"},{"p":"io.dapr.testcontainers","c":"WorkflowDashboardContainer","l":"WorkflowDashboardContainer(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntime","l":"WorkflowRuntime(DurableTaskGrpcWorker, ManagedChannel, ExecutorService)","u":"%3Cinit%3E(io.dapr.durabletask.DurableTaskGrpcWorker,io.grpc.ManagedChannel,java.util.concurrent.ExecutorService)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"WorkflowRuntimeBuilder()","u":"%3Cinit%3E()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"WorkflowRuntimeBuilder(Logger)","u":"%3Cinit%3E(org.slf4j.Logger)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowRuntimeBuilder","l":"WorkflowRuntimeBuilder(Properties)","u":"%3Cinit%3E(io.dapr.config.Properties)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"WORKFLOWS_FIELD_NUMBER"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryHandler)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryHandler)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryHandler, String)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryHandler,java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryPolicy)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryPolicy)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryPolicy, String)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryPolicy,java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryPolicy, WorkflowTaskRetryHandler)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryPolicy,io.dapr.workflows.WorkflowTaskRetryHandler)"},{"p":"io.dapr.workflows","c":"WorkflowTaskOptions","l":"WorkflowTaskOptions(WorkflowTaskRetryPolicy, WorkflowTaskRetryHandler, String)","u":"%3Cinit%3E(io.dapr.workflows.WorkflowTaskRetryPolicy,io.dapr.workflows.WorkflowTaskRetryHandler,java.lang.String)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryContext","l":"WorkflowTaskRetryContext(DefaultWorkflowContext, int, WorkflowFailureDetails, Duration)","u":"%3Cinit%3E(io.dapr.workflows.runtime.DefaultWorkflowContext,int,io.dapr.workflows.client.WorkflowFailureDetails,java.time.Duration)"},{"p":"io.dapr.workflows","c":"WorkflowTaskRetryPolicy","l":"WorkflowTaskRetryPolicy(Integer, Duration, Double, Duration, Duration)","u":"%3Cinit%3E(java.lang.Integer,java.time.Duration,java.lang.Double,java.time.Duration,java.time.Duration)"},{"p":"io.dapr.workflows.runtime","c":"WorkflowVersionWrapper","l":"WorkflowVersionWrapper()","u":"%3Cinit%3E()"},{"p":"io.dapr.workflows.runtime","c":"WorkflowVersionWrapper","l":"WorkflowVersionWrapper(String, Boolean)","u":"%3Cinit%3E(java.lang.String,java.lang.Boolean)"},{"p":"io.dapr.durabletask.runner","c":"DurableRunner","l":"workItem"},{"p":"io.dapr.exceptions","c":"DaprException","l":"wrap(Callable)","u":"wrap(java.util.concurrent.Callable)"},{"p":"io.dapr.exceptions","c":"DaprException","l":"wrap(Runnable)","u":"wrap(java.lang.Runnable)"},{"p":"io.dapr.exceptions","c":"DaprException","l":"wrap(Throwable)","u":"wrap(java.lang.Throwable)"},{"p":"io.dapr.exceptions","c":"DaprException","l":"wrapFlux(Exception)","u":"wrapFlux(java.lang.Exception)"},{"p":"io.dapr.exceptions","c":"DaprException","l":"wrapMono(Exception)","u":"wrapMono(java.lang.Exception)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"WRAPPED_KEY_FIELD_NUMBER"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"WRAPPED_KEY_FIELD_NUMBER"},{"p":"io.dapr.actors","c":"ActorTrace","l":"writeError(String, String, String, Object...)","u":"writeError(java.lang.String,java.lang.String,java.lang.String,java.lang.Object...)"},{"p":"io.dapr.actors","c":"ActorTrace","l":"writeInfo(String, String, String, Object...)","u":"writeInfo(java.lang.String,java.lang.String,java.lang.String,java.lang.Object...)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonActivityTaskResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonEntityTaskResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.AbandonOrchestrationTaskResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ActivityResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CleanEntityStorageResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteOrchestrationAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CompleteTaskResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ContinueAsNewEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateInstanceResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateSubOrchestrationAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTaskHubResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.CreateTimerAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.DeleteTaskHubResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityBatchResult","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockGrantedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityLockRequestedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityMetadata","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCalledEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationCompletedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationFailedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityOperationSignaledEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityQuery","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EntityUnlockSentEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventRaisedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.EventSentEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionCompletedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionResumedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStalledEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionStartedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionSuspendedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ExecutionTerminatedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GenericEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetEntityResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceHistoryResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetInstanceResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.GetWorkItemsRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HealthPing","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryChunk","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.HistoryStateEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.InstanceQuery","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ListInstanceIDsResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationInfo","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResult","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultFailure","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OperationResultSuccess","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationIdReusePolicy","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationInstance","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationState","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestrationVersion","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorCompletedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorEntityParameters","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorStartedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.OrchestratorVersionNotAvailableAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ParentInstanceInfo","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstanceFilter","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.PurgeInstancesResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryEntitiesResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.QueryInstancesResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RaiseEventResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunParentInstanceInfo","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RerunWorkflowFromEventResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ResumeResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.RewindInstanceResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.ScheduleTaskAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEntityMessageAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendEventAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SendSignalAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SignalEntityResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StartNewOrchestrationAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.StreamInstanceHistoryRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCompletedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceCreatedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SubOrchestrationInstanceFailedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.SuspendResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskCompletedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskFailureDetails","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskRouter","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TaskScheduledEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateOrchestrationAction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TerminateResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerCreatedEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TimerFiredEvent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.TraceContext","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.durabletask.implementation.protobuf","c":"OrchestratorService.WorkItem","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.ConfigurationItem","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.Etag","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.HTTPExtension","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.InvokeResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicy","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyConstant","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.JobFailurePolicyDrop","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StateItem","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StateOptions","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"CommonProtos.StreamPayload","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ActorReminder","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ExecuteActorStateTransactionRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorReminderResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.GetActorStateResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.InvokeActorResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.ListActorRemindersResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.NamedActorReminder","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorReminderRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.RegisterActorTimerRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.TransactionalActorStateOperation","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorReminderRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprActorsProtos.UnregisterActorTimerRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInput","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationInputAlpha2","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessage","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageContent","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfAssistant","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfDeveloper","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfSystem","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfTool","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationMessageOfUser","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationRequestAlpha2","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResponseAlpha2","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResult","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsage","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultChoices","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationResultMessage","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCalls","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolCallsOfFunction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationTools","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAiProtos.ConversationToolsFunction","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BindingEventResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.BulkSubscribeConfig","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.HealthCheckResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.JobEventResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListInputBindingsResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkRequestEntry","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventBulkResponseEntry","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventCERequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicEventResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRoutes","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicRule","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprAppCallbackProtos.TopicSubscription","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprBindingsProtos.InvokeBindingResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.GetConfigurationResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.SubscribeConfigurationResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprConfigurationProtos.UnsubscribeConfigurationResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptRequestOptions","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.DecryptResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptRequestOptions","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.EncryptResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleDecryptResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleEncryptResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleGetKeyResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleSignResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleUnwrapKeyResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleVerifyResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprCryptoProtos.SubtleWrapKeyResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprInvokeProtos.InvokeServiceRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.GetJobResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.Job","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsRequestAlpha1","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ListJobsResponseAlpha1","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprJobsProtos.ScheduleJobResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.TryLockResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprLockProtos.UnlockResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActiveActorsCount","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.ActorRuntime","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionHealthProperties","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.AppConnectionProperties","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.GetMetadataResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataHTTPEndpoint","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataScheduler","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.MetadataWorkflows","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscription","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRule","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.PubsubSubscriptionRules","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.RegisteredComponents","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprMetadataProtos.SetMetadataRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprProtos.ShutdownRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishRequestEntry","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.BulkPublishResponseFailedEntry","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.PublishEventRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetBulkSecretResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.GetSecretResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprSecretProtos.SecretResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.BulkStateItem","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteBulkStateRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.DeleteStateRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.ExecuteStateTransactionRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetBulkStateResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.GetStateResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateItem","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.QueryStateResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.SaveStateRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprStateProtos.TransactionalStateOperation","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.GetWorkflowResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PauseWorkflowRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.PurgeWorkflowRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.RaiseEventWorkflowRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.ResumeWorkflowRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.StartWorkflowResponse","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.v1","c":"DaprWorkflowProtos.TerminateWorkflowRequest","l":"writeTo(CodedOutputStream)","u":"writeTo(com.google.protobuf.CodedOutputStream)"},{"p":"io.dapr.actors","c":"ActorTrace","l":"writeWarning(String, String, String, Object...)","u":"writeWarning(java.lang.String,java.lang.String,java.lang.String,java.lang.Object...)"},{"p":"io.dapr.testcontainers.converter","c":"YamlMapperFactory","l":"YamlMapperFactory()","u":"%3Cinit%3E()"},{"p":"io.dapr.client.domain","c":"JobSchedule","l":"yearly()"},{"p":"io.dapr.testcontainers","c":"ZipkinTracingConfigurationSettings","l":"ZipkinTracingConfigurationSettings(String)","u":"%3Cinit%3E(java.lang.String)"}];updateSearchResults(); ================================================ FILE: docs/module-search-index.js ================================================ moduleSearchIndex = [];updateSearchResults(); ================================================ FILE: docs/overview-summary.html ================================================ dapr-sdk-parent 1.17.2 API

    index.html

    ================================================ FILE: docs/overview-tree.html ================================================ Class Hierarchy (dapr-sdk-parent 1.17.2 API)

    Hierarchy For All Packages

    Package Hierarchies:

    Class Hierarchy

    Interface Hierarchy

    Annotation Type Hierarchy

    Enum Hierarchy


    ================================================ FILE: docs/package-search-index.js ================================================ packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"io.dapr"},{"l":"io.dapr.actors"},{"l":"io.dapr.actors.client"},{"l":"io.dapr.actors.runtime"},{"l":"io.dapr.client"},{"l":"io.dapr.client.domain"},{"l":"io.dapr.client.domain.query"},{"l":"io.dapr.client.domain.query.filters"},{"l":"io.dapr.client.resiliency"},{"l":"io.dapr.config"},{"l":"io.dapr.durabletask"},{"l":"io.dapr.durabletask.implementation.protobuf"},{"l":"io.dapr.durabletask.interruption"},{"l":"io.dapr.durabletask.orchestration"},{"l":"io.dapr.durabletask.orchestration.exception"},{"l":"io.dapr.durabletask.runner"},{"l":"io.dapr.durabletask.util"},{"l":"io.dapr.exceptions"},{"l":"io.dapr.internal.exceptions"},{"l":"io.dapr.internal.grpc"},{"l":"io.dapr.internal.grpc.interceptors"},{"l":"io.dapr.internal.opencensus"},{"l":"io.dapr.internal.resiliency"},{"l":"io.dapr.internal.subscription"},{"l":"io.dapr.serializer"},{"l":"io.dapr.spring.boot.autoconfigure.client"},{"l":"io.dapr.spring.boot.properties.client"},{"l":"io.dapr.spring.boot.properties.pubsub"},{"l":"io.dapr.spring.boot.properties.statestore"},{"l":"io.dapr.spring.boot.testcontainers.service.connection"},{"l":"io.dapr.spring.boot4.autoconfigure.client"},{"l":"io.dapr.spring.data"},{"l":"io.dapr.spring.data.repository.config"},{"l":"io.dapr.spring.data.repository.query"},{"l":"io.dapr.spring.messaging"},{"l":"io.dapr.spring.messaging.observation"},{"l":"io.dapr.spring.workflows.config"},{"l":"io.dapr.spring.workflows.config.annotations"},{"l":"io.dapr.spring6.data"},{"l":"io.dapr.spring6.data.repository.config"},{"l":"io.dapr.spring6.data.repository.query"},{"l":"io.dapr.testcontainers"},{"l":"io.dapr.testcontainers.converter"},{"l":"io.dapr.testcontainers.wait.strategy"},{"l":"io.dapr.testcontainers.wait.strategy.metadata"},{"l":"io.dapr.utils"},{"l":"io.dapr.v1"},{"l":"io.dapr.workflows"},{"l":"io.dapr.workflows.client"},{"l":"io.dapr.workflows.internal"},{"l":"io.dapr.workflows.runtime"}];updateSearchResults(); ================================================ FILE: docs/project-reports.html ================================================ dapr-sdk-parent – Generated Reports

    Generated Reports

    This document provides an overview of the various reports that are automatically generated by Maven . Each report is briefly described below.

    Overview

    Document Description
    Javadoc Javadoc API documentation.

    ================================================ FILE: docs/script.js ================================================ /* * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ var moduleSearchIndex; var packageSearchIndex; var typeSearchIndex; var memberSearchIndex; var tagSearchIndex; function loadScripts(doc, tag) { createElem(doc, tag, 'search.js'); createElem(doc, tag, 'module-search-index.js'); createElem(doc, tag, 'package-search-index.js'); createElem(doc, tag, 'type-search-index.js'); createElem(doc, tag, 'member-search-index.js'); createElem(doc, tag, 'tag-search-index.js'); } function createElem(doc, tag, path) { var script = doc.createElement(tag); var scriptElement = doc.getElementsByTagName(tag)[0]; script.src = pathtoroot + path; scriptElement.parentNode.insertBefore(script, scriptElement); } function show(tableId, selected, columns) { if (tableId !== selected) { document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') .forEach(function(elem) { elem.style.display = 'none'; }); } document.querySelectorAll('div.' + selected) .forEach(function(elem, index) { elem.style.display = ''; var isEvenRow = index % (columns * 2) < columns; elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); }); updateTabs(tableId, selected); } function updateTabs(tableId, selected) { document.getElementById(tableId + '.tabpanel') .setAttribute('aria-labelledby', selected); document.querySelectorAll('button[id^="' + tableId + '"]') .forEach(function(tab, index) { if (selected === tab.id || (tableId === selected && index === 0)) { tab.className = activeTableTab; tab.setAttribute('aria-selected', true); tab.setAttribute('tabindex',0); } else { tab.className = tableTab; tab.setAttribute('aria-selected', false); tab.setAttribute('tabindex',-1); } }); } function switchTab(e) { var selected = document.querySelector('[aria-selected=true]'); if (selected) { if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { // left or up arrow key pressed: move focus to previous tab selected.previousSibling.click(); selected.previousSibling.focus(); e.preventDefault(); } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { // right or down arrow key pressed: move focus to next tab selected.nextSibling.click(); selected.nextSibling.focus(); e.preventDefault(); } } } var updateSearchResults = function() {}; function indexFilesLoaded() { return moduleSearchIndex && packageSearchIndex && typeSearchIndex && memberSearchIndex && tagSearchIndex; } // Workaround for scroll position not being included in browser history (8249133) document.addEventListener("DOMContentLoaded", function(e) { var contentDiv = document.querySelector("div.flex-content"); window.addEventListener("popstate", function(e) { if (e.state !== null) { contentDiv.scrollTop = e.state; } }); window.addEventListener("hashchange", function(e) { history.replaceState(contentDiv.scrollTop, document.title); }); contentDiv.addEventListener("scroll", function(e) { var timeoutID; if (!timeoutID) { timeoutID = setTimeout(function() { history.replaceState(contentDiv.scrollTop, document.title); timeoutID = null; }, 100); } }); if (!location.hash) { history.replaceState(contentDiv.scrollTop, document.title); } }); ================================================ FILE: docs/search.js ================================================ /* * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ var noResult = {l: "No results found"}; var loading = {l: "Loading search index..."}; var catModules = "Modules"; var catPackages = "Packages"; var catTypes = "Types"; var catMembers = "Members"; var catSearchTags = "Search Tags"; var highlight = "$&"; var searchPattern = ""; var fallbackPattern = ""; var RANKING_THRESHOLD = 2; var NO_MATCH = 0xffff; var MIN_RESULTS = 3; var MAX_RESULTS = 500; var UNNAMED = ""; function escapeHtml(str) { return str.replace(//g, ">"); } function getHighlightedText(item, matcher, fallbackMatcher) { var escapedItem = escapeHtml(item); var highlighted = escapedItem.replace(matcher, highlight); if (highlighted === escapedItem) { highlighted = escapedItem.replace(fallbackMatcher, highlight) } return highlighted; } function getURLPrefix(ui) { var urlPrefix=""; var slash = "/"; if (ui.item.category === catModules) { return ui.item.l + slash; } else if (ui.item.category === catPackages && ui.item.m) { return ui.item.m + slash; } else if (ui.item.category === catTypes || ui.item.category === catMembers) { if (ui.item.m) { urlPrefix = ui.item.m + slash; } else { $.each(packageSearchIndex, function(index, item) { if (item.m && ui.item.p === item.l) { urlPrefix = item.m + slash; } }); } } return urlPrefix; } function createSearchPattern(term) { var pattern = ""; var isWordToken = false; term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) { if (index > 0) { // whitespace between identifiers is significant pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*"; } var tokens = w.split(/(?=[A-Z,.()<>[\/])/); for (var i = 0; i < tokens.length; i++) { var s = tokens[i]; if (s === "") { continue; } pattern += $.ui.autocomplete.escapeRegex(s); isWordToken = /\w$/.test(s); if (isWordToken) { pattern += "([a-z0-9_$<>\\[\\]]*?)"; } } }); return pattern; } function createMatcher(pattern, flags) { var isCamelCase = /[A-Z]/.test(pattern); return new RegExp(pattern, flags + (isCamelCase ? "" : "i")); } var watermark = 'Search'; $(function() { var search = $("#search-input"); var reset = $("#reset-button"); search.val(''); search.prop("disabled", false); reset.prop("disabled", false); search.val(watermark).addClass('watermark'); search.blur(function() { if ($(this).val().length === 0) { $(this).val(watermark).addClass('watermark'); } }); search.on('click keydown paste', function() { if ($(this).val() === watermark) { $(this).val('').removeClass('watermark'); } }); reset.click(function() { search.val('').focus(); }); search.focus()[0].setSelectionRange(0, 0); }); $.widget("custom.catcomplete", $.ui.autocomplete, { _create: function() { this._super(); this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); }, _renderMenu: function(ul, items) { var rMenu = this; var currentCategory = ""; rMenu.menu.bindings = $(); $.each(items, function(index, item) { var li; if (item.category && item.category !== currentCategory) { ul.append("
  • " + item.category + "
  • "); currentCategory = item.category; } li = rMenu._renderItemData(ul, item); if (item.category) { li.attr("aria-label", item.category + " : " + item.l); li.attr("class", "result-item"); } else { li.attr("aria-label", item.l); li.attr("class", "result-item"); } }); }, _renderItem: function(ul, item) { var label = ""; var matcher = createMatcher(escapeHtml(searchPattern), "g"); var fallbackMatcher = new RegExp(fallbackPattern, "gi") if (item.category === catModules) { label = getHighlightedText(item.l, matcher, fallbackMatcher); } else if (item.category === catPackages) { label = getHighlightedText(item.l, matcher, fallbackMatcher); } else if (item.category === catTypes) { label = (item.p && item.p !== UNNAMED) ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher) : getHighlightedText(item.l, matcher, fallbackMatcher); } else if (item.category === catMembers) { label = (item.p && item.p !== UNNAMED) ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher) : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher); } else if (item.category === catSearchTags) { label = getHighlightedText(item.l, matcher, fallbackMatcher); } else { label = item.l; } var li = $("
  • ").appendTo(ul); var div = $("
    ").appendTo(li); if (item.category === catSearchTags && item.h) { if (item.d) { div.html(label + " (" + item.h + ")
    " + item.d + "
    "); } else { div.html(label + " (" + item.h + ")"); } } else { if (item.m) { div.html(item.m + "/" + label); } else { div.html(label); } } return li; } }); function rankMatch(match, category) { if (!match) { return NO_MATCH; } var index = match.index; var input = match.input; var leftBoundaryMatch = 2; var periferalMatch = 0; // make sure match is anchored on a left word boundary if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) { leftBoundaryMatch = 0; } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) { leftBoundaryMatch = 1; } var matchEnd = index + match[0].length; var leftParen = input.indexOf("("); var endOfName = leftParen > -1 ? leftParen : input.length; // exclude peripheral matches if (category !== catModules && category !== catSearchTags) { var delim = category === catPackages ? "/" : "."; if (leftParen > -1 && leftParen < index) { periferalMatch += 2; } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) { periferalMatch += 2; } } var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match for (var i = 1; i < match.length; i++) { // lower ranking if parts of the name are missing if (match[i]) delta += match[i].length; } if (category === catTypes) { // lower ranking if a type name contains unmatched camel-case parts if (/[A-Z]/.test(input.substring(matchEnd))) delta += 5; if (/[A-Z]/.test(input.substring(0, index))) delta += 5; } return leftBoundaryMatch + periferalMatch + (delta / 200); } function doSearch(request, response) { var result = []; searchPattern = createSearchPattern(request.term); fallbackPattern = createSearchPattern(request.term.toLowerCase()); if (searchPattern === "") { return this.close(); } var camelCaseMatcher = createMatcher(searchPattern, ""); var fallbackMatcher = new RegExp(fallbackPattern, "i"); function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) { if (indexArray) { var newResults = []; $.each(indexArray, function (i, item) { item.category = category; var ranking = rankMatch(matcher.exec(nameFunc(item)), category); if (ranking < RANKING_THRESHOLD) { newResults.push({ranking: ranking, item: item}); } return newResults.length <= MAX_RESULTS; }); return newResults.sort(function(e1, e2) { return e1.ranking - e2.ranking; }).map(function(e) { return e.item; }); } return []; } function searchIndex(indexArray, category, nameFunc) { var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc); result = result.concat(primaryResults); if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) { var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc); result = result.concat(secondaryResults.filter(function (item) { return primaryResults.indexOf(item) === -1; })); } } searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; }); searchIndex(packageSearchIndex, catPackages, function(item) { return (item.m && request.term.indexOf("/") > -1) ? (item.m + "/" + item.l) : item.l; }); searchIndex(typeSearchIndex, catTypes, function(item) { return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l; }); searchIndex(memberSearchIndex, catMembers, function(item) { return request.term.indexOf(".") > -1 ? item.p + "." + item.c + "." + item.l : item.l; }); searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; }); if (!indexFilesLoaded()) { updateSearchResults = function() { doSearch(request, response); } result.unshift(loading); } else { updateSearchResults = function() {}; } response(result); } $(function() { $("#search-input").catcomplete({ minLength: 1, delay: 300, source: doSearch, response: function(event, ui) { if (!ui.content.length) { ui.content.push(noResult); } else { $("#search-input").empty(); } }, autoFocus: true, focus: function(event, ui) { return false; }, position: { collision: "flip" }, select: function(event, ui) { if (ui.item.category) { var url = getURLPrefix(ui); if (ui.item.category === catModules) { url += "module-summary.html"; } else if (ui.item.category === catPackages) { if (ui.item.u) { url = ui.item.u; } else { url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; } } else if (ui.item.category === catTypes) { if (ui.item.u) { url = ui.item.u; } else if (ui.item.p === UNNAMED) { url += ui.item.l + ".html"; } else { url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; } } else if (ui.item.category === catMembers) { if (ui.item.p === UNNAMED) { url += ui.item.c + ".html" + "#"; } else { url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; } if (ui.item.u) { url += ui.item.u; } else { url += ui.item.l; } } else if (ui.item.category === catSearchTags) { url += ui.item.u; } if (top !== window) { parent.classFrame.location = pathtoroot + url; } else { window.location.href = pathtoroot + url; } $("#search-input").focus(); } } }); }); ================================================ FILE: docs/serialized-form.html ================================================ Serialized Form (dapr-sdk-parent 1.17.2 API)

    Serialized Form


    ================================================ FILE: docs/stylesheet.css ================================================ /* * Javadoc style sheet */ @import url('resources/fonts/dejavu.css'); /* * Styles for individual HTML elements. * * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular * HTML element throughout the page. */ body { background-color:#ffffff; color:#353833; font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; font-size:14px; margin:0; padding:0; height:100%; width:100%; } iframe { margin:0; padding:0; height:100%; width:100%; overflow-y:scroll; border:none; } a:link, a:visited { text-decoration:none; color:#4A6782; } a[href]:hover, a[href]:focus { text-decoration:none; color:#bb7a2a; } a[name] { color:#353833; } pre { font-family:'DejaVu Sans Mono', monospace; font-size:14px; } h1 { font-size:20px; } h2 { font-size:18px; } h3 { font-size:16px; } h4 { font-size:15px; } h5 { font-size:14px; } h6 { font-size:13px; } ul { list-style-type:disc; } code, tt { font-family:'DejaVu Sans Mono', monospace; } :not(h1, h2, h3, h4, h5, h6) > code, :not(h1, h2, h3, h4, h5, h6) > tt { font-size:14px; padding-top:4px; margin-top:8px; line-height:1.4em; } dt code { font-family:'DejaVu Sans Mono', monospace; font-size:14px; padding-top:4px; } .summary-table dt code { font-family:'DejaVu Sans Mono', monospace; font-size:14px; vertical-align:top; padding-top:4px; } sup { font-size:8px; } button { font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; font-size: 14px; } /* * Styles for HTML generated by javadoc. * * These are style classes that are used by the standard doclet to generate HTML documentation. */ /* * Styles for document title and copyright. */ .clear { clear:both; height:0; overflow:hidden; } .about-language { float:right; padding:0 21px 8px 8px; font-size:11px; margin-top:-9px; height:2.9em; } .legal-copy { margin-left:.5em; } .tab { background-color:#0066FF; color:#ffffff; padding:8px; width:5em; font-weight:bold; } /* * Styles for navigation bar. */ @media screen { .flex-box { position:fixed; display:flex; flex-direction:column; height: 100%; width: 100%; } .flex-header { flex: 0 0 auto; } .flex-content { flex: 1 1 auto; overflow-y: auto; } } .top-nav { background-color:#4D7A97; color:#FFFFFF; float:left; padding:0; width:100%; clear:right; min-height:2.8em; padding-top:10px; overflow:hidden; font-size:12px; } .sub-nav { background-color:#dee3e9; float:left; width:100%; overflow:hidden; font-size:12px; } .sub-nav div { clear:left; float:left; padding:0 0 5px 6px; text-transform:uppercase; } .sub-nav .nav-list { padding-top:5px; } ul.nav-list { display:block; margin:0 25px 0 0; padding:0; } ul.sub-nav-list { float:left; margin:0 25px 0 0; padding:0; } ul.nav-list li { list-style:none; float:left; padding: 5px 6px; text-transform:uppercase; } .sub-nav .nav-list-search { float:right; margin:0 0 0 0; padding:5px 6px; clear:none; } .nav-list-search label { position:relative; right:-16px; } ul.sub-nav-list li { list-style:none; float:left; padding-top:10px; } .top-nav a:link, .top-nav a:active, .top-nav a:visited { color:#FFFFFF; text-decoration:none; text-transform:uppercase; } .top-nav a:hover { text-decoration:none; color:#bb7a2a; text-transform:uppercase; } .nav-bar-cell1-rev { background-color:#F8981D; color:#253441; margin: auto 5px; } .skip-nav { position:absolute; top:auto; left:-9999px; overflow:hidden; } /* * Hide navigation links and search box in print layout */ @media print { ul.nav-list, div.sub-nav { display:none; } } /* * Styles for page header and footer. */ .title { color:#2c4557; margin:10px 0; } .sub-title { margin:5px 0 0 0; } .header ul { margin:0 0 15px 0; padding:0; } .header ul li, .footer ul li { list-style:none; font-size:13px; } /* * Styles for headings. */ body.class-declaration-page .summary h2, body.class-declaration-page .details h2, body.class-use-page h2, body.module-declaration-page .block-list h2 { font-style: italic; padding:0; margin:15px 0; } body.class-declaration-page .summary h3, body.class-declaration-page .details h3, body.class-declaration-page .summary .inherited-list h2 { background-color:#dee3e9; border:1px solid #d0d9e0; margin:0 0 6px -8px; padding:7px 5px; } /* * Styles for page layout containers. */ main { clear:both; padding:10px 20px; position:relative; } dl.notes > dt { font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; margin:10px 0 0 0; color:#4E4E4E; } dl.notes > dd { margin:5px 10px 10px 0; font-size:14px; font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; } dl.name-value > dt { margin-left:1px; font-size:1.1em; display:inline; font-weight:bold; } dl.name-value > dd { margin:0 0 0 1px; font-size:1.1em; display:inline; } /* * Styles for lists. */ li.circle { list-style:circle; } ul.horizontal li { display:inline; font-size:0.9em; } div.inheritance { margin:0; padding:0; } div.inheritance div.inheritance { margin-left:2em; } ul.block-list, ul.details-list, ul.member-list, ul.summary-list { margin:10px 0 10px 0; padding:0; } ul.block-list > li, ul.details-list > li, ul.member-list > li, ul.summary-list > li { list-style:none; margin-bottom:15px; line-height:1.4; } .summary-table dl, .summary-table dl dt, .summary-table dl dd { margin-top:0; margin-bottom:1px; } ul.see-list, ul.see-list-long { padding-left: 0; list-style: none; } ul.see-list li { display: inline; } ul.see-list li:not(:last-child):after, ul.see-list-long li:not(:last-child):after { content: ", "; white-space: pre-wrap; } /* * Styles for tables. */ .summary-table, .details-table { width:100%; border-spacing:0; border-left:1px solid #EEE; border-right:1px solid #EEE; border-bottom:1px solid #EEE; padding:0; } .caption { position:relative; text-align:left; background-repeat:no-repeat; color:#253441; font-weight:bold; clear:none; overflow:hidden; padding:0; padding-top:10px; padding-left:1px; margin:0; white-space:pre; } .caption a:link, .caption a:visited { color:#1f389c; } .caption a:hover, .caption a:active { color:#FFFFFF; } .caption span { white-space:nowrap; padding-top:5px; padding-left:12px; padding-right:12px; padding-bottom:7px; display:inline-block; float:left; background-color:#F8981D; border: none; height:16px; } div.table-tabs { padding:10px 0 0 1px; margin:0; } div.table-tabs > button { border: none; cursor: pointer; padding: 5px 12px 7px 12px; font-weight: bold; margin-right: 3px; } div.table-tabs > button.active-table-tab { background: #F8981D; color: #253441; } div.table-tabs > button.table-tab { background: #4D7A97; color: #FFFFFF; } .two-column-summary { display: grid; grid-template-columns: minmax(15%, max-content) minmax(15%, auto); } .three-column-summary { display: grid; grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); } .four-column-summary { display: grid; grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); } @media screen and (max-width: 600px) { .two-column-summary { display: grid; grid-template-columns: 1fr; } } @media screen and (max-width: 800px) { .three-column-summary { display: grid; grid-template-columns: minmax(10%, max-content) minmax(25%, auto); } .three-column-summary .col-last { grid-column-end: span 2; } } @media screen and (max-width: 1000px) { .four-column-summary { display: grid; grid-template-columns: minmax(15%, max-content) minmax(15%, auto); } } .summary-table > div, .details-table > div { text-align:left; padding: 8px 3px 3px 7px; } .col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { vertical-align:top; padding-right:0; padding-top:8px; padding-bottom:3px; } .table-header { background:#dee3e9; font-weight: bold; } .col-first, .col-first { font-size:13px; } .col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { font-size:13px; } .col-first, .col-second, .col-constructor-name { vertical-align:top; overflow: auto; } .col-last { white-space:normal; } .col-first a:link, .col-first a:visited, .col-second a:link, .col-second a:visited, .col-first a:link, .col-first a:visited, .col-second a:link, .col-second a:visited, .col-constructor-name a:link, .col-constructor-name a:visited, .col-summary-item-name a:link, .col-summary-item-name a:visited, .constant-values-container a:link, .constant-values-container a:visited, .all-classes-container a:link, .all-classes-container a:visited, .all-packages-container a:link, .all-packages-container a:visited { font-weight:bold; } .table-sub-heading-color { background-color:#EEEEFF; } .even-row-color, .even-row-color .table-header { background-color:#FFFFFF; } .odd-row-color, .odd-row-color .table-header { background-color:#EEEEEF; } /* * Styles for contents. */ .deprecated-content { margin:0; padding:10px 0; } div.block { font-size:14px; font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; } .col-last div { padding-top:0; } .col-last a { padding-bottom:3px; } .module-signature, .package-signature, .type-signature, .member-signature { font-family:'DejaVu Sans Mono', monospace; font-size:14px; margin:14px 0; white-space: pre-wrap; } .module-signature, .package-signature, .type-signature { margin-top: 0; } .member-signature .type-parameters-long, .member-signature .parameters, .member-signature .exceptions { display: inline-block; vertical-align: top; white-space: pre; } .member-signature .type-parameters { white-space: normal; } /* * Styles for formatting effect. */ .source-line-no { color:green; padding:0 30px 0 0; } h1.hidden { visibility:hidden; overflow:hidden; font-size:10px; } .block { display:block; margin:0 10px 5px 0; color:#474747; } .deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, .module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, .package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { font-weight:bold; } .deprecation-comment, .help-footnote, .preview-comment { font-style:italic; } .deprecation-block { font-size:14px; font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; border-style:solid; border-width:thin; border-radius:10px; padding:10px; margin-bottom:10px; margin-right:10px; display:inline-block; } .preview-block { font-size:14px; font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; border-style:solid; border-width:thin; border-radius:10px; padding:10px; margin-bottom:10px; margin-right:10px; display:inline-block; } div.block div.deprecation-comment { font-style:normal; } /* * Styles specific to HTML5 elements. */ main, nav, header, footer, section { display:block; } /* * Styles for javadoc search. */ .ui-autocomplete-category { font-weight:bold; font-size:15px; padding:7px 0 7px 3px; background-color:#4D7A97; color:#FFFFFF; } .result-item { font-size:13px; } .ui-autocomplete { max-height:85%; max-width:65%; overflow-y:scroll; overflow-x:scroll; white-space:nowrap; box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); } ul.ui-autocomplete { position:fixed; z-index:999999; background-color: #FFFFFF; } ul.ui-autocomplete li { float:left; clear:both; width:100%; } .result-highlight { font-weight:bold; } .ui-autocomplete .result-item { font-size: inherit; } #search-input { background-image:url('resources/glass.png'); background-size:13px; background-repeat:no-repeat; background-position:2px 3px; padding-left:20px; position:relative; right:-18px; width:400px; } #reset-button { background-color: rgb(255,255,255); background-image:url('resources/x.png'); background-position:center; background-repeat:no-repeat; background-size:12px; border:0 none; width:16px; height:16px; position:relative; left:-4px; top:-4px; font-size:0px; } .watermark { color:#545454; } .search-tag-desc-result { font-style:italic; font-size:11px; } .search-tag-holder-result { font-style:italic; font-size:12px; } .search-tag-result:target { background-color:yellow; } .module-graph span { display:none; position:absolute; } .module-graph:hover span { display:block; margin: -100px 0 0 100px; z-index: 1; } .inherited-list { margin: 10px 0 10px 0; } section.class-description { line-height: 1.4; } .summary section[class$="-summary"], .details section[class$="-details"], .class-uses .detail, .serialized-class-details { padding: 0px 20px 5px 10px; border: 1px solid #ededed; background-color: #f8f8f8; } .inherited-list, section[class$="-details"] .detail { padding:0 0 5px 8px; background-color:#ffffff; border:none; } .vertical-separator { padding: 0 5px; } ul.help-section-list { margin: 0; } ul.help-subtoc > li { display: inline-block; padding-right: 5px; font-size: smaller; } ul.help-subtoc > li::before { content: "\2022" ; padding-right:2px; } span.help-note { font-style: italic; } /* * Indicator icon for external links. */ main a[href*="://"]::after { content:""; display:inline-block; background-image:url('data:image/svg+xml; utf8, \ \ \ '); background-size:100% 100%; width:7px; height:7px; margin-left:2px; margin-bottom:4px; } main a[href*="://"]:hover::after, main a[href*="://"]:focus::after { background-image:url('data:image/svg+xml; utf8, \ \ \ '); } /* * Styles for user-provided tables. * * borderless: * No borders, vertical margins, styled caption. * This style is provided for use with existing doc comments. * In general, borderless tables should not be used for layout purposes. * * plain: * Plain borders around table and cells, vertical margins, styled caption. * Best for small tables or for complex tables for tables with cells that span * rows and columns, when the "striped" style does not work well. * * striped: * Borders around the table and vertical borders between cells, striped rows, * vertical margins, styled caption. * Best for tables that have a header row, and a body containing a series of simple rows. */ table.borderless, table.plain, table.striped { margin-top: 10px; margin-bottom: 10px; } table.borderless > caption, table.plain > caption, table.striped > caption { font-weight: bold; font-size: smaller; } table.borderless th, table.borderless td, table.plain th, table.plain td, table.striped th, table.striped td { padding: 2px 5px; } table.borderless, table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { border: none; } table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { background-color: transparent; } table.plain { border-collapse: collapse; border: 1px solid black; } table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { background-color: transparent; } table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { border: 1px solid black; } table.striped { border-collapse: collapse; border: 1px solid black; } table.striped > thead { background-color: #E3E3E3; } table.striped > thead > tr > th, table.striped > thead > tr > td { border: 1px solid black; } table.striped > tbody > tr:nth-child(even) { background-color: #EEE } table.striped > tbody > tr:nth-child(odd) { background-color: #FFF } table.striped > tbody > tr > th, table.striped > tbody > tr > td { border-left: 1px solid black; border-right: 1px solid black; } table.striped > tbody > tr > th { font-weight: normal; } /** * Tweak font sizes and paddings for small screens. */ @media screen and (max-width: 1050px) { #search-input { width: 300px; } } @media screen and (max-width: 800px) { #search-input { width: 200px; } .top-nav, .bottom-nav { font-size: 11px; padding-top: 6px; } .sub-nav { font-size: 11px; } .about-language { padding-right: 16px; } ul.nav-list li, .sub-nav .nav-list-search { padding: 6px; } ul.sub-nav-list li { padding-top: 5px; } main { padding: 10px; } .summary section[class$="-summary"], .details section[class$="-details"], .class-uses .detail, .serialized-class-details { padding: 0 8px 5px 8px; } body { -webkit-text-size-adjust: none; } } @media screen and (max-width: 500px) { #search-input { width: 150px; } .top-nav, .bottom-nav { font-size: 10px; } .sub-nav { font-size: 10px; } .about-language { font-size: 10px; padding-right: 12px; } } ================================================ FILE: docs/tag-search-index.js ================================================ tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"},{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults(); ================================================ FILE: docs/type-search-index.js ================================================ typeSearchIndex = [{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonActivityTaskRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonActivityTaskRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonActivityTaskResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonActivityTaskResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonEntityTaskRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonEntityTaskRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonEntityTaskResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonEntityTaskResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonOrchestrationTaskRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonOrchestrationTaskRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonOrchestrationTaskResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonOrchestrationTaskResponseOrBuilder"},{"p":"io.dapr.actors.runtime","l":"AbstractActor"},{"p":"io.dapr.spring.data","l":"AbstractDaprKeyValueAdapter"},{"p":"io.dapr.spring6.data","l":"AbstractDaprKeyValueAdapter"},{"p":"io.dapr.testcontainers.wait.strategy","l":"AbstractDaprWaitStrategy"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.ActiveActorsCount"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.ActiveActorsCountOrBuilder"},{"p":"io.dapr.spring.workflows.config.annotations","l":"ActivityMetadata"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ActivityRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ActivityRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ActivityResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ActivityResponseOrBuilder"},{"p":"io.dapr.durabletask.runner","l":"ActivityRunner"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","l":"Actor"},{"p":"io.dapr.actors.client","l":"ActorClient"},{"p":"io.dapr.actors.runtime","l":"ActorFactory"},{"p":"io.dapr.actors","l":"ActorId"},{"p":"io.dapr.client.domain","l":"ActorMetadata"},{"p":"io.dapr.actors","l":"ActorMethod"},{"p":"io.dapr.actors.runtime","l":"ActorMethodContext"},{"p":"io.dapr.actors.runtime","l":"ActorObjectSerializer"},{"p":"io.dapr.actors.client","l":"ActorProxy"},{"p":"io.dapr.actors.client","l":"ActorProxyBuilder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ActorReminder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ActorReminderOrBuilder"},{"p":"io.dapr.actors.runtime","l":"ActorRuntime"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.ActorRuntime"},{"p":"io.dapr.actors.runtime","l":"ActorRuntimeConfig"},{"p":"io.dapr.actors.runtime","l":"ActorRuntimeContext"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.ActorRuntimeOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.ActorRuntime.ActorRuntimeStatus"},{"p":"io.dapr.actors.runtime","l":"ActorStateChange"},{"p":"io.dapr.actors.runtime","l":"ActorStateChangeKind"},{"p":"io.dapr.actors.runtime","l":"ActorStateManager"},{"p":"io.dapr.actors","l":"ActorTrace"},{"p":"io.dapr.actors","l":"ActorType"},{"p":"io.dapr.actors.runtime","l":"ActorTypeConfig"},{"p":"io.dapr.actors","l":"ActorUtils"},{"p":"io.dapr.testcontainers.wait.strategy","l":"ActorWaitStrategy"},{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"io.dapr.client.domain.query.filters","l":"AndFilter"},{"p":"io.dapr.workflows.internal","l":"ApiTokenClientInterceptor"},{"p":"io.dapr.v1","l":"AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub"},{"p":"io.dapr.v1","l":"AppCallbackAlphaGrpc.AppCallbackAlphaBlockingV2Stub"},{"p":"io.dapr.v1","l":"AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub"},{"p":"io.dapr.v1","l":"AppCallbackAlphaGrpc"},{"p":"io.dapr.v1","l":"AppCallbackAlphaGrpc.AppCallbackAlphaImplBase"},{"p":"io.dapr.v1","l":"AppCallbackAlphaGrpc.AppCallbackAlphaStub"},{"p":"io.dapr.v1","l":"AppCallbackGrpc.AppCallbackBlockingStub"},{"p":"io.dapr.v1","l":"AppCallbackGrpc.AppCallbackBlockingV2Stub"},{"p":"io.dapr.v1","l":"AppCallbackGrpc.AppCallbackFutureStub"},{"p":"io.dapr.v1","l":"AppCallbackGrpc"},{"p":"io.dapr.v1","l":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub"},{"p":"io.dapr.v1","l":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingV2Stub"},{"p":"io.dapr.v1","l":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub"},{"p":"io.dapr.v1","l":"AppCallbackHealthCheckGrpc"},{"p":"io.dapr.v1","l":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase"},{"p":"io.dapr.v1","l":"AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub"},{"p":"io.dapr.v1","l":"AppCallbackGrpc.AppCallbackImplBase"},{"p":"io.dapr.v1","l":"AppCallbackGrpc.AppCallbackStub"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.AppConnectionHealthProperties"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.AppConnectionHealthPropertiesOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.AppConnectionProperties"},{"p":"io.dapr.client.domain","l":"AppConnectionPropertiesHealthMetadata"},{"p":"io.dapr.client.domain","l":"AppConnectionPropertiesMetadata"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.AppConnectionPropertiesOrBuilder"},{"p":"io.dapr.testcontainers","l":"AppHttpPipeline"},{"p":"io.dapr.client.domain","l":"AssistantMessage"},{"p":"io.dapr.v1","l":"AppCallbackAlphaGrpc.AsyncService"},{"p":"io.dapr.v1","l":"AppCallbackGrpc.AsyncService"},{"p":"io.dapr.v1","l":"AppCallbackHealthCheckGrpc.AsyncService"},{"p":"io.dapr.v1","l":"DaprGrpc.AsyncService"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"TaskHubSidecarServiceGrpc.AsyncService"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.BindingEventRequest"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.BindingEventRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.BindingEventResponse"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.BindingEventResponseOrBuilder"},{"p":"io.dapr.config","l":"BooleanProperty"},{"p":"io.dapr.v1","l":"CommonProtos.ConfigurationItem.Builder"},{"p":"io.dapr.v1","l":"CommonProtos.Etag.Builder"},{"p":"io.dapr.v1","l":"CommonProtos.HTTPExtension.Builder"},{"p":"io.dapr.v1","l":"CommonProtos.InvokeRequest.Builder"},{"p":"io.dapr.v1","l":"CommonProtos.InvokeResponse.Builder"},{"p":"io.dapr.v1","l":"CommonProtos.JobFailurePolicy.Builder"},{"p":"io.dapr.v1","l":"CommonProtos.JobFailurePolicyConstant.Builder"},{"p":"io.dapr.v1","l":"CommonProtos.JobFailurePolicyDrop.Builder"},{"p":"io.dapr.v1","l":"CommonProtos.StateItem.Builder"},{"p":"io.dapr.v1","l":"CommonProtos.StateOptions.Builder"},{"p":"io.dapr.v1","l":"CommonProtos.StreamPayload.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ActorReminder.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ExecuteActorStateTransactionRequest.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorReminderRequest.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorReminderResponse.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorStateRequest.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorStateResponse.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.InvokeActorRequest.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.InvokeActorResponse.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ListActorRemindersRequest.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ListActorRemindersResponse.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.NamedActorReminder.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.RegisterActorReminderRequest.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.RegisterActorTimerRequest.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.TransactionalActorStateOperation.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorReminderRequest.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse.Builder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorTimerRequest.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationInput.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationInputAlpha2.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessage.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageContent.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfAssistant.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfDeveloper.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfSystem.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfTool.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfUser.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationRequest.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationRequestAlpha2.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResponse.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResponseAlpha2.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResult.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2CompletionUsage.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultChoices.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultMessage.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationToolCalls.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationToolCallsOfFunction.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationTools.Builder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationToolsFunction.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.BindingEventRequest.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.BindingEventResponse.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.BulkSubscribeConfig.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.HealthCheckResponse.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.JobEventRequest.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.JobEventResponse.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.ListInputBindingsResponse.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkRequest.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkResponse.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventCERequest.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventRequest.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventResponse.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicRoutes.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicRule.Builder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicSubscription.Builder"},{"p":"io.dapr.v1","l":"DaprBindingsProtos.InvokeBindingRequest.Builder"},{"p":"io.dapr.v1","l":"DaprBindingsProtos.InvokeBindingResponse.Builder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.GetConfigurationRequest.Builder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.GetConfigurationResponse.Builder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.SubscribeConfigurationRequest.Builder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.SubscribeConfigurationResponse.Builder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.UnsubscribeConfigurationResponse.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.DecryptRequest.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.DecryptRequestOptions.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.DecryptResponse.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.EncryptRequest.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.EncryptRequestOptions.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.EncryptResponse.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleDecryptRequest.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleDecryptResponse.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleEncryptRequest.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleEncryptResponse.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleGetKeyRequest.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleGetKeyResponse.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleSignRequest.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleSignResponse.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleUnwrapKeyRequest.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleUnwrapKeyResponse.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleVerifyRequest.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleVerifyResponse.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleWrapKeyRequest.Builder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleWrapKeyResponse.Builder"},{"p":"io.dapr.v1","l":"DaprInvokeProtos.InvokeServiceRequest.Builder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobRequest.Builder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobResponse.Builder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1.Builder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1.Builder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.GetJobRequest.Builder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.GetJobResponse.Builder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.Job.Builder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ListJobsRequestAlpha1.Builder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ListJobsResponseAlpha1.Builder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ScheduleJobRequest.Builder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ScheduleJobResponse.Builder"},{"p":"io.dapr.v1","l":"DaprLockProtos.TryLockRequest.Builder"},{"p":"io.dapr.v1","l":"DaprLockProtos.TryLockResponse.Builder"},{"p":"io.dapr.v1","l":"DaprLockProtos.UnlockRequest.Builder"},{"p":"io.dapr.v1","l":"DaprLockProtos.UnlockResponse.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.ActiveActorsCount.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.ActorRuntime.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.AppConnectionHealthProperties.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.AppConnectionProperties.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.GetMetadataRequest.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.GetMetadataResponse.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.MetadataHTTPEndpoint.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.MetadataScheduler.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.MetadataWorkflows.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.PubsubSubscription.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.PubsubSubscriptionRule.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.PubsubSubscriptionRules.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.RegisteredComponents.Builder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.SetMetadataRequest.Builder"},{"p":"io.dapr.v1","l":"DaprProtos.ShutdownRequest.Builder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishRequest.Builder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishRequestEntry.Builder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishResponse.Builder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishResponseFailedEntry.Builder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.PublishEventRequest.Builder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.Builder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.Builder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.Builder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1.Builder"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetBulkSecretRequest.Builder"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetBulkSecretResponse.Builder"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetSecretRequest.Builder"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetSecretResponse.Builder"},{"p":"io.dapr.v1","l":"DaprSecretProtos.SecretResponse.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.BulkStateItem.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.DeleteBulkStateRequest.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.DeleteStateRequest.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.ExecuteStateTransactionRequest.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetBulkStateRequest.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetBulkStateResponse.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetStateRequest.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetStateResponse.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.QueryStateItem.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.QueryStateRequest.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.QueryStateResponse.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.SaveStateRequest.Builder"},{"p":"io.dapr.v1","l":"DaprStateProtos.TransactionalStateOperation.Builder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.GetWorkflowRequest.Builder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.GetWorkflowResponse.Builder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.PauseWorkflowRequest.Builder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.PurgeWorkflowRequest.Builder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.RaiseEventWorkflowRequest.Builder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.ResumeWorkflowRequest.Builder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.StartWorkflowRequest.Builder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.StartWorkflowResponse.Builder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.TerminateWorkflowRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonActivityTaskRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonActivityTaskResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonEntityTaskRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonEntityTaskResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonOrchestrationTaskRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.AbandonOrchestrationTaskResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ActivityRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ActivityResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CleanEntityStorageRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CleanEntityStorageResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CompleteOrchestrationAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CompleteTaskResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ContinueAsNewEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateInstanceRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateInstanceResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateSubOrchestrationAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateTaskHubRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateTaskHubResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateTimerAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.DeleteTaskHubRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.DeleteTaskHubResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityBatchRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityBatchResult.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityLockGrantedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityLockRequestedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityMetadata.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationCalledEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationCompletedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationFailedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationSignaledEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityQuery.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityUnlockSentEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EventRaisedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EventSentEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionCompletedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionResumedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionStalledEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionStartedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionSuspendedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionTerminatedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GenericEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetEntityRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetEntityResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceHistoryRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceHistoryResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetWorkItemsRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HealthPing.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HistoryChunk.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HistoryEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HistoryStateEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.InstanceQuery.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ListInstanceIDsRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ListInstanceIDsResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationInfo.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationResult.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationResultFailure.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationResultSuccess.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationIdReusePolicy.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationInstance.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationState.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationVersion.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorCompletedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorEntityParameters.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorStartedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorVersionNotAvailableAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ParentInstanceInfo.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.PurgeInstanceFilter.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.PurgeInstancesRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.PurgeInstancesResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryEntitiesRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryEntitiesResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryInstancesRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryInstancesResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RaiseEventRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RaiseEventResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RerunParentInstanceInfo.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RerunWorkflowFromEventRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RerunWorkflowFromEventResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ResumeRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ResumeResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RewindInstanceRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RewindInstanceResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ScheduleTaskAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SendEntityMessageAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SendEventAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SendSignalAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SignalEntityRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SignalEntityResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.StartNewOrchestrationAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.StreamInstanceHistoryRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SubOrchestrationInstanceCompletedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SubOrchestrationInstanceCreatedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SubOrchestrationInstanceFailedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SuspendRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SuspendResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskCompletedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskFailedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskFailureDetails.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskRouter.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskScheduledEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TerminateOrchestrationAction.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TerminateRequest.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TerminateResponse.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TimerCreatedEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TimerFiredEvent.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TraceContext.Builder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.WorkItem.Builder"},{"p":"io.dapr.durabletask","l":"TaskOptions.Builder"},{"p":"io.dapr.workflows","l":"WorkflowTaskRetryPolicy.Builder"},{"p":"io.dapr.client.domain","l":"BulkPublishEntry"},{"p":"io.dapr.client.domain","l":"BulkPublishRequest"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishRequest"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishRequestEntry"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishRequestEntryOrBuilder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishRequestOrBuilder"},{"p":"io.dapr.client.domain","l":"BulkPublishResponse"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishResponse"},{"p":"io.dapr.client.domain","l":"BulkPublishResponseFailedEntry"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishResponseFailedEntry"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishResponseFailedEntryOrBuilder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.BulkPublishResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprStateProtos.BulkStateItem"},{"p":"io.dapr.v1","l":"DaprStateProtos.BulkStateItemOrBuilder"},{"p":"io.dapr.client.domain","l":"BulkSubscribeAppResponse"},{"p":"io.dapr.client.domain","l":"BulkSubscribeAppResponseEntry"},{"p":"io.dapr.client.domain","l":"BulkSubscribeAppResponseStatus"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.BulkSubscribeConfig"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder"},{"p":"io.dapr.client.domain","l":"BulkSubscribeMessage"},{"p":"io.dapr.client.domain","l":"BulkSubscribeMessageEntry"},{"p":"io.dapr.spring.messaging.observation","l":"DaprMessagingSenderContext.Carrier"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CleanEntityStorageRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CleanEntityStorageRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CleanEntityStorageResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CleanEntityStorageResponseOrBuilder"},{"p":"io.dapr.spring.boot.properties.client","l":"ClientPropertiesDaprConnectionDetails"},{"p":"io.dapr.client.domain","l":"CloudEvent"},{"p":"io.dapr.v1","l":"CommonProtos"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CompleteOrchestrationAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CompleteOrchestrationActionOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CompleteTaskResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CompleteTaskResponseOrBuilder"},{"p":"io.dapr.testcontainers","l":"Component"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","l":"Component"},{"p":"io.dapr.client.domain","l":"ComponentMetadata"},{"p":"io.dapr.testcontainers.converter","l":"ComponentYamlConverter"},{"p":"io.dapr.durabletask","l":"CompositeTaskFailedException"},{"p":"io.dapr.client.domain","l":"StateOptions.Concurrency"},{"p":"io.dapr.testcontainers","l":"Configuration"},{"p":"io.dapr.v1","l":"CommonProtos.ConfigurationItem"},{"p":"io.dapr.client.domain","l":"ConfigurationItem"},{"p":"io.dapr.v1","l":"CommonProtos.ConfigurationItemOrBuilder"},{"p":"io.dapr.testcontainers","l":"ConfigurationSettings"},{"p":"io.dapr.testcontainers.converter","l":"ConfigurationYamlConverter"},{"p":"io.dapr.client.domain","l":"StateOptions.Consistency"},{"p":"io.dapr.client.domain","l":"ConstantFailurePolicy"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ContinueAsNewEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ContinueAsNewEventOrBuilder"},{"p":"io.dapr.durabletask.interruption","l":"ContinueAsNewInterruption"},{"p":"io.dapr.client.domain","l":"ConversationInput"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationInput"},{"p":"io.dapr.client.domain","l":"ConversationInputAlpha2"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationInputAlpha2"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationInputAlpha2OrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationInputOrBuilder"},{"p":"io.dapr.client.domain","l":"ConversationMessage"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessage"},{"p":"io.dapr.client.domain","l":"ConversationMessageContent"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageContent"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageContentOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfAssistant"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfAssistantOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfDeveloper"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfDeveloperOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfSystem"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfSystemOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfTool"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfToolOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfUser"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOfUserOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessageOrBuilder"},{"p":"io.dapr.client.domain","l":"ConversationMessageRole"},{"p":"io.dapr.client.domain","l":"ConversationOutput"},{"p":"io.dapr.client.domain","l":"ConversationRequest"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationRequest"},{"p":"io.dapr.client.domain","l":"ConversationRequestAlpha2"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationRequestAlpha2"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationRequestAlpha2OrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationRequestOrBuilder"},{"p":"io.dapr.client.domain","l":"ConversationResponse"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResponse"},{"p":"io.dapr.client.domain","l":"ConversationResponseAlpha2"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResponseAlpha2"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResponseAlpha2OrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResult"},{"p":"io.dapr.client.domain","l":"ConversationResultAlpha2"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2CompletionUsage"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetailsOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2CompletionUsageOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetailsOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultAlpha2OrBuilder"},{"p":"io.dapr.client.domain","l":"ConversationResultChoices"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultChoices"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultChoicesOrBuilder"},{"p":"io.dapr.client.domain","l":"ConversationResultCompletionUsage"},{"p":"io.dapr.client.domain","l":"ConversationResultCompletionUsageDetails"},{"p":"io.dapr.client.domain","l":"ConversationResultMessage"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultMessage"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultMessageOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationResultOrBuilder"},{"p":"io.dapr.client.domain","l":"ConversationResultPromptUsageDetails"},{"p":"io.dapr.client.domain","l":"ConversationToolCalls"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationToolCalls"},{"p":"io.dapr.client.domain","l":"ConversationToolCallsOfFunction"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationToolCallsOfFunction"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationToolCallsOfFunctionOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationToolCallsOrBuilder"},{"p":"io.dapr.client.domain","l":"ConversationTools"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationTools"},{"p":"io.dapr.client.domain","l":"ConversationToolsFunction"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationToolsFunction"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationToolsFunctionOrBuilder"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationToolsOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateInstanceRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateInstanceRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateInstanceResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateInstanceResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateOrchestrationAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateSubOrchestrationAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateSubOrchestrationActionOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateTaskHubRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateTaskHubRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateTaskHubResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateTaskHubResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateTimerAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.CreateTimerActionOrBuilder"},{"p":"io.dapr.serializer","l":"CustomizableObjectSerializer"},{"p":"io.dapr.v1","l":"DaprActorsProtos"},{"p":"io.dapr.v1","l":"DaprAiProtos"},{"p":"io.dapr.internal.grpc.interceptors","l":"DaprApiTokenInterceptor"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos"},{"p":"io.dapr.internal.grpc.interceptors","l":"DaprAppIdInterceptor"},{"p":"io.dapr.v1","l":"DaprBindingsProtos"},{"p":"io.dapr.v1","l":"DaprGrpc.DaprBlockingStub"},{"p":"io.dapr.v1","l":"DaprGrpc.DaprBlockingV2Stub"},{"p":"io.dapr.client","l":"DaprClient"},{"p":"io.dapr.spring.boot.autoconfigure.client","l":"DaprClientAutoConfiguration"},{"p":"io.dapr.client","l":"DaprClientBuilder"},{"p":"io.dapr.internal.grpc","l":"DaprClientGrpcInterceptors"},{"p":"io.dapr.client","l":"DaprClientImpl"},{"p":"io.dapr.spring.boot.properties.client","l":"DaprClientProperties"},{"p":"io.dapr.spring.boot4.autoconfigure.client","l":"DaprClientSB4AutoConfiguration"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos"},{"p":"io.dapr.spring.boot.properties.client","l":"DaprConnectionDetails"},{"p":"io.dapr.testcontainers","l":"DaprContainer"},{"p":"io.dapr.spring.boot.testcontainers.service.connection","l":"DaprContainerConnectionDetailsFactory"},{"p":"io.dapr.testcontainers","l":"DaprContainerConstants"},{"p":"io.dapr.v1","l":"DaprCryptoProtos"},{"p":"io.dapr.exceptions","l":"DaprError"},{"p":"io.dapr.exceptions","l":"DaprErrorDetails"},{"p":"io.dapr.exceptions","l":"DaprException"},{"p":"io.dapr.v1","l":"DaprGrpc.DaprFutureStub"},{"p":"io.dapr.v1","l":"DaprGrpc"},{"p":"io.dapr.client","l":"DaprHttp"},{"p":"io.dapr.client","l":"DaprHttpBuilder"},{"p":"io.dapr.internal.exceptions","l":"DaprHttpException"},{"p":"io.dapr.v1","l":"DaprGrpc.DaprImplBase"},{"p":"io.dapr.v1","l":"DaprInvokeProtos"},{"p":"io.dapr.spring.boot4.autoconfigure.client","l":"DaprJackson3SB4AutoConfiguration"},{"p":"io.dapr.v1","l":"DaprJobsProtos"},{"p":"io.dapr.spring.data","l":"DaprKeyValueAdapterResolver"},{"p":"io.dapr.spring6.data","l":"DaprKeyValueAdapterResolver"},{"p":"io.dapr.spring.data","l":"DaprKeyValueTemplate"},{"p":"io.dapr.spring6.data","l":"DaprKeyValueTemplate"},{"p":"io.dapr.v1","l":"DaprLockProtos"},{"p":"io.dapr.testcontainers","l":"DaprLogLevel"},{"p":"io.dapr.spring.messaging.observation","l":"DaprMessagingObservationConvention"},{"p":"io.dapr.spring.messaging.observation","l":"DaprMessagingObservationDocumentation"},{"p":"io.dapr.spring.messaging","l":"DaprMessagingOperations"},{"p":"io.dapr.spring.messaging.observation","l":"DaprMessagingSenderContext"},{"p":"io.dapr.spring.messaging","l":"DaprMessagingTemplate"},{"p":"io.dapr.client.domain","l":"DaprMetadata"},{"p":"io.dapr.v1","l":"DaprMetadataProtos"},{"p":"io.dapr.internal.grpc.interceptors","l":"DaprMetadataReceiverInterceptor"},{"p":"io.dapr.serializer","l":"DaprObjectSerializer"},{"p":"io.dapr.testcontainers","l":"DaprPlacementContainer"},{"p":"io.dapr.spring.data.repository.query","l":"DaprPredicate"},{"p":"io.dapr.spring6.data.repository.query","l":"DaprPredicate"},{"p":"io.dapr.spring.data.repository.query","l":"DaprPredicateQueryCreator"},{"p":"io.dapr.spring6.data.repository.query","l":"DaprPredicateQueryCreator"},{"p":"io.dapr.client","l":"DaprPreviewClient"},{"p":"io.dapr.testcontainers","l":"DaprProtocol"},{"p":"io.dapr.v1","l":"DaprProtos"},{"p":"io.dapr.spring.boot.properties.pubsub","l":"DaprPubSubProperties"},{"p":"io.dapr.v1","l":"DaprPubsubProtos"},{"p":"io.dapr.spring.data.repository.config","l":"DaprRepositoriesRegistrar"},{"p":"io.dapr.spring6.data.repository.config","l":"DaprRepositoriesRegistrar"},{"p":"io.dapr.spring.data.repository.config","l":"DaprRepositoryConfigurationExtension"},{"p":"io.dapr.spring6.data.repository.config","l":"DaprRepositoryConfigurationExtension"},{"p":"io.dapr.testcontainers","l":"DaprSchedulerContainer"},{"p":"io.dapr.v1","l":"DaprSecretProtos"},{"p":"io.dapr.v1","l":"DaprStateProtos"},{"p":"io.dapr.spring.boot.properties.statestore","l":"DaprStateStoreProperties"},{"p":"io.dapr.v1","l":"DaprGrpc.DaprStub"},{"p":"io.dapr.internal.grpc.interceptors","l":"DaprTimeoutInterceptor"},{"p":"io.dapr.internal.grpc.interceptors","l":"DaprTracingInterceptor"},{"p":"io.dapr.testcontainers.wait.strategy","l":"DaprWait"},{"p":"io.dapr.workflows.client","l":"DaprWorkflowClient"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos"},{"p":"io.dapr.spring.workflows.config","l":"DaprWorkflowsConfiguration"},{"p":"io.dapr.durabletask","l":"DataConverter"},{"p":"io.dapr.durabletask","l":"DataConverter.DataConverterException"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.DecryptRequest"},{"p":"io.dapr.client.domain","l":"DecryptRequestAlpha1"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.DecryptRequestOptions"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.DecryptRequestOptionsOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.DecryptRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.DecryptResponse"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.DecryptResponseOrBuilder"},{"p":"io.dapr.utils","l":"DefaultContentTypeConverter"},{"p":"io.dapr.serializer","l":"DefaultObjectSerializer"},{"p":"io.dapr.workflows.runtime","l":"DefaultWorkflowActivityContext"},{"p":"io.dapr.workflows.runtime","l":"DefaultWorkflowContext"},{"p":"io.dapr.workflows.runtime","l":"DefaultWorkflowFailureDetails"},{"p":"io.dapr.workflows.runtime","l":"DefaultWorkflowInstanceStatus"},{"p":"io.dapr.workflows.runtime","l":"DefaultWorkflowState"},{"p":"io.dapr.v1","l":"DaprStateProtos.DeleteBulkStateRequest"},{"p":"io.dapr.v1","l":"DaprStateProtos.DeleteBulkStateRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobRequest"},{"p":"io.dapr.client.domain","l":"DeleteJobRequest"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobResponse"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobsByPrefixRequestAlpha1OrBuilder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1"},{"p":"io.dapr.v1","l":"DaprJobsProtos.DeleteJobsByPrefixResponseAlpha1OrBuilder"},{"p":"io.dapr.v1","l":"DaprStateProtos.DeleteStateRequest"},{"p":"io.dapr.client.domain","l":"DeleteStateRequest"},{"p":"io.dapr.v1","l":"DaprStateProtos.DeleteStateRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.DeleteTaskHubRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.DeleteTaskHubRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.DeleteTaskHubResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.DeleteTaskHubResponseOrBuilder"},{"p":"io.dapr.client.domain","l":"DeveloperMessage"},{"p":"io.dapr.client.domain","l":"DropFailurePolicy"},{"p":"io.dapr.durabletask.runner","l":"DurableRunner"},{"p":"io.dapr.durabletask","l":"DurableTaskClient"},{"p":"io.dapr.durabletask","l":"DurableTaskGrpcClient"},{"p":"io.dapr.durabletask","l":"DurableTaskGrpcClientBuilder"},{"p":"io.dapr.durabletask","l":"DurableTaskGrpcWorker"},{"p":"io.dapr.durabletask","l":"DurableTaskGrpcWorkerBuilder"},{"p":"io.dapr.utils","l":"DurationUtils"},{"p":"io.dapr.spring.data.repository.config","l":"EnableDaprRepositories"},{"p":"io.dapr.spring6.data.repository.config","l":"EnableDaprRepositories"},{"p":"io.dapr.spring.workflows.config","l":"EnableDaprWorkflows"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.EncryptRequest"},{"p":"io.dapr.client.domain","l":"EncryptRequestAlpha1"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.EncryptRequestOptions"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.EncryptRequestOptionsOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.EncryptRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.EncryptResponse"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.EncryptResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityBatchRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityBatchRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityBatchResult"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityBatchResultOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityLockGrantedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityLockGrantedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityLockRequestedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityLockRequestedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SendEntityMessageAction.EntityMessageTypeCase"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityMetadata"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityMetadataOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationCalledEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationCalledEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationCompletedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationCompletedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationFailedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationFailedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationSignaledEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityOperationSignaledEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityQuery"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityQueryOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityUnlockSentEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EntityUnlockSentEventOrBuilder"},{"p":"io.dapr.client.domain.query.filters","l":"EqFilter"},{"p":"io.dapr.exceptions","l":"DaprErrorDetails.ErrorDetailType"},{"p":"io.dapr.v1","l":"CommonProtos.Etag"},{"p":"io.dapr.v1","l":"CommonProtos.EtagOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EventRaisedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EventRaisedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EventSentEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.EventSentEventOrBuilder"},{"p":"io.dapr.internal.subscription","l":"EventSubscriberStreamObserver"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HistoryEvent.EventTypeCase"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ExecuteActorStateTransactionRequest"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ExecuteActorStateTransactionRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprStateProtos.ExecuteStateTransactionRequest"},{"p":"io.dapr.client.domain","l":"ExecuteStateTransactionRequest"},{"p":"io.dapr.v1","l":"DaprStateProtos.ExecuteStateTransactionRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionCompletedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionCompletedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionResumedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionResumedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionStalledEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionStalledEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionStartedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionStartedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionSuspendedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionSuspendedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionTerminatedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ExecutionTerminatedEventOrBuilder"},{"p":"io.dapr.durabletask","l":"FailureDetails"},{"p":"io.dapr.client.domain","l":"FailurePolicy"},{"p":"io.dapr.client.domain","l":"FailurePolicyType"},{"p":"io.dapr.utils","l":"FailurePolicyUtils"},{"p":"io.dapr.client.domain.query.filters","l":"Filter"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GenericEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GenericEventOrBuilder"},{"p":"io.dapr.config","l":"GenericProperty"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorReminderRequest"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorReminderRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorReminderResponse"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorReminderResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorStateRequest"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorStateRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorStateResponse"},{"p":"io.dapr.v1","l":"DaprActorsProtos.GetActorStateResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetBulkSecretRequest"},{"p":"io.dapr.client.domain","l":"GetBulkSecretRequest"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetBulkSecretRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetBulkSecretResponse"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetBulkSecretResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetBulkStateRequest"},{"p":"io.dapr.client.domain","l":"GetBulkStateRequest"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetBulkStateRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetBulkStateResponse"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetBulkStateResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.GetConfigurationRequest"},{"p":"io.dapr.client.domain","l":"GetConfigurationRequest"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.GetConfigurationRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.GetConfigurationResponse"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.GetConfigurationResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetEntityRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetEntityRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetEntityResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetEntityResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceHistoryRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceHistoryRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceHistoryResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceHistoryResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetInstanceResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.GetJobRequest"},{"p":"io.dapr.client.domain","l":"GetJobRequest"},{"p":"io.dapr.v1","l":"DaprJobsProtos.GetJobRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.GetJobResponse"},{"p":"io.dapr.client.domain","l":"GetJobResponse"},{"p":"io.dapr.v1","l":"DaprJobsProtos.GetJobResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.GetMetadataRequest"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.GetMetadataRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.GetMetadataResponse"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.GetMetadataResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetSecretRequest"},{"p":"io.dapr.client.domain","l":"GetSecretRequest"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetSecretRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetSecretResponse"},{"p":"io.dapr.v1","l":"DaprSecretProtos.GetSecretResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetStateRequest"},{"p":"io.dapr.client.domain","l":"GetStateRequest"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetStateRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetStateResponse"},{"p":"io.dapr.v1","l":"DaprStateProtos.GetStateResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.GetWorkflowRequest"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.GetWorkflowRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.GetWorkflowResponse"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.GetWorkflowResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetWorkItemsRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.GetWorkItemsRequestOrBuilder"},{"p":"io.dapr.internal.opencensus","l":"GrpcHelper"},{"p":"io.dapr.client","l":"Headers"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.HealthCheckResponse"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.HealthCheckResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HealthPing"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HealthPingOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HistoryChunk"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HistoryChunkOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HistoryEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HistoryEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HistoryStateEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.HistoryStateEventOrBuilder"},{"p":"io.dapr.testcontainers","l":"HttpEndpoint"},{"p":"io.dapr.client.domain","l":"HttpEndpointMetadata"},{"p":"io.dapr.testcontainers.converter","l":"HttpEndpointYamlConverter"},{"p":"io.dapr.client.domain","l":"HttpExtension"},{"p":"io.dapr.v1","l":"CommonProtos.HTTPExtension"},{"p":"io.dapr.v1","l":"CommonProtos.HTTPExtensionOrBuilder"},{"p":"io.dapr.client","l":"DaprHttp.HttpMethods"},{"p":"io.dapr.client.domain.query.filters","l":"InFilter"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.InstanceQuery"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.InstanceQueryOrBuilder"},{"p":"io.dapr.config","l":"IntegerProperty"},{"p":"io.dapr.v1","l":"DaprActorsProtos.InvokeActorRequest"},{"p":"io.dapr.v1","l":"DaprActorsProtos.InvokeActorRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.InvokeActorResponse"},{"p":"io.dapr.v1","l":"DaprActorsProtos.InvokeActorResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprBindingsProtos.InvokeBindingRequest"},{"p":"io.dapr.client.domain","l":"InvokeBindingRequest"},{"p":"io.dapr.v1","l":"DaprBindingsProtos.InvokeBindingRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprBindingsProtos.InvokeBindingResponse"},{"p":"io.dapr.v1","l":"DaprBindingsProtos.InvokeBindingResponseOrBuilder"},{"p":"io.dapr.client.domain","l":"InvokeMethodRequest"},{"p":"io.dapr.v1","l":"CommonProtos.InvokeRequest"},{"p":"io.dapr.v1","l":"CommonProtos.InvokeRequestOrBuilder"},{"p":"io.dapr.v1","l":"CommonProtos.InvokeResponse"},{"p":"io.dapr.v1","l":"CommonProtos.InvokeResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprInvokeProtos.InvokeServiceRequest"},{"p":"io.dapr.v1","l":"DaprInvokeProtos.InvokeServiceRequestOrBuilder"},{"p":"io.dapr.spring.boot4.autoconfigure.client","l":"Jackson3ObjectSerializer"},{"p":"io.dapr.durabletask","l":"JacksonDataConverter"},{"p":"io.dapr.v1","l":"DaprJobsProtos.Job"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.JobEventRequest"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.JobEventRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.JobEventResponse"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.JobEventResponseOrBuilder"},{"p":"io.dapr.v1","l":"CommonProtos.JobFailurePolicy"},{"p":"io.dapr.v1","l":"CommonProtos.JobFailurePolicyConstant"},{"p":"io.dapr.v1","l":"CommonProtos.JobFailurePolicyConstantOrBuilder"},{"p":"io.dapr.v1","l":"CommonProtos.JobFailurePolicyDrop"},{"p":"io.dapr.v1","l":"CommonProtos.JobFailurePolicyDropOrBuilder"},{"p":"io.dapr.v1","l":"CommonProtos.JobFailurePolicyOrBuilder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.JobOrBuilder"},{"p":"io.dapr.client.domain","l":"JobSchedule"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleGetKeyRequest.KeyFormat"},{"p":"io.dapr.spring.data","l":"KeyValueAdapterResolver"},{"p":"io.dapr.spring6.data","l":"KeyValueAdapterResolver"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ListActorRemindersRequest"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ListActorRemindersRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ListActorRemindersResponse"},{"p":"io.dapr.v1","l":"DaprActorsProtos.ListActorRemindersResponseOrBuilder"},{"p":"io.dapr.testcontainers","l":"ListEntry"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.ListInputBindingsResponse"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ListInstanceIDsRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ListInstanceIDsRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ListInstanceIDsResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ListInstanceIDsResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ListJobsRequestAlpha1"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ListJobsRequestAlpha1OrBuilder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ListJobsResponseAlpha1"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ListJobsResponseAlpha1OrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.ListTopicSubscriptionsResponse"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder"},{"p":"io.dapr.client.domain","l":"LockRequest"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationMessage.MessageTypesCase"},{"p":"io.dapr.client.domain","l":"Metadata"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","l":"Metadata"},{"p":"io.dapr.testcontainers","l":"MetadataEntry"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.MetadataHTTPEndpoint"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.MetadataHTTPEndpointOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.MetadataScheduler"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.MetadataSchedulerOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.MetadataWorkflows"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.MetadataWorkflowsOrBuilder"},{"p":"io.dapr.config","l":"MillisecondsDurationProperty"},{"p":"io.dapr.spring.data","l":"MySQLDaprKeyValueAdapter"},{"p":"io.dapr.spring6.data","l":"MySQLDaprKeyValueAdapter"},{"p":"io.dapr.v1","l":"DaprActorsProtos.NamedActorReminder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.NamedActorReminderOrBuilder"},{"p":"io.dapr.utils","l":"NetworkUtils"},{"p":"io.dapr.durabletask","l":"NewOrchestrationInstanceOptions"},{"p":"io.dapr.workflows.client","l":"NewWorkflowOptions"},{"p":"io.dapr.client","l":"ObjectSerializer"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationActionOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationAction.OperationActionTypeCase"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationInfo"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationInfoOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationResult"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationResultFailure"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationResultFailureOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationResultOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationResultSuccess"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationResultSuccessOrBuilder"},{"p":"io.dapr.client.domain","l":"TransactionalStateOperation.OperationType"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationIdReusePolicy"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationIdReusePolicyOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationInstance"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationInstanceOrBuilder"},{"p":"io.dapr.durabletask","l":"OrchestrationMetadata"},{"p":"io.dapr.durabletask","l":"OrchestrationRunner"},{"p":"io.dapr.durabletask","l":"OrchestrationRuntimeStatus"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationState"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationStateOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationStatus"},{"p":"io.dapr.durabletask","l":"OrchestrationStatusQuery"},{"p":"io.dapr.durabletask","l":"OrchestrationStatusQueryResult"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationVersion"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestrationVersionOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorActionOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorAction.OrchestratorActionTypeCase"},{"p":"io.dapr.durabletask.interruption","l":"OrchestratorBlockedException"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorCompletedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorCompletedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorEntityParameters"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorEntityParametersOrBuilder"},{"p":"io.dapr.durabletask","l":"OrchestratorFunction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorResponseOrBuilder"},{"p":"io.dapr.durabletask.runner","l":"OrchestratorRunner"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorStartedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorStartedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorVersionNotAvailableAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OrchestratorVersionNotAvailableActionOrBuilder"},{"p":"io.dapr.client.domain.query","l":"Sorting.Order"},{"p":"io.dapr.client.domain.query.filters","l":"OrFilter"},{"p":"io.dapr.testcontainers","l":"OtelTracingConfigurationSettings"},{"p":"io.dapr.client.domain.query","l":"Pagination"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ParentInstanceInfo"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ParentInstanceInfoOrBuilder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.PauseWorkflowRequest"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.PauseWorkflowRequestOrBuilder"},{"p":"io.dapr.v1","l":"CommonProtos.JobFailurePolicy.PolicyCase"},{"p":"io.dapr.spring.data","l":"PostgreSQLDaprKeyValueAdapter"},{"p":"io.dapr.spring6.data","l":"PostgreSQLDaprKeyValueAdapter"},{"p":"io.dapr.config","l":"Properties"},{"p":"io.dapr.config","l":"Property"},{"p":"io.dapr.utils","l":"ProtobufUtils"},{"p":"io.dapr.client","l":"ProtobufValueHelper"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.PublishEventRequest"},{"p":"io.dapr.client.domain","l":"PublishEventRequest"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.PublishEventRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.PubsubSubscription"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.PubsubSubscriptionOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.PubsubSubscriptionRule"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.PubsubSubscriptionRuleOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.PubsubSubscriptionRules"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.PubsubSubscriptionRulesOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.PubsubSubscriptionType"},{"p":"io.dapr.durabletask","l":"PurgeInstanceCriteria"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.PurgeInstanceFilter"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.PurgeInstanceFilterOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.PurgeInstancesRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.PurgeInstancesRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.PurgeInstancesResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.PurgeInstancesResponseOrBuilder"},{"p":"io.dapr.durabletask","l":"PurgeResult"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.PurgeWorkflowRequest"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.PurgeWorkflowRequestOrBuilder"},{"p":"io.dapr.client.domain.query","l":"Query"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryEntitiesRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryEntitiesRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryEntitiesResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryEntitiesResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryInstancesRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryInstancesRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryInstancesResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.QueryInstancesResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprStateProtos.QueryStateItem"},{"p":"io.dapr.client.domain","l":"QueryStateItem"},{"p":"io.dapr.v1","l":"DaprStateProtos.QueryStateItemOrBuilder"},{"p":"io.dapr.v1","l":"DaprStateProtos.QueryStateRequest"},{"p":"io.dapr.client.domain","l":"QueryStateRequest"},{"p":"io.dapr.v1","l":"DaprStateProtos.QueryStateRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprStateProtos.QueryStateResponse"},{"p":"io.dapr.client.domain","l":"QueryStateResponse"},{"p":"io.dapr.v1","l":"DaprStateProtos.QueryStateResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RaiseEventRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RaiseEventRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RaiseEventResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RaiseEventResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.RaiseEventWorkflowRequest"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.RaiseEventWorkflowRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.RegisterActorReminderRequest"},{"p":"io.dapr.v1","l":"DaprActorsProtos.RegisterActorReminderRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.RegisterActorTimerRequest"},{"p":"io.dapr.v1","l":"DaprActorsProtos.RegisterActorTimerRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.RegisteredComponents"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.RegisteredComponentsOrBuilder"},{"p":"io.dapr.actors.runtime","l":"Remindable"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.PurgeInstancesRequest.RequestCase"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.WorkItem.RequestCase"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RerunParentInstanceInfo"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RerunParentInstanceInfoOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RerunWorkflowFromEventRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RerunWorkflowFromEventRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RerunWorkflowFromEventResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RerunWorkflowFromEventResponseOrBuilder"},{"p":"io.dapr.client.resiliency","l":"ResiliencyOptions"},{"p":"io.dapr.client","l":"DaprHttp.Response"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.OperationResult.ResultTypeCase"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ResumeRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ResumeRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ResumeResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ResumeResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.ResumeWorkflowRequest"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.ResumeWorkflowRequestOrBuilder"},{"p":"io.dapr.durabletask","l":"RetryContext"},{"p":"io.dapr.durabletask","l":"RetryHandler"},{"p":"io.dapr.durabletask","l":"RetryPolicy"},{"p":"io.dapr.internal.resiliency","l":"RetryPolicy"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RewindInstanceRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RewindInstanceRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RewindInstanceResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.RewindInstanceResponseOrBuilder"},{"p":"io.dapr","l":"Rule"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","l":"Subscription.Rule"},{"p":"io.dapr.client.domain","l":"RuleMetadata"},{"p":"io.dapr.v1","l":"DaprStateProtos.SaveStateRequest"},{"p":"io.dapr.client.domain","l":"SaveStateRequest"},{"p":"io.dapr.v1","l":"DaprStateProtos.SaveStateRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ScheduleJobRequest"},{"p":"io.dapr.client.domain","l":"ScheduleJobRequest"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ScheduleJobRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ScheduleJobResponse"},{"p":"io.dapr.v1","l":"DaprJobsProtos.ScheduleJobResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ScheduleTaskAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.ScheduleTaskActionOrBuilder"},{"p":"io.dapr.config","l":"SecondsDurationProperty"},{"p":"io.dapr.v1","l":"DaprSecretProtos.SecretResponse"},{"p":"io.dapr.v1","l":"DaprSecretProtos.SecretResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SendEntityMessageAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SendEntityMessageActionOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SendEventAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SendEventActionOrBuilder"},{"p":"io.dapr.spring.messaging","l":"DaprMessagingOperations.SendMessageBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SendSignalAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SendSignalActionOrBuilder"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.SetMetadataRequest"},{"p":"io.dapr.v1","l":"DaprMetadataProtos.SetMetadataRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprProtos.ShutdownRequest"},{"p":"io.dapr.v1","l":"DaprProtos.ShutdownRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SignalEntityRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SignalEntityRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SignalEntityResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SignalEntityResponseOrBuilder"},{"p":"io.dapr.client.domain.query","l":"Sorting"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.StalledReason"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.StartNewOrchestrationAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.StartNewOrchestrationActionOrBuilder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.StartWorkflowRequest"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.StartWorkflowRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.StartWorkflowResponse"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.StartWorkflowResponseOrBuilder"},{"p":"io.dapr.client.domain","l":"State"},{"p":"io.dapr.v1","l":"CommonProtos.StateOptions.StateConcurrency"},{"p":"io.dapr.v1","l":"CommonProtos.StateOptions.StateConsistency"},{"p":"io.dapr.v1","l":"CommonProtos.StateItem"},{"p":"io.dapr.v1","l":"CommonProtos.StateItemOrBuilder"},{"p":"io.dapr.client.domain","l":"StateOptions.StateOptionDurationDeserializer"},{"p":"io.dapr.client.domain","l":"StateOptions.StateOptionDurationSerializer"},{"p":"io.dapr.v1","l":"CommonProtos.StateOptions"},{"p":"io.dapr.client.domain","l":"StateOptions"},{"p":"io.dapr.v1","l":"CommonProtos.StateOptionsOrBuilder"},{"p":"io.dapr.v1","l":"DaprLockProtos.UnlockResponse.Status"},{"p":"io.dapr.client","l":"SubscriptionListener.Status"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.StreamInstanceHistoryRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.StreamInstanceHistoryRequestOrBuilder"},{"p":"io.dapr.v1","l":"CommonProtos.StreamPayload"},{"p":"io.dapr.v1","l":"CommonProtos.StreamPayloadOrBuilder"},{"p":"io.dapr.config","l":"StringProperty"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SubOrchestrationInstanceCompletedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SubOrchestrationInstanceCompletedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SubOrchestrationInstanceCreatedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SubOrchestrationInstanceCreatedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SubOrchestrationInstanceFailedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SubOrchestrationInstanceFailedEventOrBuilder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.SubscribeConfigurationRequest"},{"p":"io.dapr.client.domain","l":"SubscribeConfigurationRequest"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.SubscribeConfigurationRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.SubscribeConfigurationResponse"},{"p":"io.dapr.client.domain","l":"SubscribeConfigurationResponse"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.SubscribeConfigurationResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1OrBuilder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1OrBuilder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1OrBuilder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.SubscribeTopicEventsRequestTypeCase"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1OrBuilder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsResponseInitialAlpha1OrBuilder"},{"p":"io.dapr.v1","l":"DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.SubscribeTopicEventsResponseTypeCase"},{"p":"io.dapr.client","l":"Subscription"},{"p":"io.dapr.testcontainers","l":"Subscription"},{"p":"io.dapr.testcontainers.wait.strategy.metadata","l":"Subscription"},{"p":"io.dapr.client","l":"SubscriptionListener"},{"p":"io.dapr.client.domain","l":"SubscriptionMetadata"},{"p":"io.dapr.testcontainers.wait.strategy","l":"SubscriptionWaitStrategy"},{"p":"io.dapr.testcontainers.converter","l":"SubscriptionYamlConverter"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleDecryptRequest"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleDecryptRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleDecryptResponse"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleDecryptResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleEncryptRequest"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleEncryptRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleEncryptResponse"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleEncryptResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleGetKeyRequest"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleGetKeyRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleGetKeyResponse"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleGetKeyResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleSignRequest"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleSignRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleSignResponse"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleSignResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleUnwrapKeyRequest"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleUnwrapKeyRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleUnwrapKeyResponse"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleUnwrapKeyResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleVerifyRequest"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleVerifyRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleVerifyResponse"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleVerifyResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleWrapKeyRequest"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleWrapKeyRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleWrapKeyResponse"},{"p":"io.dapr.v1","l":"DaprCryptoProtos.SubtleWrapKeyResponseOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SuspendRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SuspendRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SuspendResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.SuspendResponseOrBuilder"},{"p":"io.dapr.client.domain","l":"SystemMessage"},{"p":"io.dapr.durabletask","l":"Task"},{"p":"io.dapr.durabletask","l":"TaskActivity"},{"p":"io.dapr.durabletask","l":"TaskActivityContext"},{"p":"io.dapr.durabletask","l":"TaskActivityExecutor"},{"p":"io.dapr.durabletask","l":"TaskActivityFactory"},{"p":"io.dapr.durabletask","l":"TaskCanceledException"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskCompletedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskCompletedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskFailedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskFailedEventOrBuilder"},{"p":"io.dapr.durabletask","l":"TaskFailedException"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskFailureDetails"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskFailureDetailsOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingV2Stub"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceFutureStub"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"TaskHubSidecarServiceGrpc"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceImplBase"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"TaskHubSidecarServiceGrpc.TaskHubSidecarServiceStub"},{"p":"io.dapr.durabletask","l":"TaskOptions"},{"p":"io.dapr.durabletask","l":"TaskOrchestration"},{"p":"io.dapr.durabletask","l":"TaskOrchestrationContext"},{"p":"io.dapr.durabletask","l":"TaskOrchestrationExecutor"},{"p":"io.dapr.durabletask.orchestration","l":"TaskOrchestrationFactories"},{"p":"io.dapr.durabletask.orchestration","l":"TaskOrchestrationFactory"},{"p":"io.dapr.durabletask","l":"TaskOrchestratorResult"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskRouter"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskRouterOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskScheduledEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TaskScheduledEventOrBuilder"},{"p":"io.dapr.spring.messaging.observation","l":"DaprMessagingObservationDocumentation.TemplateLowCardinalityTags"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TerminateOrchestrationAction"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TerminateOrchestrationActionOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TerminateRequest"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TerminateRequestOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TerminateResponse"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TerminateResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.TerminateWorkflowRequest"},{"p":"io.dapr.v1","l":"DaprWorkflowProtos.TerminateWorkflowRequestOrBuilder"},{"p":"io.dapr.internal.resiliency","l":"TimeoutPolicy"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TimerCreatedEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TimerCreatedEventOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TimerFiredEvent"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TimerFiredEventOrBuilder"},{"p":"io.dapr.client.domain","l":"ToolMessage"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationToolCalls.ToolTypesCase"},{"p":"io.dapr.v1","l":"DaprAiProtos.ConversationTools.ToolTypesCase"},{"p":"io.dapr","l":"Topic"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkRequest"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkRequestEntry"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkResponse"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkResponseEntry"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventCERequest"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventCERequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventRequest"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventResponse"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicRoutes"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicRoutesOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicRule"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicRuleOrBuilder"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicSubscription"},{"p":"io.dapr.v1","l":"DaprAppCallbackProtos.TopicSubscriptionOrBuilder"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TraceContext"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.TraceContextOrBuilder"},{"p":"io.dapr.testcontainers","l":"TracingConfigurationSettings"},{"p":"io.dapr.v1","l":"DaprActorsProtos.TransactionalActorStateOperation"},{"p":"io.dapr.v1","l":"DaprActorsProtos.TransactionalActorStateOperationOrBuilder"},{"p":"io.dapr.v1","l":"DaprStateProtos.TransactionalStateOperation"},{"p":"io.dapr.client.domain","l":"TransactionalStateOperation"},{"p":"io.dapr.v1","l":"DaprStateProtos.TransactionalStateOperationOrBuilder"},{"p":"io.dapr.client.domain","l":"TransactionalStateRequest"},{"p":"io.dapr.v1","l":"DaprLockProtos.TryLockRequest"},{"p":"io.dapr.v1","l":"DaprLockProtos.TryLockRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprLockProtos.TryLockResponse"},{"p":"io.dapr.v1","l":"DaprLockProtos.TryLockResponseOrBuilder"},{"p":"io.dapr.utils","l":"TypeRef"},{"p":"io.dapr.v1","l":"DaprLockProtos.UnlockRequest"},{"p":"io.dapr.client.domain","l":"UnlockRequest"},{"p":"io.dapr.v1","l":"DaprLockProtos.UnlockRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprLockProtos.UnlockResponse"},{"p":"io.dapr.v1","l":"DaprLockProtos.UnlockResponseOrBuilder"},{"p":"io.dapr.client.domain","l":"UnlockResponseStatus"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorReminderRequest"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorReminderRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorRemindersByTypeRequest"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorRemindersByTypeRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorRemindersByTypeResponse"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorRemindersByTypeResponseOrBuilder"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorTimerRequest"},{"p":"io.dapr.v1","l":"DaprActorsProtos.UnregisterActorTimerRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.UnsubscribeConfigurationRequest"},{"p":"io.dapr.client.domain","l":"UnsubscribeConfigurationRequest"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.UnsubscribeConfigurationRequestOrBuilder"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.UnsubscribeConfigurationResponse"},{"p":"io.dapr.client.domain","l":"UnsubscribeConfigurationResponse"},{"p":"io.dapr.v1","l":"DaprConfigurationProtos.UnsubscribeConfigurationResponseOrBuilder"},{"p":"io.dapr.client.domain","l":"UserMessage"},{"p":"io.dapr.durabletask.util","l":"UuidGenerator"},{"p":"io.dapr.v1","l":"CommonProtos.HTTPExtension.Verb"},{"p":"io.dapr.utils","l":"Version"},{"p":"io.dapr.durabletask.orchestration.exception","l":"VersionNotRegisteredException"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.WorkerCapability"},{"p":"io.dapr.workflows","l":"Workflow"},{"p":"io.dapr.workflows","l":"WorkflowActivity"},{"p":"io.dapr.workflows.runtime","l":"WorkflowActivityClassWrapper"},{"p":"io.dapr.workflows","l":"WorkflowActivityContext"},{"p":"io.dapr.workflows.runtime","l":"WorkflowActivityInstanceWrapper"},{"p":"io.dapr.workflows","l":"WorkflowContext"},{"p":"io.dapr.testcontainers","l":"WorkflowDashboardContainer"},{"p":"io.dapr.workflows.client","l":"WorkflowFailureDetails"},{"p":"io.dapr.workflows.client","l":"WorkflowInstanceStatus"},{"p":"io.dapr.spring.workflows.config.annotations","l":"WorkflowMetadata"},{"p":"io.dapr.workflows.runtime","l":"WorkflowRuntime"},{"p":"io.dapr.workflows.runtime","l":"WorkflowRuntimeBuilder"},{"p":"io.dapr.workflows.client","l":"WorkflowRuntimeStatus"},{"p":"io.dapr.workflows.runtime","l":"WorkflowRuntimeStatusConverter"},{"p":"io.dapr.workflows.client","l":"WorkflowState"},{"p":"io.dapr.workflows","l":"WorkflowStub"},{"p":"io.dapr.workflows","l":"WorkflowTaskOptions"},{"p":"io.dapr.workflows","l":"WorkflowTaskRetryContext"},{"p":"io.dapr.workflows","l":"WorkflowTaskRetryHandler"},{"p":"io.dapr.workflows","l":"WorkflowTaskRetryPolicy"},{"p":"io.dapr.workflows.runtime","l":"WorkflowVersionWrapper"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.WorkItem"},{"p":"io.dapr.durabletask.implementation.protobuf","l":"OrchestratorService.WorkItemOrBuilder"},{"p":"io.dapr.testcontainers.converter","l":"YamlConverter"},{"p":"io.dapr.testcontainers.converter","l":"YamlMapperFactory"},{"p":"io.dapr.testcontainers","l":"ZipkinTracingConfigurationSettings"}];updateSearchResults(); ================================================ FILE: durabletask-client/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml durabletask-client jar durabletask-client Durable Task Client for Dapr Workflows false ${project.build.directory}/generated-sources ${project.build.directory}/proto javax.annotation javax.annotation-api provided io.grpc grpc-protobuf io.grpc grpc-stub io.grpc grpc-netty com.google.protobuf protobuf-java com.fasterxml.jackson.core jackson-core com.fasterxml.jackson.core jackson-databind com.fasterxml.jackson.core jackson-annotations com.fasterxml.jackson.datatype jackson-datatype-jsr310 org.apache.commons commons-lang3 io.grpc grpc-testing test org.junit.jupiter junit-jupiter test org.testcontainers testcontainers test io.micrometer micrometer-observation io.opentelemetry opentelemetry-api io.opentelemetry opentelemetry-context org.sonatype.plugins nexus-staging-maven-plugin org.apache.maven.plugins maven-failsafe-plugin ${project.build.outputDirectory} com.googlecode.maven-download-plugin download-maven-plugin ${download-maven-plugin.version} getOrchestratorServiceProto initialize wget true ${durabletask.proto.baseurl}/orchestrator_service.proto orchestrator_service.proto ${protobuf.input.directory} getOrchestrationProto initialize wget true ${durabletask.proto.baseurl}/orchestration.proto orchestration.proto ${protobuf.input.directory} getHistoryEventsProto initialize wget true ${durabletask.proto.baseurl}/history_events.proto history_events.proto ${protobuf.input.directory} getOrchestratorActionsProto initialize wget true ${durabletask.proto.baseurl}/orchestrator_actions.proto orchestrator_actions.proto ${protobuf.input.directory} org.xolstice.maven.plugins protobuf-maven-plugin ${protobuf-maven-plugin.version} com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier} grpc-java io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier} ${protobuf.input.directory} compile compile-custom org.apache.maven.plugins maven-source-plugin attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin true attach-javadocs jar com.github.spotbugs spotbugs-maven-plugin true ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/CompositeTaskFailedException.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import java.util.ArrayList; import java.util.List; /** * Exception that gets thrown when multiple {@link Task}s for an activity or sub-orchestration fails with an * unhandled exception. * *

    Detailed information associated with each task failure can be retrieved using the {@link #getExceptions()} * method.

    */ public class CompositeTaskFailedException extends RuntimeException { private final List exceptions; CompositeTaskFailedException() { this.exceptions = new ArrayList<>(); } CompositeTaskFailedException(List exceptions) { this.exceptions = exceptions; } CompositeTaskFailedException(String message, List exceptions) { super(message); this.exceptions = exceptions; } CompositeTaskFailedException(String message, Throwable cause, List exceptions) { super(message, cause); this.exceptions = exceptions; } CompositeTaskFailedException(Throwable cause, List exceptions) { super(cause); this.exceptions = exceptions; } CompositeTaskFailedException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace, List exceptions) { super(message, cause, enableSuppression, writableStackTrace); this.exceptions = exceptions; } /** * Gets a list of exceptions that occurred during execution of a group of {@link Task}. * These exceptions include details of the task failure and exception information * * @return a list of exceptions */ public List getExceptions() { return new ArrayList<>(this.exceptions); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/DataConverter.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import com.google.protobuf.Timestamp; import javax.annotation.Nullable; import java.time.Instant; import java.time.temporal.ChronoUnit; /** * Interface for serializing and deserializing data that gets passed to and from orchestrators and activities. * *

    Implementations of this abstract class are free to use any serialization method. Currently, only strings are * supported as the serialized representation of data. Byte array payloads and streams are not supported by this * abstraction. Note that these methods all accept null values, in which case the return value should also be null.

    */ public interface DataConverter { /** * Serializes the input into a text representation. * * @param value the value to be serialized * @return a serialized text representation of the value or null if the value is null */ @Nullable String serialize(@Nullable Object value); /** * Deserializes the given text data into an object of the specified type. * * @param data the text data to deserialize into an object * @param target the target class to deserialize the input into * @param the generic parameter type representing the target class to deserialize the input into * @return a deserialized object of type T * @throws DataConverterException if the text data cannot be deserialized */ @Nullable T deserialize(@Nullable String data, Class target); // Data conversion errors are expected to be unrecoverable in most cases, hence an unchecked runtime exception class DataConverterException extends RuntimeException { public DataConverterException(String message, Throwable cause) { super(message, cause); } } /** * Convert from Timestamp to Instant. * * @param ts timestamp to convert * @return instant */ static Instant getInstantFromTimestamp(Timestamp ts) { if (ts == null) { return null; } // We don't include nanoseconds because of serialization round-trip issues return Instant.ofEpochSecond(ts.getSeconds(), ts.getNanos()).truncatedTo(ChronoUnit.MILLIS); } /** * Convert from Instant to Timestamp. * @param instant to convert * @return timestamp */ static Timestamp getTimestampFromInstant(Instant instant) { if (instant == null) { return null; } return Timestamp.newBuilder() .setSeconds(instant.getEpochSecond()) .setNanos(instant.getNano()) .build(); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/DurableTaskClient.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import javax.annotation.Nullable; import java.time.Duration; import java.util.concurrent.TimeoutException; /** * Base class that defines client operations for managing orchestration instances. * *

    Instances of this class can be used to start, query, raise events to, and terminate orchestration instances. * In most cases, methods on this class accept an instance ID as a parameter, which identifies the orchestration * instance.

    * *

    At the time of writing, the most common implementation of this class is DurableTaskGrpcClient, * which works by making gRPC calls to a remote service (e.g. a sidecar) that implements the operation behavior. To * ensure any owned network resources are properly released, instances of this class should be closed when they are no * longer needed.

    * *

    Instances of this class are expected to be safe for multithreaded apps. You can therefore safely cache instances * of this class and reuse them across multiple contexts. Caching these objects is useful to improve overall * performance.

    */ public abstract class DurableTaskClient implements AutoCloseable { /** * Releases any network resources held by this object. */ @Override public void close() { // no default implementation } /** * Schedules a new orchestration instance with a random ID for execution. * * @param orchestratorName the name of the orchestrator to schedule * @return the randomly-generated instance ID of the scheduled orchestration instance */ public String scheduleNewOrchestrationInstance(String orchestratorName) { return this.scheduleNewOrchestrationInstance(orchestratorName, null, null); } /** * Schedules a new orchestration instance with a specified input and a random ID for execution. * * @param orchestratorName the name of the orchestrator to schedule * @param input the input to pass to the scheduled orchestration instance. Must be serializable. * @return the randomly-generated instance ID of the scheduled orchestration instance */ public String scheduleNewOrchestrationInstance(String orchestratorName, Object input) { return this.scheduleNewOrchestrationInstance(orchestratorName, input, null); } /** * Schedules a new orchestration instance with a specified input and ID for execution. * * @param orchestratorName the name of the orchestrator to schedule * @param input the input to pass to the scheduled orchestration instance. Must be serializable. * @param instanceId the unique ID of the orchestration instance to schedule * @return the instanceId parameter value */ public String scheduleNewOrchestrationInstance(String orchestratorName, Object input, String instanceId) { NewOrchestrationInstanceOptions options = new NewOrchestrationInstanceOptions() .setInput(input) .setInstanceId(instanceId); return this.scheduleNewOrchestrationInstance(orchestratorName, options); } /** * Schedules a new orchestration instance with a specified set of options for execution. * * @param orchestratorName the name of the orchestrator to schedule * @param options the options for the new orchestration instance, including input, instance ID, etc. * @return the ID of the scheduled orchestration instance, which was either provided in options * or randomly generated */ public abstract String scheduleNewOrchestrationInstance( String orchestratorName, NewOrchestrationInstanceOptions options); /** * Sends an event notification message to a waiting orchestration instance. * *

    In order to handle the event, the target orchestration instance must be waiting for an event named * eventName using the {@link TaskOrchestrationContext#waitForExternalEvent(String)} method. * If the target orchestration instance is not yet waiting for an event named eventName, * then the event will be saved in the orchestration instance state and dispatched immediately when the * orchestrator calls {@link TaskOrchestrationContext#waitForExternalEvent(String)}. This event saving occurs even * if the orchestrator has canceled its wait operation before the event was received.

    * *

    Raised events for a completed or non-existent orchestration instance will be silently discarded.

    * * @param instanceId the ID of the orchestration instance that will handle the event * @param eventName the case-insensitive name of the event */ public void raiseEvent(String instanceId, String eventName) { this.raiseEvent(instanceId, eventName, null); } /** * Sends an event notification message with a payload to a waiting orchestration instance. * *

    In order to handle the event, the target orchestration instance must be waiting for an event named * eventName using the {@link TaskOrchestrationContext#waitForExternalEvent(String)} method. * If the target orchestration instance is not yet waiting for an event named eventName, * then the event will be saved in the orchestration instance state and dispatched immediately when the * orchestrator calls {@link TaskOrchestrationContext#waitForExternalEvent(String)}. This event saving occurs even * if the orchestrator has canceled its wait operation before the event was received.

    * *

    Raised events for a completed or non-existent orchestration instance will be silently discarded.

    * * @param instanceId the ID of the orchestration instance that will handle the event * @param eventName the case-insensitive name of the event * @param eventPayload the serializable data payload to include with the event */ public abstract void raiseEvent(String instanceId, String eventName, @Nullable Object eventPayload); /** * Fetches orchestration instance metadata from the configured durable store. * * @param instanceId the unique ID of the orchestration instance to fetch * @param getInputsAndOutputs true to fetch the orchestration instance's inputs, outputs, and custom * status, or false to omit them * @return a metadata record that describes the orchestration instance and its execution status, or * a default instance if no such instance is found. Please refer to method * {@link OrchestrationMetadata#isInstanceFound()} to check if an instance is found. */ @Nullable public abstract OrchestrationMetadata getInstanceMetadata(String instanceId, boolean getInputsAndOutputs); /** * Waits for an orchestration to start running and returns an {@link OrchestrationMetadata} object that contains * metadata about the started instance. * *

    A "started" orchestration instance is any instance not in the Pending state.

    * *

    If an orchestration instance is already running when this method is called, the method will return immediately. *

    * *

    Note that this method overload will not fetch the orchestration's inputs, outputs, or custom status payloads. *

    * * @param instanceId the unique ID of the orchestration instance to wait for * @param timeout the amount of time to wait for the orchestration instance to start * @return the orchestration instance metadata or null if no such instance is found * @throws TimeoutException when the orchestration instance is not started within the specified amount of time */ @Nullable public OrchestrationMetadata waitForInstanceStart(String instanceId, Duration timeout) throws TimeoutException { return this.waitForInstanceStart(instanceId, timeout, false); } /** * Waits for an orchestration to start running and returns an {@link OrchestrationMetadata} object that contains * metadata about the started instance and optionally its input, output, and custom status payloads. * *

    A "started" orchestration instance is any instance not in the Pending state.

    * *

    If an orchestration instance is already running when this method is called, the method will return immediately. *

    * * @param instanceId the unique ID of the orchestration instance to wait for * @param timeout the amount of time to wait for the orchestration instance to start * @param getInputsAndOutputs true to fetch the orchestration instance's inputs, outputs, and custom * status, or false to omit them * @return the orchestration instance metadata or null if no such instance is found * @throws TimeoutException when the orchestration instance is not started within the specified amount of time */ @Nullable public abstract OrchestrationMetadata waitForInstanceStart( String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException; /** * Waits for an orchestration to complete and returns an {@link OrchestrationMetadata} object that contains * metadata about the completed instance. * *

    A "completed" orchestration instance is any instance in one of the terminal states. For example, the * Completed, Failed, or Terminated states.

    * *

    Orchestrations are long-running and could take hours, days, or months before completing. * Orchestrations can also be eternal, in which case they'll never complete unless terminated. * In such cases, this call may block indefinitely, so care must be taken to ensure appropriate timeouts are used. *

    * *

    If an orchestration instance is already complete when this method is called, the method will return immediately. *

    * @param instanceId the unique ID of the orchestration instance to wait for * @param timeout the amount of time to wait for the orchestration instance to complete * @param getInputsAndOutputs true to fetch the orchestration instance's inputs, outputs, and custom * status, or false to omit them * @return the orchestration instance metadata or null if no such instance is found * @throws TimeoutException when the orchestration instance is not completed within the specified amount of time */ @Nullable public abstract OrchestrationMetadata waitForInstanceCompletion( String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException; /** * Terminates a running orchestration instance and updates its runtime status to Terminated. * *

    This method internally enqueues a "terminate" message in the task hub. When the task hub worker processes * this message, it will update the runtime status of the target instance to Terminated. * You can use the {@link #waitForInstanceCompletion} to wait for the instance to reach the terminated state. *

    * *

    Terminating an orchestration instance has no effect on any in-flight activity function executions * or sub-orchestrations that were started by the terminated instance. Those actions will continue to run * without interruption. However, their results will be discarded. If you want to terminate sub-orchestrations, * you must issue separate terminate commands for each sub-orchestration instance.

    * *

    At the time of writing, there is no way to terminate an in-flight activity execution.

    * *

    Attempting to terminate a completed or non-existent orchestration instance will fail silently.

    * * @param instanceId the unique ID of the orchestration instance to terminate * @param output the optional output to set for the terminated orchestration instance. * This value must be serializable. */ public abstract void terminate(String instanceId, @Nullable Object output); /** * Purges orchestration instance metadata from the durable store. * *

    This method can be used to permanently delete orchestration metadata from the underlying storage provider, * including any stored inputs, outputs, and orchestration history records. This is often useful for implementing * data retention policies and for keeping storage costs minimal. Only orchestration instances in the * Completed, Failed, or Terminated state can be purged.

    * *

    If the target orchestration instance is not found in the data store, or if the instance is found but not in a * terminal state, then the returned {@link PurgeResult} will report that zero instances were purged. * Otherwise, the existing data will be purged and the returned {@link PurgeResult} will report that one instance * was purged.

    * * @param instanceId the unique ID of the orchestration instance to purge * @return the result of the purge operation, including the number of purged orchestration instances (0 or 1) */ public abstract PurgeResult purgeInstance(String instanceId); /** * Purges orchestration instance metadata from the durable store using a filter that determines which instances to * purge data for. * *

    This method can be used to permanently delete orchestration metadata from the underlying storage provider, * including any stored inputs, outputs, and orchestration history records. This is often useful for implementing * data retention policies and for keeping storage costs minimal. Only orchestration instances in the * Completed, Failed, or Terminated state can be purged.

    * *

    Depending on the type of the durable store, purge operations that target multiple orchestration instances may * take a long time to complete and be resource intensive. It may therefore be useful to break up purge operations * into multiple method calls over a period of time and have them cover smaller time windows.

    * * @param purgeInstanceCriteria orchestration instance filter criteria used to determine which instances to purge * @return the result of the purge operation, including the number of purged orchestration instances (0 or 1) * @throws TimeoutException when purging instances is not completed within the specified amount of time. * The default timeout for purging instances is 10 minutes */ public abstract PurgeResult purgeInstances(PurgeInstanceCriteria purgeInstanceCriteria) throws TimeoutException; /** * Restarts an existing orchestration instance with the original input. * * @param instanceId the ID of the previously run orchestration instance to restart. * @param restartWithNewInstanceId true to restart the orchestration instance with a new instance ID * false to restart the orchestration instance with same instance ID * @return the ID of the scheduled orchestration instance, which is either instanceId or randomly * generated depending on the value of restartWithNewInstanceId */ public abstract String restartInstance(String instanceId, boolean restartWithNewInstanceId); /** * Suspends a running orchestration instance. * * @param instanceId the ID of the orchestration instance to suspend */ public void suspendInstance(String instanceId) { this.suspendInstance(instanceId, null); } /** * Suspends a running orchestration instance. * * @param instanceId the ID of the orchestration instance to suspend * @param reason the reason for suspending the orchestration instance */ public abstract void suspendInstance(String instanceId, @Nullable String reason); /** * Resumes a running orchestration instance. * * @param instanceId the ID of the orchestration instance to resume */ public void resumeInstance(String instanceId) { this.resumeInstance(instanceId, null); } /** * Resumes a running orchestration instance. * * @param instanceId the ID of the orchestration instance to resume * @param reason the reason for resuming the orchestration instance */ public abstract void resumeInstance(String instanceId, @Nullable String reason); } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/DurableTaskGrpcClient.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import com.google.protobuf.StringValue; import com.google.protobuf.Timestamp; import io.dapr.durabletask.implementation.protobuf.OrchestratorService; import io.dapr.durabletask.implementation.protobuf.TaskHubSidecarServiceGrpc; import io.grpc.Channel; import io.grpc.ChannelCredentials; import io.grpc.Grpc; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; import io.grpc.Status; import io.grpc.StatusRuntimeException; import io.grpc.TlsChannelCredentials; import io.grpc.netty.GrpcSslContexts; import io.grpc.netty.NettyChannelBuilder; import io.netty.handler.ssl.util.InsecureTrustManagerFactory; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.trace.Tracer; import javax.annotation.Nullable; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.time.Duration; import java.time.Instant; import java.util.Optional; import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicReference; import java.util.logging.Logger; /** * Durable Task client implementation that uses gRPC to connect to a remote "sidecar" process. */ public final class DurableTaskGrpcClient extends DurableTaskClient { private static final int DEFAULT_PORT = 4001; private static final Logger logger = Logger.getLogger(DurableTaskGrpcClient.class.getPackage().getName()); private static final String GRPC_TLS_CA_PATH = "DAPR_GRPC_TLS_CA_PATH"; private static final String GRPC_TLS_CERT_PATH = "DAPR_GRPC_TLS_CERT_PATH"; private static final String GRPC_TLS_KEY_PATH = "DAPR_GRPC_TLS_KEY_PATH"; private static final String GRPC_TLS_INSECURE = "DAPR_GRPC_TLS_INSECURE"; private final DataConverter dataConverter; private final ManagedChannel managedSidecarChannel; private final TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub sidecarClient; private final Tracer tracer; DurableTaskGrpcClient(DurableTaskGrpcClientBuilder builder) { this.dataConverter = builder.dataConverter != null ? builder.dataConverter : new JacksonDataConverter(); Channel sidecarGrpcChannel; if (builder.channel != null) { // The caller is responsible for managing the channel lifetime this.managedSidecarChannel = null; sidecarGrpcChannel = builder.channel; } else { // Construct our own channel using localhost + a port number int port = DEFAULT_PORT; if (builder.port > 0) { port = builder.port; } String endpoint = "localhost:" + port; ManagedChannelBuilder channelBuilder; // Get TLS configuration from builder or environment variables String tlsCaPath = builder.tlsCaPath != null ? builder.tlsCaPath : System.getenv(GRPC_TLS_CA_PATH); String tlsCertPath = builder.tlsCertPath != null ? builder.tlsCertPath : System.getenv(GRPC_TLS_CERT_PATH); String tlsKeyPath = builder.tlsKeyPath != null ? builder.tlsKeyPath : System.getenv(GRPC_TLS_KEY_PATH); boolean insecure = builder.insecure || Boolean.parseBoolean(System.getenv(GRPC_TLS_INSECURE)); if (insecure) { // Insecure mode - uses TLS but doesn't verify certificates try { channelBuilder = NettyChannelBuilder.forTarget(endpoint) .sslContext(GrpcSslContexts.forClient() .trustManager(InsecureTrustManagerFactory.INSTANCE) .build()); } catch (Exception e) { throw new RuntimeException("Failed to create insecure TLS credentials", e); } } else if (tlsCertPath != null && tlsKeyPath != null) { // mTLS case - using client cert and key, with optional CA cert for server authentication try ( InputStream clientCertInputStream = new FileInputStream(tlsCertPath); InputStream clientKeyInputStream = new FileInputStream(tlsKeyPath); InputStream caCertInputStream = tlsCaPath != null ? new FileInputStream(tlsCaPath) : null ) { TlsChannelCredentials.Builder tlsBuilder = TlsChannelCredentials.newBuilder() .keyManager(clientCertInputStream, clientKeyInputStream); // For client authentication if (caCertInputStream != null) { tlsBuilder.trustManager(caCertInputStream); // For server authentication } ChannelCredentials credentials = tlsBuilder.build(); channelBuilder = Grpc.newChannelBuilder(endpoint, credentials); } catch (IOException e) { throw new RuntimeException("Failed to create mTLS credentials" + (tlsCaPath != null ? " with CA cert" : ""), e); } } else if (tlsCaPath != null) { // Simple TLS case - using CA cert only for server authentication try (InputStream caCertInputStream = new FileInputStream(tlsCaPath)) { ChannelCredentials credentials = TlsChannelCredentials.newBuilder() .trustManager(caCertInputStream) .build(); channelBuilder = Grpc.newChannelBuilder(endpoint, credentials); } catch (IOException e) { throw new RuntimeException("Failed to create TLS credentials with CA cert", e); } } else { // No TLS config provided, use plaintext channelBuilder = ManagedChannelBuilder.forTarget(endpoint).usePlaintext(); } // Need to keep track of this channel so we can dispose it on close() this.managedSidecarChannel = channelBuilder.build(); sidecarGrpcChannel = this.managedSidecarChannel; } if (builder.tracer != null) { this.tracer = builder.tracer; } else { //this.tracer = OpenTelemetry.noop().getTracer("DurableTaskGrpcClient"); this.tracer = GlobalOpenTelemetry.getTracer("dapr-workflow"); } this.sidecarClient = TaskHubSidecarServiceGrpc.newBlockingStub(sidecarGrpcChannel); } /** * Closes the internally managed gRPC channel, if one exists. * *

    This method is a no-op if this client object was created using a builder with a gRPC channel object explicitly * configured.

    */ @Override public void close() { if (this.managedSidecarChannel != null) { try { this.managedSidecarChannel.shutdown().awaitTermination(5, TimeUnit.SECONDS); } catch (InterruptedException e) { // Best effort. Also note that AutoClose documentation recommends NOT having // close() methods throw InterruptedException: // https://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html } } } @Override public String scheduleNewOrchestrationInstance( String orchestratorName, NewOrchestrationInstanceOptions options) { if (orchestratorName == null || orchestratorName.length() == 0) { throw new IllegalArgumentException("A non-empty orchestrator name must be specified."); } Helpers.throwIfArgumentNull(options, "options"); OrchestratorService.CreateInstanceRequest.Builder builder = OrchestratorService.CreateInstanceRequest.newBuilder(); builder.setName(orchestratorName); String instanceId = options.getInstanceId(); if (instanceId == null) { instanceId = UUID.randomUUID().toString(); } builder.setInstanceId(instanceId); String version = options.getVersion(); if (version != null) { builder.setVersion(StringValue.of(version)); } Object input = options.getInput(); if (input != null) { String serializedInput = this.dataConverter.serialize(input); builder.setInput(StringValue.of(serializedInput)); } Instant startTime = options.getStartTime(); if (startTime != null) { Timestamp ts = DataConverter.getTimestampFromInstant(startTime); builder.setScheduledStartTimestamp(ts); } AtomicReference response = new AtomicReference<>(); OrchestratorService.CreateInstanceRequest request = builder.build(); response.set(this.sidecarClient.startInstance(request)); return response.get().getInstanceId(); } @Override public void raiseEvent(String instanceId, String eventName, Object eventPayload) { Helpers.throwIfArgumentNull(instanceId, "instanceId"); Helpers.throwIfArgumentNull(eventName, "eventName"); OrchestratorService.RaiseEventRequest.Builder builder = OrchestratorService.RaiseEventRequest.newBuilder() .setInstanceId(instanceId) .setName(eventName); if (eventPayload != null) { String serializedPayload = this.dataConverter.serialize(eventPayload); builder.setInput(StringValue.of(serializedPayload)); } OrchestratorService.RaiseEventRequest request = builder.build(); this.sidecarClient.raiseEvent(request); } @Override public OrchestrationMetadata getInstanceMetadata(String instanceId, boolean getInputsAndOutputs) { OrchestratorService.GetInstanceRequest request = OrchestratorService.GetInstanceRequest.newBuilder() .setInstanceId(instanceId) .setGetInputsAndOutputs(getInputsAndOutputs) .build(); OrchestratorService.GetInstanceResponse response = this.sidecarClient.getInstance(request); return new OrchestrationMetadata(response, this.dataConverter, request.getGetInputsAndOutputs()); } @Override public OrchestrationMetadata waitForInstanceStart(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException { OrchestratorService.GetInstanceRequest request = OrchestratorService.GetInstanceRequest.newBuilder() .setInstanceId(instanceId) .setGetInputsAndOutputs(getInputsAndOutputs) .build(); if (timeout == null || timeout.isNegative() || timeout.isZero()) { timeout = Duration.ofMinutes(10); } TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub grpcClient = this.sidecarClient.withDeadlineAfter( timeout.toMillis(), TimeUnit.MILLISECONDS); OrchestratorService.GetInstanceResponse response; try { response = grpcClient.waitForInstanceStart(request); } catch (StatusRuntimeException e) { if (e.getStatus().getCode() == Status.Code.DEADLINE_EXCEEDED) { throw new TimeoutException("Start orchestration timeout reached."); } throw e; } return new OrchestrationMetadata(response, this.dataConverter, request.getGetInputsAndOutputs()); } @Override public OrchestrationMetadata waitForInstanceCompletion(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException { OrchestratorService.GetInstanceRequest request = OrchestratorService.GetInstanceRequest.newBuilder() .setInstanceId(instanceId) .setGetInputsAndOutputs(getInputsAndOutputs) .build(); if (timeout == null || timeout.isNegative() || timeout.isZero()) { timeout = Duration.ofMinutes(10); } TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub grpcClient = this.sidecarClient.withDeadlineAfter( timeout.toMillis(), TimeUnit.MILLISECONDS); OrchestratorService.GetInstanceResponse response; try { response = grpcClient.waitForInstanceCompletion(request); } catch (StatusRuntimeException e) { if (e.getStatus().getCode() == Status.Code.DEADLINE_EXCEEDED) { throw new TimeoutException("Orchestration instance completion timeout reached."); } throw e; } return new OrchestrationMetadata(response, this.dataConverter, request.getGetInputsAndOutputs()); } @Override public void terminate(String instanceId, @Nullable Object output) { Helpers.throwIfArgumentNull(instanceId, "instanceId"); String serializeOutput = this.dataConverter.serialize(output); this.logger.fine(() -> String.format( "Terminating instance %s and setting output to: %s", instanceId, serializeOutput != null ? serializeOutput : "(null)")); OrchestratorService.TerminateRequest.Builder builder = OrchestratorService.TerminateRequest.newBuilder() .setInstanceId(instanceId); if (serializeOutput != null) { builder.setOutput(StringValue.of(serializeOutput)); } this.sidecarClient.terminateInstance(builder.build()); } @Override public PurgeResult purgeInstance(String instanceId) { OrchestratorService.PurgeInstancesRequest request = OrchestratorService.PurgeInstancesRequest.newBuilder() .setInstanceId(instanceId) .build(); OrchestratorService.PurgeInstancesResponse response = this.sidecarClient.purgeInstances(request); return toPurgeResult(response); } @Override public PurgeResult purgeInstances(PurgeInstanceCriteria purgeInstanceCriteria) throws TimeoutException { OrchestratorService.PurgeInstanceFilter.Builder builder = OrchestratorService.PurgeInstanceFilter.newBuilder(); builder.setCreatedTimeFrom(DataConverter.getTimestampFromInstant(purgeInstanceCriteria.getCreatedTimeFrom())); Optional.ofNullable(purgeInstanceCriteria.getCreatedTimeTo()).ifPresent(createdTimeTo -> builder.setCreatedTimeTo(DataConverter.getTimestampFromInstant(createdTimeTo))); purgeInstanceCriteria.getRuntimeStatusList().forEach(runtimeStatus -> Optional.ofNullable(runtimeStatus).ifPresent(status -> builder.addRuntimeStatus(OrchestrationRuntimeStatus.toProtobuf(status)))); Duration timeout = purgeInstanceCriteria.getTimeout(); if (timeout == null || timeout.isNegative() || timeout.isZero()) { timeout = Duration.ofMinutes(4); } TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub grpcClient = this.sidecarClient.withDeadlineAfter( timeout.toMillis(), TimeUnit.MILLISECONDS); OrchestratorService.PurgeInstancesResponse response; try { response = grpcClient.purgeInstances(OrchestratorService.PurgeInstancesRequest.newBuilder() .setPurgeInstanceFilter(builder).build()); return toPurgeResult(response); } catch (StatusRuntimeException e) { if (e.getStatus().getCode() == Status.Code.DEADLINE_EXCEEDED) { String timeOutException = String.format("Purge instances timeout duration of %s reached.", timeout); throw new TimeoutException(timeOutException); } throw e; } } @Override public void suspendInstance(String instanceId, @Nullable String reason) { OrchestratorService.SuspendRequest.Builder suspendRequestBuilder = OrchestratorService.SuspendRequest.newBuilder(); suspendRequestBuilder.setInstanceId(instanceId); if (reason != null) { suspendRequestBuilder.setReason(StringValue.of(reason)); } this.sidecarClient.suspendInstance(suspendRequestBuilder.build()); } @Override public void resumeInstance(String instanceId, @Nullable String reason) { OrchestratorService.ResumeRequest.Builder resumeRequestBuilder = OrchestratorService.ResumeRequest.newBuilder(); resumeRequestBuilder.setInstanceId(instanceId); if (reason != null) { resumeRequestBuilder.setReason(StringValue.of(reason)); } this.sidecarClient.resumeInstance(resumeRequestBuilder.build()); } @Override public String restartInstance(String instanceId, boolean restartWithNewInstanceId) { OrchestrationMetadata metadata = this.getInstanceMetadata(instanceId, true); if (!metadata.isInstanceFound()) { throw new IllegalArgumentException(new StringBuilder() .append("An orchestration with instanceId ") .append(instanceId) .append(" was not found.").toString()); } if (restartWithNewInstanceId) { return this.scheduleNewOrchestrationInstance(metadata.getName(), this.dataConverter.deserialize(metadata.getSerializedInput(), Object.class)); } else { return this.scheduleNewOrchestrationInstance(metadata.getName(), this.dataConverter.deserialize(metadata.getSerializedInput(), Object.class), metadata.getInstanceId()); } } private PurgeResult toPurgeResult(OrchestratorService.PurgeInstancesResponse response) { return new PurgeResult(response.getDeletedInstanceCount()); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/DurableTaskGrpcClientBuilder.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import io.grpc.Channel; import io.opentelemetry.api.trace.Tracer; /** * Builder class for constructing new {@link DurableTaskClient} objects that communicate with a sidecar process * over gRPC. */ public final class DurableTaskGrpcClientBuilder { DataConverter dataConverter; int port; Channel channel; String tlsCaPath; String tlsCertPath; String tlsKeyPath; boolean insecure; Tracer tracer; /** * Sets the {@link DataConverter} to use for converting serializable data payloads. * * @param dataConverter the {@link DataConverter} to use for converting serializable data payloads * @return this builder object */ public DurableTaskGrpcClientBuilder dataConverter(DataConverter dataConverter) { this.dataConverter = dataConverter; return this; } /** * Sets the gRPC channel to use for communicating with the sidecar process. * *

    This builder method allows you to provide your own gRPC channel for communicating with the Durable Task sidecar * endpoint. Channels provided using this method won't be closed when the client is closed. * Rather, the caller remains responsible for shutting down the channel after disposing the client.

    * *

    If not specified, a gRPC channel will be created automatically for each constructed * {@link DurableTaskClient}.

    * * @param channel the gRPC channel to use * @return this builder object */ public DurableTaskGrpcClientBuilder grpcChannel(Channel channel) { this.channel = channel; return this; } /** * Sets the Tracer object to be used by DurableTaskClient to emit traces. * * @param tracer to be used by the DurableTaskClient * @return this builder object */ public DurableTaskGrpcClientBuilder tracer(Tracer tracer) { this.tracer = tracer; return this; } /** * Sets the gRPC endpoint port to connect to. If not specified, the default Durable Task port number will be used. * * @param port the gRPC endpoint port to connect to * @return this builder object */ public DurableTaskGrpcClientBuilder port(int port) { this.port = port; return this; } /** * Sets the path to the TLS CA certificate file for server authentication. * If not set, the system's default CA certificates will be used. * * @param tlsCaPath path to the TLS CA certificate file * @return this builder object */ public DurableTaskGrpcClientBuilder tlsCaPath(String tlsCaPath) { this.tlsCaPath = tlsCaPath; return this; } /** * Sets the path to the TLS client certificate file for client authentication. * This is used for mTLS (mutual TLS) connections. * * @param tlsCertPath path to the TLS client certificate file * @return this builder object */ public DurableTaskGrpcClientBuilder tlsCertPath(String tlsCertPath) { this.tlsCertPath = tlsCertPath; return this; } /** * Sets the path to the TLS client key file for client authentication. * This is used for mTLS (mutual TLS) connections. * * @param tlsKeyPath path to the TLS client key file * @return this builder object */ public DurableTaskGrpcClientBuilder tlsKeyPath(String tlsKeyPath) { this.tlsKeyPath = tlsKeyPath; return this; } /** * Sets whether to use insecure (plaintext) mode for gRPC communication. * When set to true, TLS will be disabled and communication will be unencrypted. * This should only be used for development/testing. * * @param insecure whether to use insecure mode * @return this builder object */ public DurableTaskGrpcClientBuilder insecure(boolean insecure) { this.insecure = insecure; return this; } /** * Initializes a new {@link DurableTaskClient} object with the settings specified in the current builder object. * * @return a new {@link DurableTaskClient} object */ public DurableTaskClient build() { return new DurableTaskGrpcClient(this); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/DurableTaskGrpcWorker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import io.dapr.durabletask.implementation.protobuf.Orchestration; import io.dapr.durabletask.implementation.protobuf.OrchestratorService; import io.dapr.durabletask.implementation.protobuf.TaskHubSidecarServiceGrpc; import io.dapr.durabletask.orchestration.TaskOrchestrationFactories; import io.dapr.durabletask.runner.ActivityRunner; import io.dapr.durabletask.runner.OrchestratorRunner; import io.grpc.Channel; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; import io.grpc.Status; import io.grpc.StatusRuntimeException; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator; import io.opentelemetry.context.Context; import io.opentelemetry.context.propagation.TextMapGetter; import java.time.Duration; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.logging.Level; import java.util.logging.Logger; /** * Task hub worker that connects to a sidecar process over gRPC to execute * orchestrator and activity events. */ public final class DurableTaskGrpcWorker implements AutoCloseable { private static final int DEFAULT_PORT = 4001; private static final Logger logger = Logger.getLogger(DurableTaskGrpcWorker.class.getPackage().getName()); private static final Duration DEFAULT_MAXIMUM_TIMER_INTERVAL = Duration.ofDays(3); private final TaskOrchestrationFactories orchestrationFactories; private final HashMap activityFactories = new HashMap<>(); private final ManagedChannel managedSidecarChannel; private final DataConverter dataConverter; private final Duration maximumTimerInterval; private final ExecutorService workerPool; private final String appId; // App ID for cross-app routing private final Tracer tracer; private final TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub sidecarClient; private final boolean isExecutorServiceManaged; private volatile boolean isNormalShutdown = false; private volatile Thread workerThread; DurableTaskGrpcWorker(DurableTaskGrpcWorkerBuilder builder) { this.orchestrationFactories = builder.orchestrationFactories; this.activityFactories.putAll(builder.activityFactories); this.appId = builder.appId; Channel sidecarGrpcChannel; if (builder.channel != null) { // The caller is responsible for managing the channel lifetime this.managedSidecarChannel = null; sidecarGrpcChannel = builder.channel; } else { // Construct our own channel using localhost + a port number int port = DEFAULT_PORT; if (builder.port > 0) { port = builder.port; } // Need to keep track of this channel so we can dispose it on close() this.managedSidecarChannel = ManagedChannelBuilder .forAddress("localhost", port) .usePlaintext() .build(); sidecarGrpcChannel = this.managedSidecarChannel; } this.tracer = GlobalOpenTelemetry.getTracer("dapr-workflow"); this.sidecarClient = TaskHubSidecarServiceGrpc.newBlockingStub(sidecarGrpcChannel); this.dataConverter = builder.dataConverter != null ? builder.dataConverter : new JacksonDataConverter(); this.maximumTimerInterval = builder.maximumTimerInterval != null ? builder.maximumTimerInterval : DEFAULT_MAXIMUM_TIMER_INTERVAL; ExecutorService rawExecutor = builder.executorService != null ? builder.executorService : Executors.newCachedThreadPool(); this.workerPool = Context.taskWrapping(rawExecutor); this.isExecutorServiceManaged = builder.executorService == null; } /** * Establishes a gRPC connection to the sidecar and starts processing work-items * in the background. * *

    This method retries continuously to establish a connection to the sidecar. If * a connection fails, * a warning log message will be written and a new connection attempt will be * made. This process * continues until either a connection succeeds or the process receives an * interrupt signal.

    */ public void start() { this.workerThread = new Thread(this::startAndBlock); this.workerThread.start(); } /** * Closes the internally managed gRPC channel and executor service, if one * exists. * *

    Only the internally managed GRPC Channel and Executor services are closed. If * any of them are supplied, * it is the responsibility of the supplier to take care of them.

    * */ public void close() { if (this.workerThread != null) { this.workerThread.interrupt(); } this.isNormalShutdown = true; this.shutDownWorkerPool(); this.closeSideCarChannel(); } /** * Establishes a gRPC connection to the sidecar and starts processing work-items * on the current thread. * This method call blocks indefinitely, or until the current thread is * interrupted. * *

    Use can alternatively use the {@link #start} method to run orchestration * processing in a background thread.

    * *

    This method retries continuously to establish a connection to the sidecar. If * a connection fails, * a warning log message will be written and a new connection attempt will be * made. This process * continues until either a connection succeeds or the process receives an * interrupt signal.

    */ public void startAndBlock() { this.workerThread = Thread.currentThread(); logger.log(Level.INFO, "Durable Task worker is connecting to sidecar at {0}.", this.getSidecarAddress()); TaskOrchestrationExecutor taskOrchestrationExecutor = new TaskOrchestrationExecutor( this.orchestrationFactories, this.dataConverter, this.maximumTimerInterval, logger, this.appId); TaskActivityExecutor taskActivityExecutor = new TaskActivityExecutor( this.activityFactories, this.dataConverter, logger); while (!this.isNormalShutdown && !Thread.currentThread().isInterrupted()) { try { OrchestratorService.GetWorkItemsRequest getWorkItemsRequest = OrchestratorService.GetWorkItemsRequest .newBuilder().build(); Iterator workItemStream = this.sidecarClient.getWorkItems(getWorkItemsRequest); while (workItemStream.hasNext()) { if (this.isNormalShutdown || Thread.currentThread().isInterrupted()) { break; } OrchestratorService.WorkItem workItem = workItemStream.next(); OrchestratorService.WorkItem.RequestCase requestType = workItem.getRequestCase(); if (requestType == OrchestratorService.WorkItem.RequestCase.WORKFLOWREQUEST) { OrchestratorService.WorkflowRequest orchestratorRequest = workItem.getWorkflowRequest(); logger.log(Level.FINEST, String.format("Processing orchestrator request for instance: {0}", orchestratorRequest.getInstanceId())); this.workerPool.submit(new OrchestratorRunner(workItem, taskOrchestrationExecutor, sidecarClient, tracer)); } else if (requestType == OrchestratorService.WorkItem.RequestCase.ACTIVITYREQUEST) { OrchestratorService.ActivityRequest activityRequest = workItem.getActivityRequest(); logger.log(Level.INFO, String.format("Processing activity request: %s for instance: %s, gRPC thread context: %s", activityRequest.getName(), activityRequest.getWorkflowInstance().getInstanceId(), Context.current())); this.workerPool.submit(new ActivityRunner(workItem, taskActivityExecutor, sidecarClient, tracer)); } else { logger.log(Level.WARNING, "Received and dropped an unknown '{0}' work-item from the sidecar.", requestType); } } } catch (StatusRuntimeException e) { if (e.getStatus().getCode() == Status.Code.UNAVAILABLE) { logger.log(Level.INFO, "The sidecar at address {0} is unavailable. Will continue retrying.", this.getSidecarAddress()); } else if (e.getStatus().getCode() == Status.Code.CANCELLED) { logger.log(Level.INFO, "Durable Task worker has disconnected from {0}.", this.getSidecarAddress()); } else { logger.log(Level.WARNING, String.format("Unexpected failure connecting to %s", this.getSidecarAddress()), e); } if (this.isNormalShutdown) { break; } // Retry after 5 seconds try { Thread.sleep(5000); } catch (InterruptedException ex) { Thread.currentThread().interrupt(); break; } } } } /** * Stops the current worker's listen loop, preventing any new orchestrator or * activity events from being processed. */ public void stop() { this.close(); } private void closeSideCarChannel() { if (this.managedSidecarChannel != null) { try { this.managedSidecarChannel.shutdownNow().awaitTermination(5, TimeUnit.SECONDS); } catch (InterruptedException e) { // Best effort. Also note that AutoClose documentation recommends NOT having // close() methods throw InterruptedException: // https://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html } } } private void shutDownWorkerPool() { if (this.isExecutorServiceManaged) { if (!this.isNormalShutdown) { logger.log(Level.WARNING, "ExecutorService shutdown initiated unexpectedly. No new tasks will be accepted"); } this.workerPool.shutdown(); try { if (!this.workerPool.awaitTermination(60, TimeUnit.SECONDS)) { this.workerPool.shutdownNow(); } } catch (InterruptedException ex) { Thread.currentThread().interrupt(); } } } private String getSidecarAddress() { return this.sidecarClient.getChannel().authority(); } /** * Extracts trace context from the ActivityRequest's ParentTraceContext field * and creates an OpenTelemetry Context with the parent span set. * * @param activityRequest The activity request containing the parent trace context * @return A Context with the parent span set, or the current context if no trace context is present */ private Context extractTraceContext(OrchestratorService.ActivityRequest activityRequest) { if (!activityRequest.hasParentTraceContext()) { logger.log(Level.FINE, "No parent trace context in activity request"); return Context.current(); } Orchestration.TraceContext traceContext = activityRequest.getParentTraceContext(); String traceParent = traceContext.getTraceParent(); if (traceParent.isEmpty()) { logger.log(Level.FINE, "Empty traceparent in activity request"); return Context.current(); } logger.log(Level.INFO, String.format("Extracting trace context from ActivityRequest: traceparent=%s", traceParent)); // Use W3CTraceContextPropagator to extract the trace context Map carrier = new HashMap<>(); carrier.put("traceparent", traceParent); if (traceContext.hasTraceState()) { carrier.put("tracestate", traceContext.getTraceState().getValue()); } TextMapGetter> getter = new TextMapGetter>() { @Override public Iterable keys(Map carrier) { return carrier.keySet(); } @Override public String get(Map carrier, String key) { return carrier.get(key); } }; Context extractedContext = W3CTraceContextPropagator.getInstance() .extract(Context.current(), carrier, getter); logger.log(Level.INFO, String.format("Extracted trace context: %s", extractedContext)); return extractedContext; } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/DurableTaskGrpcWorkerBuilder.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import io.dapr.durabletask.orchestration.TaskOrchestrationFactories; import io.dapr.durabletask.orchestration.TaskOrchestrationFactory; import io.grpc.Channel; import java.time.Duration; import java.util.HashMap; import java.util.concurrent.ExecutorService; /** * Builder object for constructing customized {@link DurableTaskGrpcWorker} instances. * */ public final class DurableTaskGrpcWorkerBuilder { TaskOrchestrationFactories orchestrationFactories = new TaskOrchestrationFactories(); final HashMap activityFactories = new HashMap<>(); int port; Channel channel; DataConverter dataConverter; Duration maximumTimerInterval; ExecutorService executorService; String appId; // App ID for cross-app routing /** * Adds an orchestration factory to be used by the constructed {@link DurableTaskGrpcWorker}. * * @param factory an orchestration factory to be used by the constructed {@link DurableTaskGrpcWorker} * @return this builder object */ public DurableTaskGrpcWorkerBuilder addOrchestration(TaskOrchestrationFactory factory) { this.orchestrationFactories.addOrchestration(factory); return this; } /** * Adds an activity factory to be used by the constructed {@link DurableTaskGrpcWorker}. * * @param factory an activity factory to be used by the constructed {@link DurableTaskGrpcWorker} * @return this builder object */ public DurableTaskGrpcWorkerBuilder addActivity(TaskActivityFactory factory) { // TODO: Input validation String key = factory.getName(); if (key == null || key.length() == 0) { throw new IllegalArgumentException("A non-empty task activity name is required."); } if (this.activityFactories.containsKey(key)) { throw new IllegalArgumentException( String.format("A task activity factory named %s is already registered.", key)); } this.activityFactories.put(key, factory); return this; } /** * Sets the gRPC channel to use for communicating with the sidecar process. * *

    This builder method allows you to provide your own gRPC channel for communicating with the Durable Task sidecar * endpoint. Channels provided using this method won't be closed when the worker is closed. * Rather, the caller remains responsible for shutting down the channel after disposing the worker.

    * *

    If not specified, a gRPC channel will be created automatically for each constructed * {@link DurableTaskGrpcWorker}.

    * * @param channel the gRPC channel to use * @return this builder object */ public DurableTaskGrpcWorkerBuilder grpcChannel(Channel channel) { this.channel = channel; return this; } /** * Sets the gRPC endpoint port to connect to. If not specified, the default Durable Task port number will be used. * * @param port the gRPC endpoint port to connect to * @return this builder object */ public DurableTaskGrpcWorkerBuilder port(int port) { this.port = port; return this; } /** * Sets the {@link DataConverter} to use for converting serializable data payloads. * * @param dataConverter the {@link DataConverter} to use for converting serializable data payloads * @return this builder object */ public DurableTaskGrpcWorkerBuilder dataConverter(DataConverter dataConverter) { this.dataConverter = dataConverter; return this; } /** * Sets the maximum timer interval. If not specified, the default maximum timer interval duration will be used. * The default maximum timer interval duration is 3 days. * * @param maximumTimerInterval the maximum timer interval * @return this builder object */ public DurableTaskGrpcWorkerBuilder maximumTimerInterval(Duration maximumTimerInterval) { this.maximumTimerInterval = maximumTimerInterval; return this; } /** * Sets the executor service that will be used to execute threads. * * @param executorService {@link ExecutorService}. * @return this builder object. */ public DurableTaskGrpcWorkerBuilder withExecutorService(ExecutorService executorService) { this.executorService = executorService; return this; } /** * Sets the app ID for cross-app workflow routing. * *

    This app ID is used to identify this worker in cross-app routing scenarios. * It should match the app ID configured in the Dapr sidecar.

    * * @param appId the app ID for this worker * @return this builder object */ public DurableTaskGrpcWorkerBuilder appId(String appId) { this.appId = appId; return this; } /** * Initializes a new {@link DurableTaskGrpcWorker} object with the settings specified in the current builder object. * * @return a new {@link DurableTaskGrpcWorker} object */ public DurableTaskGrpcWorker build() { return new DurableTaskGrpcWorker(this); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/FailureDetails.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import com.google.protobuf.StringValue; import io.dapr.durabletask.implementation.protobuf.Orchestration.TaskFailureDetails; import javax.annotation.Nonnull; import javax.annotation.Nullable; /** * Class that represents the details of a task failure. * *

    In most cases, failures are caused by unhandled exceptions in activity or orchestrator code, in which case * instances of this class will expose the details of the exception. However, it's also possible that other types * of errors could result in task failures, in which case there may not be any exception-specific information.

    */ public final class FailureDetails { private final String errorType; private final String errorMessage; private final String stackTrace; private final boolean isNonRetriable; FailureDetails( String errorType, @Nullable String errorMessage, @Nullable String errorDetails, boolean isNonRetriable) { this.errorType = errorType; this.stackTrace = errorDetails; // Error message can be null for things like NullPointerException but the gRPC contract doesn't allow null this.errorMessage = errorMessage != null ? errorMessage : ""; this.isNonRetriable = isNonRetriable; } FailureDetails(Exception exception) { this(exception.getClass().getName(), exception.getMessage(), getFullStackTrace(exception), false); } FailureDetails(TaskFailureDetails proto) { this(proto.getErrorType(), proto.getErrorMessage(), proto.getStackTrace().getValue(), proto.getIsNonRetriable()); } /** * Gets the exception class name if the failure was caused by an unhandled exception. Otherwise, gets a symbolic * name that describes the general type of error that was encountered. * * @return the error type as a {@code String} value */ @Nonnull public String getErrorType() { return this.errorType; } /** * Gets a summary description of the error that caused this failure. If the failure was caused by an exception, the * exception message is returned. * * @return a summary description of the error */ @Nonnull public String getErrorMessage() { return this.errorMessage; } /** * Gets the stack trace of the exception that caused this failure, or {@code null} if the failure was caused by * a non-exception error. * * @return the stack trace of the failure exception or {@code null} if the failure was not caused by an exception */ @Nullable public String getStackTrace() { return this.stackTrace; } /** * Returns {@code true} if the failure doesn't permit retries, otherwise {@code false}. * * @return {@code true} if the failure doesn't permit retries, otherwise {@code false}. */ public boolean isNonRetriable() { return this.isNonRetriable; } /** * Returns {@code true} if the task failure was provided by the specified exception type, otherwise {@code false}. * *

    This method allows checking if a task failed due to a specific exception type by attempting to load the class * specified in {@link #getErrorType()}. If the exception class cannot be loaded for any reason, this method will * return {@code false}. Base types are supported by this method, as shown in the following example:

    *
    {@code
       * boolean isRuntimeException = failureDetails.isCausedBy(RuntimeException.class);
       * }
    * * @param exceptionClass the class representing the exception type to test * @return {@code true} if the task failure was provided by the specified exception type, otherwise {@code false} */ public boolean isCausedBy(Class exceptionClass) { String actualClassName = this.getErrorType(); try { // Try using reflection to load the failure's class type and see if it's a subtype of the specified // exception. For example, this should always succeed if exceptionClass is System.Exception. Class actualExceptionClass = Class.forName(actualClassName); return exceptionClass.isAssignableFrom(actualExceptionClass); } catch (ClassNotFoundException ex) { // Can't load the class and thus can't tell if it's related return false; } } /** * Gets the full stack trace of the specified exception. * * @param e the exception * @return the full stack trace of the exception */ public static String getFullStackTrace(Throwable e) { StackTraceElement[] elements = e.getStackTrace(); // Plan for 256 characters per stack frame (which is likely on the high-end) StringBuilder sb = new StringBuilder(elements.length * 256); for (StackTraceElement element : elements) { sb.append("\tat ").append(element.toString()).append(System.lineSeparator()); } return sb.toString(); } TaskFailureDetails toProto() { return TaskFailureDetails.newBuilder() .setErrorType(this.getErrorType()) .setErrorMessage(this.getErrorMessage()) .setStackTrace(StringValue.of(this.getStackTrace() != null ? this.getStackTrace() : "")) .build(); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/Helpers.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.time.Duration; final class Helpers { static final Duration maxDuration = Duration.ofSeconds(Long.MAX_VALUE, 999999999L); static @Nonnull V throwIfArgumentNull(@Nullable V argValue, String argName) { if (argValue == null) { throw new IllegalArgumentException("The argument '" + argName + "' was null."); } return argValue; } static @Nonnull String throwIfArgumentNullOrWhiteSpace(String argValue, String argName) { throwIfArgumentNull(argValue, argName); if (argValue.trim().length() == 0) { throw new IllegalArgumentException("The argument '" + argName + "' was empty or contained only whitespace."); } return argValue; } static void throwIfOrchestratorComplete(boolean isComplete) { if (isComplete) { throw new IllegalStateException("The orchestrator has already completed"); } } static boolean isInfiniteTimeout(Duration timeout) { return timeout == null || timeout.isNegative() || timeout.equals(maxDuration); } static double powExact(double base, double exponent) throws ArithmeticException { if (base == 0.0) { return 0.0; } double result = Math.pow(base, exponent); if (result == Double.POSITIVE_INFINITY) { throw new ArithmeticException("Double overflow resulting in POSITIVE_INFINITY"); } else if (result == Double.NEGATIVE_INFINITY) { throw new ArithmeticException("Double overflow resulting in NEGATIVE_INFINITY"); } else if (Double.compare(-0.0f, result) == 0) { throw new ArithmeticException("Double overflow resulting in negative zero"); } else if (Double.compare(+0.0f, result) == 0) { throw new ArithmeticException("Double overflow resulting in positive zero"); } return result; } static boolean isNullOrEmpty(String s) { return s == null || s.isEmpty(); } // Cannot be instantiated private Helpers() { } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/JacksonDataConverter.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.json.JsonMapper; /** * An implementation of {@link DataConverter} that uses Jackson APIs for data serialization. */ public final class JacksonDataConverter implements DataConverter { // Static singletons are recommended by the Jackson documentation private static final ObjectMapper jsonObjectMapper = JsonMapper.builder() .findAndAddModules() .build(); @Override public String serialize(Object value) { if (value == null) { return null; } try { return jsonObjectMapper.writeValueAsString(value); } catch (JsonProcessingException e) { throw new DataConverterException( String.format("Failed to serialize argument of type '%s'. Detailed error message: %s", value.getClass().getName(), e.getMessage()), e); } } @Override public T deserialize(String jsonText, Class targetType) { if (jsonText == null || jsonText.length() == 0 || targetType == Void.class) { return null; } try { return jsonObjectMapper.readValue(jsonText, targetType); } catch (JsonProcessingException e) { throw new DataConverterException(String.format("Failed to deserialize the JSON text to %s. " + "Detailed error message: %s", targetType.getName(), e.getMessage()), e); } } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/NewOrchestrationInstanceOptions.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import java.time.Instant; /** * Options for starting a new instance of an orchestration. */ public final class NewOrchestrationInstanceOptions { private String version; private String instanceId; private Object input; private Instant startTime; private String appID; // Target app ID for cross-app workflow routing /** * Default constructor for the {@link NewOrchestrationInstanceOptions} class. */ public NewOrchestrationInstanceOptions() { } /** * Sets the version of the orchestration to start. * * @param version the user-defined version of the orchestration * @return this {@link NewOrchestrationInstanceOptions} object */ public NewOrchestrationInstanceOptions setVersion(String version) { this.version = version; return this; } /** * Sets the instance ID of the orchestration to start. * If no instance ID is configured, the orchestration will be created with a randomly generated instance ID. * * @param instanceId the ID of the new orchestration instance * @return this {@link NewOrchestrationInstanceOptions} object */ public NewOrchestrationInstanceOptions setInstanceId(String instanceId) { this.instanceId = instanceId; return this; } /** * Sets the input of the orchestration to start. * There are no restrictions on the type of inputs that can be used except that they must be serializable using * the {@link DataConverter} that was configured for the {@link DurableTaskClient} at creation time. * * @param input the input of the new orchestration instance * @return this {@link NewOrchestrationInstanceOptions} object */ public NewOrchestrationInstanceOptions setInput(Object input) { this.input = input; return this; } /** * Sets the start time of the new orchestration instance. * By default, new orchestration instances start executing immediately. This method can be used * to start them at a specific time in the future. * * @param startTime the start time of the new orchestration instance * @return this {@link NewOrchestrationInstanceOptions} object */ public NewOrchestrationInstanceOptions setStartTime(Instant startTime) { this.startTime = startTime; return this; } /** * Sets the target app ID for cross-app workflow routing. * * @param appID the target app ID for cross-app routing * @return this {@link NewOrchestrationInstanceOptions} object */ public NewOrchestrationInstanceOptions setAppID(String appID) { this.appID = appID; return this; } /** * Gets the user-specified version of the new orchestration. * * @return the user-specified version of the new orchestration. */ public String getVersion() { return this.version; } /** * Gets the instance ID of the new orchestration. * * @return the instance ID of the new orchestration. */ public String getInstanceId() { return this.instanceId; } /** * Gets the input of the new orchestration. * * @return the input of the new orchestration. */ public Object getInput() { return this.input; } /** * Gets the configured start time of the new orchestration instance. * * @return the configured start time of the new orchestration instance. */ public Instant getStartTime() { return this.startTime; } /** * Gets the configured target app ID for cross-app workflow routing. * * @return the configured target app ID */ public String getAppID() { return this.appID; } /** * Checks if an app ID is configured for cross-app routing. * * @return true if an app ID is configured, false otherwise */ public boolean hasAppID() { return this.appID != null && !this.appID.isEmpty(); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/NonDeterministicOrchestratorException.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; final class NonDeterministicOrchestratorException extends RuntimeException { public NonDeterministicOrchestratorException(String message) { super(message); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/OrchestrationMetadata.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import io.dapr.durabletask.implementation.protobuf.Orchestration.WorkflowState; import io.dapr.durabletask.implementation.protobuf.OrchestratorService; import java.time.Instant; import static io.dapr.durabletask.Helpers.isNullOrEmpty; /** * Represents a snapshot of an orchestration instance's current state, including metadata. * *

    Instances of this class are produced by methods in the {@link DurableTaskClient} class, such as * {@link DurableTaskClient#getInstanceMetadata}, {@link DurableTaskClient#waitForInstanceStart} and * {@link DurableTaskClient#waitForInstanceCompletion}.

    */ public final class OrchestrationMetadata { private final DataConverter dataConverter; private final boolean requestedInputsAndOutputs; private final String name; private final String instanceId; private final OrchestrationRuntimeStatus runtimeStatus; private final Instant createdAt; private final Instant lastUpdatedAt; private final String serializedInput; private final String serializedOutput; private final String serializedCustomStatus; private final FailureDetails failureDetails; OrchestrationMetadata( OrchestratorService.GetInstanceResponse fetchResponse, DataConverter dataConverter, boolean requestedInputsAndOutputs) { this(fetchResponse.getWorkflowState(), dataConverter, requestedInputsAndOutputs); } OrchestrationMetadata( WorkflowState state, DataConverter dataConverter, boolean requestedInputsAndOutputs) { this.dataConverter = dataConverter; this.requestedInputsAndOutputs = requestedInputsAndOutputs; this.name = state.getName(); this.instanceId = state.getInstanceId(); this.runtimeStatus = OrchestrationRuntimeStatus.fromProtobuf(state.getWorkflowStatus()); this.createdAt = DataConverter.getInstantFromTimestamp(state.getCreatedTimestamp()); this.lastUpdatedAt = DataConverter.getInstantFromTimestamp(state.getLastUpdatedTimestamp()); this.serializedInput = state.getInput().getValue(); this.serializedOutput = state.getOutput().getValue(); this.serializedCustomStatus = state.getCustomStatus().getValue(); this.failureDetails = new FailureDetails(state.getFailureDetails()); } /** * Gets the name of the orchestration. * * @return the name of the orchestration */ public String getName() { return this.name; } /** * Gets the unique ID of the orchestration instance. * * @return the unique ID of the orchestration instance */ public String getInstanceId() { return this.instanceId; } /** * Gets the current runtime status of the orchestration instance at the time this object was fetched. * * @return the current runtime status of the orchestration instance at the time this object was fetched */ public OrchestrationRuntimeStatus getRuntimeStatus() { return this.runtimeStatus; } /** * Gets the orchestration instance's creation time in UTC. * * @return the orchestration instance's creation time in UTC */ public Instant getCreatedAt() { return this.createdAt; } /** * Gets the orchestration instance's last updated time in UTC. * * @return the orchestration instance's last updated time in UTC */ public Instant getLastUpdatedAt() { return this.lastUpdatedAt; } /** * Gets the orchestration instance's serialized input, if any, as a string value. * * @return the orchestration instance's serialized input or {@code null} */ public String getSerializedInput() { return this.serializedInput; } /** * Gets the orchestration instance's serialized output, if any, as a string value. * * @return the orchestration instance's serialized output or {@code null} */ public String getSerializedOutput() { return this.serializedOutput; } /** * Gets the failure details, if any, for the failed orchestration instance. * *

    This method returns data only if the orchestration is in the {@link OrchestrationRuntimeStatus#FAILED} state, * and only if this instance metadata was fetched with the option to include output data.

    * * @return the failure details of the failed orchestration instance or {@code null} */ public FailureDetails getFailureDetails() { return this.failureDetails; } /** * Gets a value indicating whether the orchestration instance was running at the time this object was fetched. * * @return {@code true} if the orchestration existed and was in a running state; otherwise {@code false} */ public boolean isRunning() { return isInstanceFound() && this.runtimeStatus == OrchestrationRuntimeStatus.RUNNING; } /** * Gets a value indicating whether the orchestration instance was completed at the time this object was fetched. * *

    An orchestration instance is considered completed when its runtime status value is * {@link OrchestrationRuntimeStatus#COMPLETED}, {@link OrchestrationRuntimeStatus#FAILED}, or * {@link OrchestrationRuntimeStatus#TERMINATED}.

    * * @return {@code true} if the orchestration was in a terminal state; otherwise {@code false} */ public boolean isCompleted() { return this.runtimeStatus == OrchestrationRuntimeStatus.COMPLETED || this.runtimeStatus == OrchestrationRuntimeStatus.FAILED || this.runtimeStatus == OrchestrationRuntimeStatus.TERMINATED; } /** * Deserializes the orchestration's input into an object of the specified type. * *

    Deserialization is performed using the {@link DataConverter} that was configured on * the {@link DurableTaskClient} object that created this orchestration metadata object.

    * * @param type the class associated with the type to deserialize the input data into * @param the type to deserialize the input data into * @return the deserialized input value * @throws IllegalStateException if the metadata was fetched without the option to read inputs and outputs */ public T readInputAs(Class type) { return this.readPayloadAs(type, this.serializedInput); } /** * Deserializes the orchestration's output into an object of the specified type. * *

    Deserialization is performed using the {@link DataConverter} that was configured on * the {@link DurableTaskClient} object that created this orchestration metadata object.

    * * @param type the class associated with the type to deserialize the output data into * @param the type to deserialize the output data into * @return the deserialized input value * @throws IllegalStateException if the metadata was fetched without the option to read inputs and outputs */ public T readOutputAs(Class type) { return this.readPayloadAs(type, this.serializedOutput); } /** * Deserializes the orchestration's custom status into an object of the specified type. * *

    Deserialization is performed using the {@link DataConverter} that was configured on * the {@link DurableTaskClient} object that created this orchestration metadata object.

    * * @param type the class associated with the type to deserialize the custom status data into * @param the type to deserialize the custom status data into * @return the deserialized input value * @throws IllegalStateException if the metadata was fetched without the option to read inputs and outputs */ public T readCustomStatusAs(Class type) { return this.readPayloadAs(type, this.serializedCustomStatus); } /** * Returns {@code true} if the orchestration has a non-empty custom status value; otherwise {@code false}. * *

    This method will always return {@code false} if the metadata was fetched without the option to read inputs and * outputs.

    * * @return {@code true} if the orchestration has a non-empty custom status value; otherwise {@code false} */ public boolean isCustomStatusFetched() { return this.serializedCustomStatus != null && !this.serializedCustomStatus.isEmpty(); } private T readPayloadAs(Class type, String payload) { if (!this.requestedInputsAndOutputs) { throw new IllegalStateException("This method can only be used when instance metadata is fetched with the option " + "to include input and output data."); } // Note that the Java gRPC implementation converts null protobuf strings into empty Java strings if (payload == null || payload.isEmpty()) { return null; } return this.dataConverter.deserialize(payload, type); } /** * Generates a user-friendly string representation of the current metadata object. * * @return a user-friendly string representation of the current metadata object */ @Override public String toString() { String baseString = String.format( "[Name: '%s', ID: '%s', RuntimeStatus: %s, CreatedAt: %s, LastUpdatedAt: %s", this.name, this.instanceId, this.runtimeStatus, this.createdAt, this.lastUpdatedAt); StringBuilder sb = new StringBuilder(baseString); if (this.serializedInput != null) { sb.append(", Input: '").append(getTrimmedPayload(this.serializedInput)).append('\''); } if (this.serializedOutput != null) { sb.append(", Output: '").append(getTrimmedPayload(this.serializedOutput)).append('\''); } return sb.append(']').toString(); } private static String getTrimmedPayload(String payload) { int maxLength = 50; if (payload.length() > maxLength) { return payload.substring(0, maxLength) + "..."; } return payload; } /** * Returns {@code true} if an orchestration instance with this ID was found; otherwise {@code false}. * * @return {@code true} if an orchestration instance with this ID was found; otherwise {@code false} */ public boolean isInstanceFound() { return !(isNullOrEmpty(this.name) && isNullOrEmpty(this.instanceId)); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/OrchestrationRunner.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.StringValue; import io.dapr.durabletask.implementation.protobuf.OrchestratorService; import io.dapr.durabletask.orchestration.TaskOrchestrationFactories; import io.dapr.durabletask.orchestration.TaskOrchestrationFactory; import java.time.Duration; import java.util.Base64; import java.util.logging.Logger; /** * Helper class for invoking orchestrations directly, without constructing a {@link DurableTaskGrpcWorker} object. * *

    This static class can be used to execute orchestration logic directly. In order to use it for this purpose, the * caller must provide orchestration state as serialized protobuf bytes.

    */ public final class OrchestrationRunner { private static final Logger logger = Logger.getLogger(OrchestrationRunner.class.getPackage().getName()); private static final Duration DEFAULT_MAXIMUM_TIMER_INTERVAL = Duration.ofDays(3); private OrchestrationRunner() { } /** * Loads orchestration history from {@code base64EncodedOrchestratorRequest} and uses it to execute the * orchestrator function code pointed to by {@code orchestratorFunc}. * * @param base64EncodedOrchestratorRequest the base64-encoded protobuf payload representing an orchestrator execution * request * @param orchestratorFunc a function that implements the orchestrator logic * @param the type of the orchestrator function output, which must be serializable * to JSON * @return a base64-encoded protobuf payload of orchestrator actions to be interpreted by the external * orchestration engine * @throws IllegalArgumentException if either parameter is {@code null} or * if {@code base64EncodedOrchestratorRequest} is not valid base64-encoded protobuf */ public static String loadAndRun( String base64EncodedOrchestratorRequest, OrchestratorFunction orchestratorFunc) { // Example string: CiBhOTMyYjdiYWM5MmI0MDM5YjRkMTYxMDIwNzlmYTM1YSIaCP///////////wESCwi254qRBhDk+rgocgAicgj////// // ///8BEgwIs+eKkQYQzMXjnQMaVwoLSGVsbG9DaXRpZXMSACJGCiBhOTMyYjdiYWM5MmI0MDM5YjRkMTYxMDIwNzlmYTM1YRIiCiA3ODEwOTA // 2N2Q4Y2Q0ODg1YWU4NjQ0OTNlMmRlMGQ3OA== byte[] decodedBytes = Base64.getDecoder().decode(base64EncodedOrchestratorRequest); byte[] resultBytes = loadAndRun(decodedBytes, orchestratorFunc); return Base64.getEncoder().encodeToString(resultBytes); } /** * Loads orchestration history from {@code orchestratorRequestBytes} and uses it to execute the * orchestrator function code pointed to by {@code orchestratorFunc}. * * @param orchestratorRequestBytes the protobuf payload representing an orchestrator execution request * @param orchestratorFunc a function that implements the orchestrator logic * @param the type of the orchestrator function output, which must be serializable to JSON * @return a protobuf-encoded payload of orchestrator actions to be interpreted by the external orchestration engine * @throws IllegalArgumentException if either parameter is {@code null} or if {@code orchestratorRequestBytes} is * not valid protobuf */ public static byte[] loadAndRun( byte[] orchestratorRequestBytes, OrchestratorFunction orchestratorFunc) { if (orchestratorFunc == null) { throw new IllegalArgumentException("orchestratorFunc must not be null"); } // Wrap the provided lambda in an anonymous TaskOrchestration TaskOrchestration orchestration = ctx -> { R output = orchestratorFunc.apply(ctx); ctx.complete(output); }; return loadAndRun(orchestratorRequestBytes, orchestration); } /** * Loads orchestration history from {@code base64EncodedOrchestratorRequest} and uses it to execute the * {@code orchestration}. * * @param base64EncodedOrchestratorRequest the base64-encoded protobuf payload representing an orchestrator * execution request * @param orchestration the orchestration to execute * @return a base64-encoded protobuf payload of orchestrator actions to be interpreted by the external * orchestration engine * @throws IllegalArgumentException if either parameter is {@code null} or * if {@code base64EncodedOrchestratorRequest} is not valid base64-encoded protobuf */ public static String loadAndRun( String base64EncodedOrchestratorRequest, TaskOrchestration orchestration) { byte[] decodedBytes = Base64.getDecoder().decode(base64EncodedOrchestratorRequest); byte[] resultBytes = loadAndRun(decodedBytes, orchestration); return Base64.getEncoder().encodeToString(resultBytes); } /** * Loads orchestration history from {@code orchestratorRequestBytes} and uses it to execute the * {@code orchestration}. * * @param orchestratorRequestBytes the protobuf payload representing an orchestrator execution request * @param orchestration the orchestration to execute * @return a protobuf-encoded payload of orchestrator actions to be interpreted by the external orchestration engine * @throws IllegalArgumentException if either parameter is {@code null} or if {@code orchestratorRequestBytes} * is not valid protobuf */ public static byte[] loadAndRun(byte[] orchestratorRequestBytes, TaskOrchestration orchestration) { if (orchestratorRequestBytes == null || orchestratorRequestBytes.length == 0) { throw new IllegalArgumentException("triggerStateProtoBytes must not be null or empty"); } if (orchestration == null) { throw new IllegalArgumentException("orchestration must not be null"); } OrchestratorService.WorkflowRequest orchestratorRequest; try { orchestratorRequest = OrchestratorService.WorkflowRequest.parseFrom(orchestratorRequestBytes); } catch (InvalidProtocolBufferException e) { throw new IllegalArgumentException("triggerStateProtoBytes was not valid protobuf", e); } // Register the passed orchestration as the default ("*") orchestration TaskOrchestrationFactories orchestrationFactories = new TaskOrchestrationFactories(); orchestrationFactories.addOrchestration(new TaskOrchestrationFactory() { @Override public String getName() { return "*"; } @Override public TaskOrchestration create() { return orchestration; } @Override public String getVersionName() { return ""; } @Override public Boolean isLatestVersion() { return false; } }); TaskOrchestrationExecutor taskOrchestrationExecutor = new TaskOrchestrationExecutor( orchestrationFactories, new JacksonDataConverter(), DEFAULT_MAXIMUM_TIMER_INTERVAL, logger, null); // No app ID for static runner // TODO: Error handling TaskOrchestratorResult taskOrchestratorResult = taskOrchestrationExecutor.execute( orchestratorRequest.getPastEventsList(), orchestratorRequest.getNewEventsList()); OrchestratorService.WorkflowResponse response = OrchestratorService.WorkflowResponse.newBuilder() .setInstanceId(orchestratorRequest.getInstanceId()) .addAllActions(taskOrchestratorResult.getActions()) .setCustomStatus(StringValue.of(taskOrchestratorResult.getCustomStatus())) .build(); return response.toByteArray(); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/OrchestrationRuntimeStatus.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import io.dapr.durabletask.implementation.protobuf.Orchestration; import static io.dapr.durabletask.implementation.protobuf.Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_CANCELED; import static io.dapr.durabletask.implementation.protobuf.Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_COMPLETED; import static io.dapr.durabletask.implementation.protobuf.Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_CONTINUED_AS_NEW; import static io.dapr.durabletask.implementation.protobuf.Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_FAILED; import static io.dapr.durabletask.implementation.protobuf.Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_PENDING; import static io.dapr.durabletask.implementation.protobuf.Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_RUNNING; import static io.dapr.durabletask.implementation.protobuf.Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_SUSPENDED; import static io.dapr.durabletask.implementation.protobuf.Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_TERMINATED; /** * Enum describing the runtime status of the orchestration. */ public enum OrchestrationRuntimeStatus { /** * The orchestration started running. */ RUNNING, /** * The orchestration completed normally. */ COMPLETED, /** * The orchestration is transitioning into a new instance. * This status value is obsolete and exists only for compatibility reasons. */ CONTINUED_AS_NEW, /** * The orchestration completed with an unhandled exception. */ FAILED, /** * The orchestration canceled gracefully. * The Canceled status is not currently used and exists only for compatibility reasons. */ CANCELED, /** * The orchestration was abruptly terminated via a management API call. */ TERMINATED, /** * The orchestration was scheduled but hasn't started running. */ PENDING, /** * The orchestration is in a suspended state. */ SUSPENDED, /** * The orchestration is in a stalled state. */ STALLED; static OrchestrationRuntimeStatus fromProtobuf(Orchestration.OrchestrationStatus status) { switch (status) { case ORCHESTRATION_STATUS_RUNNING: return RUNNING; case ORCHESTRATION_STATUS_COMPLETED: return COMPLETED; case ORCHESTRATION_STATUS_CONTINUED_AS_NEW: return CONTINUED_AS_NEW; case ORCHESTRATION_STATUS_FAILED: return FAILED; case ORCHESTRATION_STATUS_CANCELED: return CANCELED; case ORCHESTRATION_STATUS_TERMINATED: return TERMINATED; case ORCHESTRATION_STATUS_PENDING: return PENDING; case ORCHESTRATION_STATUS_SUSPENDED: return SUSPENDED; case ORCHESTRATION_STATUS_STALLED: return STALLED; default: throw new IllegalArgumentException(String.format("Unknown status value: %s", status)); } } static Orchestration.OrchestrationStatus toProtobuf(OrchestrationRuntimeStatus status) { switch (status) { case RUNNING: return ORCHESTRATION_STATUS_RUNNING; case COMPLETED: return ORCHESTRATION_STATUS_COMPLETED; case CONTINUED_AS_NEW: return ORCHESTRATION_STATUS_CONTINUED_AS_NEW; case FAILED: return ORCHESTRATION_STATUS_FAILED; case CANCELED: return ORCHESTRATION_STATUS_CANCELED; case TERMINATED: return ORCHESTRATION_STATUS_TERMINATED; case PENDING: return ORCHESTRATION_STATUS_PENDING; case SUSPENDED: return ORCHESTRATION_STATUS_SUSPENDED; default: throw new IllegalArgumentException(String.format("Unknown status value: %s", status)); } } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/OrchestratorFunction.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; /** * Functional interface for inline orchestrator functions. * *

    See the description of {@link TaskOrchestration} for more information about how to correctly * implement orchestrators.

    * * @param the type of the result returned by the function */ @FunctionalInterface public interface OrchestratorFunction { /** * Executes an orchestrator function and returns a result to use as the orchestration output. * *

    This functional interface is designed to support implementing orchestrators as lambda functions. It's intended * to be very similar to {@link java.util.function.Function}, but with a signature that's specific to * orchestrators.

    * * @param ctx the orchestration context, which provides access to additional context for the current orchestration * execution * @return the serializable output of the orchestrator function */ R apply(TaskOrchestrationContext ctx); } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/PurgeInstanceCriteria.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import javax.annotation.Nullable; import java.time.Duration; import java.time.Instant; import java.util.ArrayList; import java.util.List; /** * Class used for constructing orchestration instance purge selection criteria. */ public final class PurgeInstanceCriteria { private Instant createdTimeFrom; private Instant createdTimeTo; private List runtimeStatusList = new ArrayList<>(); private Duration timeout; /** * Creates a new, default instance of the {@code PurgeInstanceCriteria} class. */ public PurgeInstanceCriteria() { } /** * Purge orchestration instances that were created after the specified instant. * * @param createdTimeFrom the minimum orchestration creation time to use as a selection criteria or {@code null} to * disable this selection criteria * @return this criteria object */ public PurgeInstanceCriteria setCreatedTimeFrom(Instant createdTimeFrom) { this.createdTimeFrom = createdTimeFrom; return this; } /** * Purge orchestration instances that were created before the specified instant. * * @param createdTimeTo the maximum orchestration creation time to use as a selection criteria or {@code null} to * disable this selection criteria * @return this criteria object */ public PurgeInstanceCriteria setCreatedTimeTo(Instant createdTimeTo) { this.createdTimeTo = createdTimeTo; return this; } /** * Sets the list of runtime status values to use as a selection criteria. Only orchestration instances that have a * matching runtime status will be purged. An empty list is the same as selecting for all runtime status values. * * @param runtimeStatusList the list of runtime status values to use as a selection criteria * @return this criteria object */ public PurgeInstanceCriteria setRuntimeStatusList(List runtimeStatusList) { this.runtimeStatusList = runtimeStatusList; return this; } /** * Sets a timeout duration for the purge operation. Setting to {@code null} will reset the timeout * to be the default value. * * @param timeout the amount of time to wait for the purge instance operation to complete * @return this criteria object */ public PurgeInstanceCriteria setTimeout(Duration timeout) { this.timeout = timeout; return this; } /** * Gets the configured minimum orchestration creation time or {@code null} if none was configured. * * @return the configured minimum orchestration creation time or {@code null} if none was configured */ @Nullable public Instant getCreatedTimeFrom() { return this.createdTimeFrom; } /** * Gets the configured maximum orchestration creation time or {@code null} if none was configured. * * @return the configured maximum orchestration creation time or {@code null} if none was configured */ @Nullable public Instant getCreatedTimeTo() { return this.createdTimeTo; } /** * Gets the configured runtime status selection criteria. * * @return the configured runtime status filter as a list of values */ public List getRuntimeStatusList() { return this.runtimeStatusList; } /** * Gets the configured timeout duration or {@code null} if none was configured. * * @return the configured timeout */ @Nullable public Duration getTimeout() { return this.timeout; } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/PurgeResult.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; /** * Class representing the results of an orchestration state purge operation. * *

    Orchestration state can be purged using any of the {@link DurableTaskClient#purgeInstances} method overloads.

    */ public final class PurgeResult { private final int deletedInstanceCount; PurgeResult(int deletedInstanceCount) { this.deletedInstanceCount = deletedInstanceCount; } /** * Gets the number of purged orchestration instances. * * @return the number of purged orchestration instances */ public int getDeletedInstanceCount() { return this.deletedInstanceCount; } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/RetryContext.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import java.time.Duration; /** * Context data that's provided to {@link RetryHandler} implementations. */ public final class RetryContext { private final TaskOrchestrationContext orchestrationContext; private final int lastAttemptNumber; private final FailureDetails lastFailure; private final Duration totalRetryTime; RetryContext( TaskOrchestrationContext orchestrationContext, int lastAttemptNumber, FailureDetails lastFailure, Duration totalRetryTime) { this.orchestrationContext = orchestrationContext; this.lastAttemptNumber = lastAttemptNumber; this.lastFailure = lastFailure; this.totalRetryTime = totalRetryTime; } /** * Gets the context of the current orchestration. * *

    The orchestration context can be used in retry handlers to schedule timers (via the * {@link TaskOrchestrationContext#createTimer} methods) for implementing delays between retries. It can also be * used to implement time-based retry logic by using the {@link TaskOrchestrationContext#getCurrentInstant} method. *

    * * @return the context of the parent orchestration */ public TaskOrchestrationContext getOrchestrationContext() { return this.orchestrationContext; } /** * Gets the details of the previous task failure, including the exception type, message, and callstack. * * @return the details of the previous task failure */ public FailureDetails getLastFailure() { return this.lastFailure; } /** * Gets the previous retry attempt number. This number starts at 1 and increments each time the retry handler * is invoked for a particular task failure. * * @return the previous retry attempt number */ public int getLastAttemptNumber() { return this.lastAttemptNumber; } /** * Gets the total amount of time spent in a retry loop for the current task. * * @return the total amount of time spent in a retry loop for the current task */ public Duration getTotalRetryTime() { return this.totalRetryTime; } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/RetryHandler.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; /** * Functional interface for implementing custom task retry handlers. * *

    It's important to remember that retry handler code is an extension of the orchestrator code and must * therefore comply with all the determinism requirements of orchestrator code.

    */ @FunctionalInterface public interface RetryHandler { /** * Invokes the retry handler logic and returns a value indicating whether to continue retrying. * * @param context retry context that's updated between each retry attempt * @return {@code true} to continue retrying or {@code false} to stop retrying. */ boolean handle(RetryContext context); } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/RetryPolicy.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import javax.annotation.Nullable; import java.time.Duration; import java.util.Objects; /** * A declarative retry policy that can be configured for activity or sub-orchestration calls. */ public final class RetryPolicy { private int maxNumberOfAttempts; private Duration firstRetryInterval; private double backoffCoefficient = 1.0; private Duration maxRetryInterval = Duration.ZERO; private Duration retryTimeout = Duration.ZERO; /** * Creates a new {@code RetryPolicy} object. * * @param maxNumberOfAttempts the maximum number of task invocation attempts; must be 1 or greater * @param firstRetryInterval the amount of time to delay between the first and second attempt * @throws IllegalArgumentException if {@code maxNumberOfAttempts} is zero or negative */ public RetryPolicy(int maxNumberOfAttempts, Duration firstRetryInterval) { this.setMaxNumberOfAttempts(maxNumberOfAttempts); this.setFirstRetryInterval(firstRetryInterval); } /** * Sets the maximum number of task invocation attempts; must be 1 or greater. * *

    This value represents the number of times to attempt to execute the task. It does not represent * the maximum number of times to retry the task. This is why the number must be 1 or greater.

    * * @param maxNumberOfAttempts the maximum number of attempts; must be 1 or greater * @return this retry policy object * @throws IllegalArgumentException if {@code maxNumberOfAttempts} is zero or negative */ public RetryPolicy setMaxNumberOfAttempts(int maxNumberOfAttempts) { if (maxNumberOfAttempts <= 0) { throw new IllegalArgumentException("The value for maxNumberOfAttempts must be greater than zero."); } this.maxNumberOfAttempts = maxNumberOfAttempts; return this; } /** * Sets the amount of time to delay between the first and second attempt. * * @param firstRetryInterval the amount of time to delay between the first and second attempt * @return this retry policy object * @throws IllegalArgumentException if {@code firstRetryInterval} is {@code null}, zero, or negative. */ public RetryPolicy setFirstRetryInterval(Duration firstRetryInterval) { if (firstRetryInterval == null) { throw new IllegalArgumentException("firstRetryInterval cannot be null."); } if (firstRetryInterval.isZero() || firstRetryInterval.isNegative()) { throw new IllegalArgumentException("The value for firstRetryInterval must be greater than zero."); } this.firstRetryInterval = firstRetryInterval; return this; } /** * Sets the exponential backoff coefficient used to determine the delay between subsequent retries. * Must be 1.0 or greater. * *

    To avoid extremely long delays between retries, consider also specifying a maximum retry interval using the * {@link #setMaxRetryInterval} method.

    * * @param backoffCoefficient the exponential backoff coefficient * @return this retry policy object * @throws IllegalArgumentException if {@code backoffCoefficient} is less than 1.0 */ public RetryPolicy setBackoffCoefficient(double backoffCoefficient) { if (backoffCoefficient < 1.0) { throw new IllegalArgumentException("The value for backoffCoefficient must be greater or equal to 1.0."); } this.backoffCoefficient = backoffCoefficient; return this; } /** * Sets the maximum time to delay between attempts. * *

    It's recommended to set a maximum retry interval whenever using a backoff coefficient that's greater than the * default of 1.0.

    * * @param maxRetryInterval the maximum time to delay between attempts or {@code null} to remove the maximum retry * interval * @return this retry policy object */ public RetryPolicy setMaxRetryInterval(@Nullable Duration maxRetryInterval) { if (maxRetryInterval != null && maxRetryInterval.compareTo(this.firstRetryInterval) < 0) { throw new IllegalArgumentException("The value for maxRetryInterval must be greater than or equal to the value " + "for firstRetryInterval."); } this.maxRetryInterval = maxRetryInterval; return this; } /** * Sets the overall timeout for retries, regardless of the retry count. * * @param retryTimeout the overall timeout for retries * @return this retry policy object */ public RetryPolicy setRetryTimeout(Duration retryTimeout) { if (retryTimeout == null || retryTimeout.compareTo(this.firstRetryInterval) < 0) { throw new IllegalArgumentException("The value for retryTimeout cannot be null and must be greater than or equal " + "to the value for firstRetryInterval."); } this.retryTimeout = retryTimeout; return this; } /** * Gets the configured maximum number of task invocation attempts. * * @return the configured maximum number of task invocation attempts. */ public int getMaxNumberOfAttempts() { return this.maxNumberOfAttempts; } /** * Gets the configured amount of time to delay between the first and second attempt. * * @return the configured amount of time to delay between the first and second attempt */ public Duration getFirstRetryInterval() { return this.firstRetryInterval; } /** * Gets the configured exponential backoff coefficient used to determine the delay between subsequent retries. * * @return the configured exponential backoff coefficient used to determine the delay between subsequent retries */ public double getBackoffCoefficient() { return this.backoffCoefficient; } /** * Gets the configured maximum time to delay between attempts. * * @return the configured maximum time to delay between attempts */ public Duration getMaxRetryInterval() { return this.maxRetryInterval; } /** * Gets the configured overall timeout for retries. * * @return the configured overall timeout for retries */ public Duration getRetryTimeout() { return this.retryTimeout; } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/Task.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import io.dapr.durabletask.interruption.OrchestratorBlockedException; import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; import java.util.function.Function; /** * Represents an asynchronous operation in a durable orchestration. * *

    {@code Task} instances are created by methods on the {@link TaskOrchestrationContext} class, which is available * in {@link TaskOrchestration} implementations. For example, scheduling an activity will return a task.

    *
     * Task{@literal <}int{@literal >} activityTask = ctx.callActivity("MyActivity", someInput, int.class);
     * 
    * *

    Orchestrator code uses the {@link #await()} method to block on the completion of the task and retrieve the result. * If the task is not yet complete, the {@code await()} method will throw an {@link OrchestratorBlockedException}, which * pauses the orchestrator's execution so that it can save its progress into durable storage and schedule any * outstanding work. When the task is complete, the orchestrator will run again from the beginning and the next time * the task's {@code await()} method is called, the result will be returned, or a {@link TaskFailedException} will be * thrown if the result of the task was an unhandled exception.

    * *

    Note that orchestrator code must never catch {@code OrchestratorBlockedException} because doing so can cause the * orchestration instance to get permanently stuck.

    * * @param the return type of the task */ public abstract class Task { final CompletableFuture future; Task(CompletableFuture future) { this.future = future; } /** * Returns {@code true} if completed in any fashion: normally, with an exception, or via cancellation. * * @return {@code true} if completed, otherwise {@code false} */ public boolean isDone() { return this.future.isDone(); } /** * Returns {@code true} if the task was cancelled. * * @return {@code true} if the task was cancelled, otherwise {@code false} */ public boolean isCancelled() { return this.future.isCancelled(); } /** * Blocks the orchestrator until this task to complete, and then returns its result. * * @return the result of the task */ public abstract V await(); /** * Returns a new {@link Task} that, when this Task completes normally, * is executed with this Task's result as the argument to the supplied function. * * @param fn the function to use to compute the value of the returned Task * @param the function's return type * @return the new Task */ public abstract Task thenApply(Function fn); /** * Returns a new {@link Task} that, when this Task completes normally, * is executed with this Task's result as the argument to the supplied action. * * @param fn the function to use to compute the value of the returned Task * @return the new Task */ public abstract Task thenAccept(Consumer fn); } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; /** * Common interface for task activity implementations. * *

    Activities are the basic unit of work in a durable task orchestration. Activities are the tasks that are * orchestrated in the business process. For example, you might create an orchestrator to process an order. The tasks * ay involve checking the inventory, charging the customer, and creating a shipment. Each task would be a separate * activity. These activities may be executed serially, in parallel, or some combination of both.

    * *

    Unlike task orchestrators, activities aren't restricted in the type of work you can do in them. Activity functions * are frequently used to make network calls or run CPU intensive operations. An activity can also return data back to * the orchestrator function. The Durable Task runtime guarantees that each called activity function will be executed * at least once during an orchestration's execution.

    * *

    Because activities only guarantee at least once execution, it's recommended that activity logic be implemented as * idempotent whenever possible.

    * *

    Activities are scheduled by orchestrators using one of the {@link TaskOrchestrationContext#callActivity} method * overloads.

    */ @FunctionalInterface public interface TaskActivity { /** * Executes the activity logic and returns a value which will be serialized and returned to the calling orchestrator. * * @param ctx provides information about the current activity execution, like the activity's name and the input * data provided to it by the orchestrator. * @return any serializable value to be returned to the calling orchestrator. */ Object run(TaskActivityContext ctx); } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskActivityContext.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; /** * Interface that provides {@link TaskActivity} implementations with activity context, such as an activity's name and * its input. */ public interface TaskActivityContext { /** * Gets the name of the current task activity. * * @return the name of the current task activity */ String getName(); /** * Gets the deserialized activity input. * * @param targetType the {@link Class} object associated with {@code T} * @param the target type to deserialize the input into * @return the deserialized activity input value */ T getInput(Class targetType); /** * Gets the execution id of the current task activity. * * @return the execution id of the current task activity */ String getTaskExecutionId(); /** * Gets the task id of the current task activity. * * @return the task id of the current task activity */ int getTaskId(); /** * Gets the trace parent id for the current workflow execution. * @return trace parent id */ String getTraceParent(); } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskActivityExecutor.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import java.util.HashMap; import java.util.logging.Logger; public final class TaskActivityExecutor { private final HashMap activityFactories; private final DataConverter dataConverter; private final Logger logger; /** * Constructor. * * @param activityFactories the activity factories to use for creating activities * @param dataConverter the data converter to use for serializing and deserializing activity inputs and outputs * @param logger the logger to use for logging */ public TaskActivityExecutor( HashMap activityFactories, DataConverter dataConverter, Logger logger) { this.activityFactories = activityFactories; this.dataConverter = dataConverter; this.logger = logger; } /** * Executes an activity task. * * @param taskName the name of the activity task to execute * @param input the serialized input payload for the activity task * @param taskExecutionId Unique ID for the task execution. * @param taskId Auto-incrementing ID for the task. * @param traceParent The traceparent header value. * @return the serialized output payload for the activity task, or null if the activity task returned null. * @throws Throwable if an unhandled exception occurs during activity task execution. */ public String execute(String taskName, String input, String taskExecutionId, int taskId, String traceParent) throws Throwable { TaskActivityFactory factory = this.activityFactories.get(taskName); if (factory == null) { throw new IllegalStateException( String.format("No activity task named '%s' is registered.", taskName)); } TaskActivity activity = factory.create(); if (activity == null) { throw new IllegalStateException( String.format("The task factory '%s' returned a null TaskActivity object.", taskName)); } TaskActivityContextImpl context = new TaskActivityContextImpl( taskName, input, taskExecutionId, taskId, traceParent); // Unhandled exceptions are allowed to escape Object output = activity.run(context); if (output != null) { return this.dataConverter.serialize(output); } return null; } private class TaskActivityContextImpl implements TaskActivityContext { private final String name; private final String rawInput; private final String taskExecutionId; private final int taskId; private final String traceParent; private final DataConverter dataConverter = TaskActivityExecutor.this.dataConverter; public TaskActivityContextImpl(String activityName, String rawInput, String taskExecutionId, int taskId, String traceParent) { this.name = activityName; this.rawInput = rawInput; this.taskExecutionId = taskExecutionId; this.taskId = taskId; this.traceParent = traceParent; } @Override public String getName() { return this.name; } @Override public T getInput(Class targetType) { if (this.rawInput == null) { return null; } return this.dataConverter.deserialize(this.rawInput, targetType); } @Override public String getTaskExecutionId() { return this.taskExecutionId; } @Override public int getTaskId() { return this.taskId; } @Override public String getTraceParent() { return this.traceParent; } } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskActivityFactory.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; /** * Factory interface for producing {@link TaskActivity} implementations. */ public interface TaskActivityFactory { /** * Gets the name of the activity this factory creates. * * @return the name of the activity */ String getName(); /** * Creates a new instance of {@link TaskActivity}. * * @return the created activity instance */ TaskActivity create(); } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskCanceledException.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; //@TODO: This should inherit from Exception, not TaskFailedException /** * Represents a task cancellation, either because of a timeout or because of an explicit cancellation operation. */ public final class TaskCanceledException extends TaskFailedException { // Only intended to be created within this package TaskCanceledException(String message, String taskName, int taskId) { super(message, taskName, taskId, new FailureDetails(TaskCanceledException.class.getName(), message, "", true)); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskFailedException.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; /** * Exception that gets thrown when awaiting a {@link Task} for an activity or sub-orchestration that fails with an * unhandled exception. * *

    Detailed information associated with a particular task failure can be retrieved * using the {@link #getErrorDetails()} method.

    */ public class TaskFailedException extends RuntimeException { private final FailureDetails details; private final String taskName; private final int taskId; TaskFailedException(String taskName, int taskId, FailureDetails details) { this(getExceptionMessage(taskName, taskId, details), taskName, taskId, details); } TaskFailedException(String message, String taskName, int taskId, FailureDetails details) { super(message); this.taskName = taskName; this.taskId = taskId; this.details = details; } /** * Gets the ID of the failed task. * *

    Each durable task (activities, timers, sub-orchestrations, etc.) scheduled by a task orchestrator has an * auto-incrementing ID associated with it. This ID is used to distinguish tasks from one another, even if, for * example, they are tasks that call the same activity. This ID can therefore be used to more easily correlate a * specific task failure to a specific task.

    * * @return the ID of the failed task */ public int getTaskId() { return this.taskId; } /** * Gets the name of the failed task. * * @return the name of the failed task */ public String getTaskName() { return this.taskName; } /** * Gets the details of the task failure, including exception information. * * @return the details of the task failure */ public FailureDetails getErrorDetails() { return this.details; } private static String getExceptionMessage(String taskName, int taskId, FailureDetails details) { return String.format("Task '%s' (#%d) failed with an unhandled exception: %s", taskName, taskId, details.getErrorMessage()); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskOptions.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; /** * Options that can be used to control the behavior of orchestrator and activity task execution. */ public final class TaskOptions { private final RetryPolicy retryPolicy; private final RetryHandler retryHandler; private final String appID; private TaskOptions(RetryPolicy retryPolicy, RetryHandler retryHandler, String appID) { this.retryPolicy = retryPolicy; this.retryHandler = retryHandler; this.appID = appID; } /** * Creates a new builder for {@code TaskOptions}. * * @return a new builder instance */ public static Builder builder() { return new Builder(); } /** * Creates a new {@code TaskOptions} object with default values. * * @return a new TaskOptions instance with no configuration */ public static TaskOptions create() { return new Builder().build(); } /** * Creates a new {@code TaskOptions} object from a {@link RetryPolicy}. * * @param retryPolicy the retry policy to use in the new {@code TaskOptions} object. * @return a new TaskOptions instance with the specified retry policy */ public static TaskOptions withRetryPolicy(RetryPolicy retryPolicy) { return new Builder().retryPolicy(retryPolicy).build(); } /** * Creates a new {@code TaskOptions} object from a {@link RetryHandler}. * * @param retryHandler the retry handler to use in the new {@code TaskOptions} object. * @return a new TaskOptions instance with the specified retry handler */ public static TaskOptions withRetryHandler(RetryHandler retryHandler) { return new Builder().retryHandler(retryHandler).build(); } /** * Creates a new {@code TaskOptions} object with the specified app ID. * * @param appID the app ID to use for cross-app workflow routing * @return a new TaskOptions instance with the specified app ID */ public static TaskOptions withAppID(String appID) { return new Builder().appID(appID).build(); } boolean hasRetryPolicy() { return this.retryPolicy != null; } /** * Gets the configured {@link RetryPolicy} value or {@code null} if none was configured. * * @return the configured retry policy */ public RetryPolicy getRetryPolicy() { return this.retryPolicy; } boolean hasRetryHandler() { return this.retryHandler != null; } /** * Gets the configured {@link RetryHandler} value or {@code null} if none was configured. * * @return the configured retry handler. */ public RetryHandler getRetryHandler() { return this.retryHandler; } /** * Gets the configured app ID value or {@code null} if none was configured. * * @return the configured app ID */ public String getAppID() { return this.appID; } boolean hasAppID() { return this.appID != null && !this.appID.isEmpty(); } /** * Builder for creating {@code TaskOptions} instances. */ public static final class Builder { private RetryPolicy retryPolicy; private RetryHandler retryHandler; private String appID; private Builder() { // Private constructor -enforces using TaskOptions.builder() } /** * Sets the retry policy for the task options. * * @param retryPolicy the retry policy to use * @return this builder instance for method chaining */ public Builder retryPolicy(RetryPolicy retryPolicy) { this.retryPolicy = retryPolicy; return this; } /** * Sets the retry handler for the task options. * * @param retryHandler the retry handler to use * @return this builder instance for method chaining */ public Builder retryHandler(RetryHandler retryHandler) { this.retryHandler = retryHandler; return this; } /** * Sets the app ID for cross-app workflow routing. * * @param appID the app ID to use * @return this builder instance for method chaining */ public Builder appID(String appID) { this.appID = appID; return this; } /** * Builds a new {@code TaskOptions} instance with the configured values. * * @return a new TaskOptions instance */ public TaskOptions build() { return new TaskOptions(this.retryPolicy, this.retryHandler, this.appID); } } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskOrchestration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; /** * Common interface for task orchestrator implementations. * *

    Task orchestrators describe how actions are executed and the order in which actions are executed. Orchestrators * don't call into external services or do complex computation directly. Rather, they delegate these tasks to * activities, which perform the actual work.

    * *

    Orchestrators can be scheduled using the {@link DurableTaskClient#scheduleNewOrchestrationInstance} method * overloads. Orchestrators can also invoke child orchestrators using the * {@link TaskOrchestrationContext#callSubOrchestrator} method overloads.

    * *

    Orchestrators may be replayed multiple times to rebuild their local state after being reloaded into memory. * Orchestrator code must therefore be deterministic to ensure no unexpected side effects from execution * replay. To account for this behavior, there are several coding constraints to be aware of:

    *
      *
    • * An orchestrator must not generate random numbers or random UUIDs, get the current date, read environment * variables, or do anything else that might result in a different value if the code is replayed in the future. * Activities and built-in methods on the {@link TaskOrchestrationContext} parameter, like * {@link TaskOrchestrationContext#getCurrentInstant()}, can be used to work around these restrictions. *
    • *
    • * Orchestrator logic must be executed on the orchestrator thread. Creating new threads or scheduling callbacks * onto background threads is forbidden and may result in failures or other unexpected behavior. *
    • *
    • * Avoid infinite loops as they could cause the application to run out of memory. Instead, ensure that loops are * bounded or use {@link TaskOrchestrationContext#continueAsNew} to restart an orchestrator with a new input. *
    • *
    • * Avoid logging directly in the orchestrator code because log messages will be duplicated on each replay. * Instead, check the value of the {@link TaskOrchestrationContext#getIsReplaying} method and write log messages * only when it is {@code false}. *
    • *
    * *

    Orchestrator code is tightly coupled with its execution history so special care must be taken when making changes * to orchestrator code. For example, adding or removing activity tasks to an orchestrator's code may cause a * mismatch between code and history for in-flight orchestrations. To avoid potential issues related to orchestrator * versioning, consider applying the following strategies:

    *
      *
    • * Deploy multiple versions of applications side-by-side allowing new code to run independently of old code. *
    • *
    • * Rather than changing existing orchestrators, create new orchestrators that implement the modified behavior. *
    • *
    • * Ensure all in-flight orchestrations are complete before applying code changes to existing orchestrator code. *
    • *
    • * If possible, only make changes to orchestrator code that won't impact its history or execution path. For * example, renaming variables or adding log statements have no impact on an orchestrator's execution path and * are safe to apply to existing orchestrations. *
    • *
    */ @FunctionalInterface public interface TaskOrchestration { /** * Executes the orchestrator logic. * * @param ctx provides access to methods for scheduling durable tasks and getting information about the current * orchestration instance. */ void run(TaskOrchestrationContext ctx); } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskOrchestrationContext.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import javax.annotation.Nullable; import java.time.Duration; import java.time.Instant; import java.time.ZonedDateTime; import java.util.Arrays; import java.util.List; import java.util.UUID; /** * Used by orchestrators to perform actions such as scheduling tasks, durable timers, waiting for external events, * and for getting basic information about the current orchestration. */ public interface TaskOrchestrationContext { /** * Gets the name of the current task orchestration. * * @return the name of the current task orchestration */ String getName(); /** * Gets the deserialized input of the current task orchestration. * * @param targetType the {@link Class} object associated with {@code V} * @param the expected type of the orchestrator input * @return the deserialized input as an object of type {@code V} or {@code null} if no input was provided. */ V getInput(Class targetType); /** * Gets the unique ID of the current orchestration instance. * * @return the unique ID of the current orchestration instance */ String getInstanceId(); /** * Gets the app ID of the current orchestration instance, if available. * This is used for cross-app workflow routing. * * @return the app ID of the current orchestration instance, or null if not available */ String getAppId(); /** * Gets the current orchestration time in UTC. * * @return the current orchestration time in UTC */ Instant getCurrentInstant(); /** * Gets a value indicating whether the orchestrator is currently replaying a previous execution. * *

    Orchestrator functions are "replayed" after being unloaded from memory to reconstruct local variable state. * During a replay, previously executed tasks will be completed automatically with previously seen values * that are stored in the orchestration history. One the orchestrator reaches the point in the orchestrator * where it's no longer replaying existing history, this method will return {@code false}.

    * *

    You can use this method if you have logic that needs to run only when not replaying. For example, * certain types of application logging may become too noisy when duplicated as part of replay. The * application code could check to see whether the function is being replayed and then issue the log statements * when this value is {@code false}.

    * * @return {@code true} if the orchestrator is replaying, otherwise {@code false} */ boolean getIsReplaying(); /** * Returns a new {@code Task} that is completed when all tasks in {@code tasks} completes. * See {@link #allOf(Task[])} for more detailed information. * * @param tasks the list of {@code Task} objects * @param the return type of the {@code Task} objects * @return a new {@code Task} that is completed when any of the given {@code Task}s complete * @see #allOf(Task[]) */ Task> allOf(List> tasks); // TODO: Update the description of allOf to be more specific about the exception behavior. // https://github.io.dapr.durabletask-java/issues/54 /** * Returns a new {@code Task} that is completed when all the given {@code Task}s complete. If any of the given * {@code Task}s complete with an exception, the returned {@code Task} will also complete with * an {@link CompositeTaskFailedException} containing details of the first encountered failure. * The value of the returned {@code Task} is an ordered list of * the return values of the given tasks. If no tasks are provided, returns a {@code Task} completed with value * {@code null}. * *

    This method is useful for awaiting the completion of a set of independent tasks before continuing to the next * step in the orchestration, as in the following example:

    *
    {@code
       * Task t1 = ctx.callActivity("MyActivity", String.class);
       * Task t2 = ctx.callActivity("MyActivity", String.class);
       * Task t3 = ctx.callActivity("MyActivity", String.class);
       *
       * List orderedResults = ctx.allOf(t1, t2, t3).await();
       * }
    * *

    Exceptions in any of the given tasks results in an unchecked {@link CompositeTaskFailedException}. * This exception can be inspected to obtain failure details of individual {@link Task}s.

    *
    {@code
       * try {
       *     List orderedResults = ctx.allOf(t1, t2, t3).await();
       * } catch (CompositeTaskFailedException e) {
       *     List exceptions = e.getExceptions()
       * }
       * }
    * * @param tasks the {@code Task}s * @param the return type of the {@code Task} objects * @return the values of the completed {@code Task} objects in the same order as the source list */ default Task> allOf(Task... tasks) { return this.allOf(Arrays.asList(tasks)); } /** * Returns a new {@code Task} that is completed when any of the tasks in {@code tasks} completes. * See {@link #anyOf(Task[])} for more detailed information. * * @param tasks the list of {@code Task} objects * @return a new {@code Task} that is completed when any of the given {@code Task}s complete * @see #anyOf(Task[]) */ Task> anyOf(List> tasks); /** * Returns a new {@code Task} that is completed when any of the given {@code Task}s complete. The value of the * new {@code Task} is a reference to the completed {@code Task} object. If no tasks are provided, returns a * {@code Task} that never completes. * *

    This method is useful for waiting on multiple concurrent tasks and performing a task-specific operation when the * first task completes, as in the following example:

    *
    {@code
       * Task event1 = ctx.waitForExternalEvent("Event1");
       * Task event2 = ctx.waitForExternalEvent("Event2");
       * Task event3 = ctx.waitForExternalEvent("Event3");
       *
       * Task winner = ctx.anyOf(event1, event2, event3).await();
       * if (winner == event1) {
       *     // ...
       * } else if (winner == event2) {
       *     // ...
       * } else if (winner == event3) {
       *     // ...
       * }
       * }
    * *

    The {@code anyOf} method can also be used for implementing long-running timeouts, as in the following example: *

    *
    {@code
       * Task activityTask = ctx.callActivity("SlowActivity");
       * Task timeoutTask = ctx.createTimer(Duration.ofMinutes(30));
       *
       * Task winner = ctx.anyOf(activityTask, timeoutTask).await();
       * if (winner == activityTask) {
       *     // completion case
       * } else {
       *     // timeout case
       * }
       * }
    * * @param tasks the list of {@code Task} objects * @return a new {@code Task} that is completed when any of the given {@code Task}s complete */ default Task> anyOf(Task... tasks) { return this.anyOf(Arrays.asList(tasks)); } /** * Creates a durable timer that expires after the specified delay. * *

    Specifying a long delay (for example, a delay of a few days or more) may result in the creation of multiple, * internally-managed durable timers. The orchestration code doesn't need to be aware of this behavior. However, * it may be visible in framework logs and the stored history state. * * @param name of the timer * @param delay the amount of time before the timer should expire * @return a new {@code Task} that completes after the specified delay */ Task createTimer(String name, Duration delay); /** * Creates a durable timer that expires after the specified delay. * *

    Specifying a long delay (for example, a delay of a few days or more) may result in the creation of multiple, * internally-managed durable timers. The orchestration code doesn't need to be aware of this behavior. However, * it may be visible in framework logs and the stored history state.

    * * @param delay the amount of time before the timer should expire * @return a new {@code Task} that completes after the specified delay */ Task createTimer(Duration delay); /** * Creates a durable timer that expires after the specified timestamp with specific zone. * *

    Specifying a long delay (for example, a delay of a few days or more) may result in the creation of multiple, * internally-managed durable timers. The orchestration code doesn't need to be aware of this behavior. However, * it may be visible in framework logs and the stored history state.

    * * @param zonedDateTime timestamp with specific zone when the timer should expire * @return a new {@code Task} that completes after the specified delay */ Task createTimer(ZonedDateTime zonedDateTime); /** * Creates a durable timer that expires after the specified timestamp with specific zone. * *

    Specifying a long delay (for example, a delay of a few days or more) may result in the creation of multiple, * internally-managed durable timers. The orchestration code doesn't need to be aware of this behavior. However, * it may be visible in framework logs and the stored history state. * * @param name for the timer * @param zonedDateTime timestamp with specific zone when the timer should expire * @return a new {@code Task} that completes after the specified delay */ Task createTimer(String name, ZonedDateTime zonedDateTime); /** * Transitions the orchestration into the {@link OrchestrationRuntimeStatus#COMPLETED} state with the given output. * * @param output the serializable output of the completed orchestration */ void complete(Object output); /** * Asynchronously invokes an activity by name and with the specified input value and returns a new {@link Task} * that completes when the activity completes. If the activity completes successfully, the returned {@code Task}'s * value will be the activity's output. If the activity fails, the returned {@code Task} will complete exceptionally * with a {@link TaskFailedException}. * *

    Activities are the basic unit of work in a durable task orchestration. Unlike orchestrators, which are not * allowed to do any I/O or call non-deterministic APIs, activities have no implementation restrictions.

    * *

    An activity may execute in the local machine or a remote machine. The exact behavior depends on the underlying * storage provider, which is responsible for distributing tasks across machines. In general, you should never make * any assumptions about where an activity will run. You should also assume at-least-once execution guarantees for * activities, meaning that an activity may be executed twice if, for example, there is a process failure before * the activities result is saved into storage.

    * *

    Both the inputs and outputs of activities are serialized and stored in durable storage. It's highly recommended * to not include any sensitive data in activity inputs or outputs. It's also recommended to not use large payloads * for activity inputs and outputs, which can result in expensive serialization and network utilization. For data * that cannot be cheaply or safely persisted to storage, it's recommended to instead pass references * (for example, a URL to a storage blog) to the data and have activities fetch the data directly as part of their * implementation.

    * * @param name the name of the activity to call * @param input the serializable input to pass to the activity * @param options additional options that control the execution and processing of the activity * @param returnType the expected class type of the activity output * @param the expected type of the activity output * @return a new {@link Task} that completes when the activity completes or fails */ Task callActivity(String name, Object input, TaskOptions options, Class returnType); /** * Asynchronously invokes an activity by name and returns a new {@link Task} that completes when the activity * completes. See {@link #callActivity(String, Object, TaskOptions, Class)} for a complete description. * * @param name the name of the activity to call * @return a new {@link Task} that completes when the activity completes or fails * @see #callActivity(String, Object, TaskOptions, Class) */ default Task callActivity(String name) { return this.callActivity(name, Void.class); } /** * Asynchronously invokes an activity by name and with the specified input value and returns a new {@link Task} * that completes when the activity completes. See {@link #callActivity(String, Object, TaskOptions, Class)} for a * complete description. * * @param name the name of the activity to call * @param input the serializable input to pass to the activity * @return a new {@link Task} that completes when the activity completes or fails */ default Task callActivity(String name, Object input) { return this.callActivity(name, input, null, Void.class); } /** * Asynchronously invokes an activity by name and returns a new {@link Task} that completes when the activity * completes. If the activity completes successfully, the returned {@code Task}'s value will be the activity's * output. See {@link #callActivity(String, Object, TaskOptions, Class)} for a complete description. * * @param name the name of the activity to call * @param returnType the expected class type of the activity output * @param the expected type of the activity output * @return a new {@link Task} that completes when the activity completes or fails */ default Task callActivity(String name, Class returnType) { return this.callActivity(name, null, null, returnType); } /** * Asynchronously invokes an activity by name and with the specified input value and returns a new {@link Task} * that completes when the activity completes.If the activity completes successfully, the returned {@code Task}'s * value will be the activity's output. See {@link #callActivity(String, Object, TaskOptions, Class)} for a * complete description. * * @param name the name of the activity to call * @param input the serializable input to pass to the activity * @param returnType the expected class type of the activity output * @param the expected type of the activity output * @return a new {@link Task} that completes when the activity completes or fails */ default Task callActivity(String name, Object input, Class returnType) { return this.callActivity(name, input, null, returnType); } /** * Asynchronously invokes an activity by name and with the specified input value and returns a new {@link Task} * that completes when the activity completes. See {@link #callActivity(String, Object, TaskOptions, Class)} for a * complete description. * * @param name the name of the activity to call * @param input the serializable input to pass to the activity * @param options additional options that control the execution and processing of the activity * @return a new {@link Task} that completes when the activity completes or fails */ default Task callActivity(String name, Object input, TaskOptions options) { return this.callActivity(name, input, options, Void.class); } /** * Restarts the orchestration with a new input and clears its history. See {@link #continueAsNew(Object, boolean)} * for a full description. * * @param input the serializable input data to re-initialize the instance with */ default void continueAsNew(Object input) { this.continueAsNew(input, true); } /** * Restarts the orchestration with a new input and clears its history. * *

    This method is primarily designed for eternal orchestrations, which are orchestrations that * may not ever complete. It works by restarting the orchestration, providing it with a new input, * and truncating the existing orchestration history. It allows an orchestration to continue * running indefinitely without having its history grow unbounded. The benefits of periodically * truncating history include decreased memory usage, decreased storage volumes, and shorter orchestrator * replays when rebuilding state.

    * *

    The results of any incomplete tasks will be discarded when an orchestrator calls {@code continueAsNew}. * For example, if a timer is scheduled and then {@code continueAsNew} is called before the timer fires, the timer * event will be discarded. The only exception to this is external events. By default, if an external event is * received by an orchestration but not yet processed, the event is saved in the orchestration state unit it is * received by a call to {@link #waitForExternalEvent}. These events will remain in memory * even after an orchestrator restarts using {@code continueAsNew}. This behavior can be disabled by specifying * {@code false} for the {@code preserveUnprocessedEvents} parameter value.

    * *

    Orchestrator implementations should complete immediately after calling the{@code continueAsNew} method.

    * * @param input the serializable input data to re-initialize the instance with * @param preserveUnprocessedEvents {@code true} to push unprocessed external events into the new orchestration * history, otherwise {@code false} */ void continueAsNew(Object input, boolean preserveUnprocessedEvents); /** * Check if the given patch name can be applied to the orchestration. * * @param patchName The name of the patch to check. * @return True if the given patch name can be applied to the orchestration, False otherwise. */ boolean isPatched(String patchName); /** * Create a new Uuid that is safe for replay within an orchestration or operation. * *

    The default implementation of this method creates a name-based Uuid * using the algorithm from RFC 4122 §4.3. The name input used to generate * this value is a combination of the orchestration instance ID and an * internally managed sequence number. *

    * * @return a deterministic Uuid */ default UUID newUuid() { throw new RuntimeException("No implementation found."); } /** * Sends an external event to another orchestration instance. * * @param instanceID the unique ID of the receiving orchestration instance. * @param eventName the name of the event to send */ default void sendEvent(String instanceID, String eventName) { this.sendEvent(instanceID, eventName, null); } /** * Sends an external event to another orchestration instance. * * @param instanceId the unique ID of the receiving orchestration instance. * @param eventName the name of the event to send * @param eventData the payload of the event to send */ void sendEvent(String instanceId, String eventName, Object eventData); /** * Asynchronously invokes another orchestrator as a sub-orchestration and returns a {@link Task} that completes * when the sub-orchestration completes. * *

    See {@link #callSubOrchestrator(String, Object, String, TaskOptions, Class)} for a full description.

    * * @param name the name of the orchestrator to invoke * @return a new {@link Task} that completes when the sub-orchestration completes or fails * @see #callSubOrchestrator(String, Object, String, TaskOptions, Class) */ default Task callSubOrchestrator(String name) { return this.callSubOrchestrator(name, null); } /** * Asynchronously invokes another orchestrator as a sub-orchestration and returns a {@link Task} that completes * when the sub-orchestration completes. * *

    See {@link #callSubOrchestrator(String, Object, String, TaskOptions, Class)} for a full description.

    * * @param name the name of the orchestrator to invoke * @param input the serializable input to send to the sub-orchestration * @return a new {@link Task} that completes when the sub-orchestration completes or fails */ default Task callSubOrchestrator(String name, Object input) { return this.callSubOrchestrator(name, input, Void.class); } /** * Asynchronously invokes another orchestrator as a sub-orchestration and returns a {@link Task} that completes * when the sub-orchestration completes. * *

    See {@link #callSubOrchestrator(String, Object, String, TaskOptions, Class)} for a full description.

    * * @param name the name of the orchestrator to invoke * @param input the serializable input to send to the sub-orchestration * @param returnType the expected class type of the sub-orchestration output * @param the expected type of the sub-orchestration output * @return a new {@link Task} that completes when the sub-orchestration completes or fails */ default Task callSubOrchestrator(String name, Object input, Class returnType) { return this.callSubOrchestrator(name, input, null, returnType); } /** * Asynchronously invokes another orchestrator as a sub-orchestration and returns a {@link Task} that completes * when the sub-orchestration completes. * *

    See {@link #callSubOrchestrator(String, Object, String, TaskOptions, Class)} for a full description.

    * * @param name the name of the orchestrator to invoke * @param input the serializable input to send to the sub-orchestration * @param instanceID the unique ID of the sub-orchestration * @param returnType the expected class type of the sub-orchestration output * @param the expected type of the sub-orchestration output * @return a new {@link Task} that completes when the sub-orchestration completes or fails */ default Task callSubOrchestrator(String name, Object input, String instanceID, Class returnType) { return this.callSubOrchestrator(name, input, instanceID, null, returnType); } /** * Asynchronously invokes another orchestrator as a sub-orchestration and returns a {@link Task} that completes * when the sub-orchestration completes. * *

    See {@link #callSubOrchestrator(String, Object, String, TaskOptions, Class)} for a full description.

    * * @param name the name of the orchestrator to invoke * @param input the serializable input to send to the sub-orchestration * @param instanceID the unique ID of the sub-orchestration * @param options additional options that control the execution and processing of the activity * @return a new {@link Task} that completes when the sub-orchestration completes or fails */ default Task callSubOrchestrator(String name, Object input, String instanceID, TaskOptions options) { return this.callSubOrchestrator(name, input, instanceID, options, Void.class); } /** * Asynchronously invokes another orchestrator as a sub-orchestration and returns a {@link Task} that completes * when the sub-orchestration completes. If the sub-orchestration completes successfully, the returned * {@code Task}'s value will be the activity's output. If the sub-orchestration fails, the returned {@code Task} * will complete exceptionally with a {@link TaskFailedException}. * *

    A sub-orchestration has its own instance ID, history, and status that is independent of the parent orchestrator * that started it. There are many advantages to breaking down large orchestrations into sub-orchestrations:

    *
      *
    • * Splitting large orchestrations into a series of smaller sub-orchestrations can make code more maintainable. *
    • *
    • * Distributing orchestration logic across multiple compute nodes concurrently is useful if * orchestration logic otherwise needs to coordinate a lot of tasks. *
    • *
    • * Memory usage and CPU overhead can be reduced by keeping the history of parent orchestrations smaller. *
    • *
    * *

    The disadvantage is that there is overhead associated with starting a sub-orchestration and processing its * output. This is typically only an issue for very small orchestrations.

    * *

    Because sub-orchestrations are independent of their parents, terminating a parent orchestration does not affect * any sub-orchestrations. Sub-orchestrations must be terminated independently using their unique instance ID, * which is specified using the {@code instanceID} parameter.

    * * @param name the name of the orchestrator to invoke * @param input the serializable input to send to the sub-orchestration * @param instanceID the unique ID of the sub-orchestration * @param options additional options that control the execution and processing of the activity * @param returnType the expected class type of the sub-orchestration output * @param the expected type of the sub-orchestration output * @return a new {@link Task} that completes when the sub-orchestration completes or fails */ Task callSubOrchestrator( String name, @Nullable Object input, @Nullable String instanceID, @Nullable TaskOptions options, Class returnType); /** * Waits for an event to be raised named {@code name} and returns a {@link Task} that completes when the event is * received or is canceled when {@code timeout} expires. * *

    External clients can raise events to a waiting orchestration instance using the * {@link DurableTaskClient#raiseEvent} method.

    * *

    If the current orchestration is not yet waiting for an event named {@code name}, then the event will be saved in * the orchestration instance state and dispatched immediately when this method is called. This event saving occurs * even if the current orchestrator cancels the wait operation before the event is received.

    * *

    Orchestrators can wait for the same event name multiple times, so waiting for multiple events with the same name * is allowed. Each external event received by an orchestrator will complete just one task returned by this method. *

    * * @param name the case-insensitive name of the event to wait for * @param timeout the amount of time to wait before canceling the returned {@code Task} * @param dataType the expected class type of the event data payload * @param the expected type of the event data payload * @return a new {@link Task} that completes when the external event is received or when {@code timeout} expires * @throws TaskCanceledException if the specified {@code timeout} value expires before the event is received */ Task waitForExternalEvent(String name, Duration timeout, Class dataType) throws TaskCanceledException; /** * Waits for an event to be raised named {@code name} and returns a {@link Task} that completes when the event is * received or is canceled when {@code timeout} expires. * *

    See {@link #waitForExternalEvent(String, Duration, Class)} for a full description.

    * * @param name the case-insensitive name of the event to wait for * @param timeout the amount of time to wait before canceling the returned {@code Task} * @return a new {@link Task} that completes when the external event is received or when {@code timeout} expires * @throws TaskCanceledException if the specified {@code timeout} value expires before the event is received */ default Task waitForExternalEvent(String name, Duration timeout) throws TaskCanceledException { return this.waitForExternalEvent(name, timeout, Void.class); } /** * Waits for an event to be raised named {@code name} and returns a {@link Task} that completes when the event is * received. * *

    See {@link #waitForExternalEvent(String, Duration, Class)} for a full description.

    * * @param name the case-insensitive name of the event to wait for * @return a new {@link Task} that completes when the external event is received */ default Task waitForExternalEvent(String name) { return this.waitForExternalEvent(name, Void.class); } /** * Waits for an event to be raised named {@code name} and returns a {@link Task} that completes when the event is * received. * *

    See {@link #waitForExternalEvent(String, Duration, Class)} for a full description.

    * * @param name the case-insensitive name of the event to wait for * @param dataType the expected class type of the event data payload * @param the expected type of the event data payload * @return a new {@link Task} that completes when the external event is received */ default Task waitForExternalEvent(String name, Class dataType) { try { return this.waitForExternalEvent(name, null, dataType); } catch (TaskCanceledException e) { // This should never happen because of the max duration throw new RuntimeException("An unexpected exception was throw while waiting for an external event.", e); } } /** * Assigns a custom status value to the current orchestration. * *

    The {@code customStatus} value is serialized and stored in orchestration state and will be made available to the * orchestration status query APIs, such as {@link DurableTaskClient#getInstanceMetadata}. The serialized value * must not exceed 16 KB of UTF-16 encoded text.

    * *

    Use {@link #clearCustomStatus()} to remove the custom status value from the orchestration state.

    * * @param customStatus A serializable value to assign as the custom status value. */ void setCustomStatus(Object customStatus); /** * Clears the orchestration's custom status. */ void clearCustomStatus(); } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskOrchestrationExecutor.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import com.google.protobuf.StringValue; import com.google.protobuf.Timestamp; import io.dapr.durabletask.implementation.protobuf.HistoryEvents; import io.dapr.durabletask.implementation.protobuf.Orchestration; import io.dapr.durabletask.implementation.protobuf.OrchestratorActions; import io.dapr.durabletask.implementation.protobuf.OrchestratorActions.ScheduleTaskAction.Builder; import io.dapr.durabletask.interruption.ContinueAsNewInterruption; import io.dapr.durabletask.interruption.OrchestratorBlockedException; import io.dapr.durabletask.orchestration.TaskOrchestrationFactories; import io.dapr.durabletask.orchestration.TaskOrchestrationFactory; import io.dapr.durabletask.orchestration.exception.VersionNotRegisteredException; import io.dapr.durabletask.util.UuidGenerator; import org.apache.commons.lang3.StringUtils; import javax.annotation.Nullable; import java.time.Duration; import java.time.Instant; import java.time.ZonedDateTime; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Queue; import java.util.Set; import java.util.UUID; import java.util.concurrent.CancellationException; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.IntFunction; import java.util.logging.Logger; public final class TaskOrchestrationExecutor { private static final String EMPTY_STRING = ""; private final TaskOrchestrationFactories orchestrationFactories; private final DataConverter dataConverter; private final Logger logger; private final Duration maximumTimerInterval; private final String appId; /** * Creates a new TaskOrchestrationExecutor. * * @param orchestrationFactories map of orchestration names to their factories * @param dataConverter converter for serializing/deserializing data * @param maximumTimerInterval maximum duration for timer intervals * @param logger logger for orchestration execution * @param appId application ID for cross-app routing */ public TaskOrchestrationExecutor( TaskOrchestrationFactories orchestrationFactories, DataConverter dataConverter, Duration maximumTimerInterval, Logger logger, String appId) { this.orchestrationFactories = orchestrationFactories; this.dataConverter = dataConverter; this.maximumTimerInterval = maximumTimerInterval; this.logger = logger; this.appId = appId; // extracted from router } /** * Executes the orchestration with the given past and new events. * * @param pastEvents list of past history events * @param newEvents list of new history events * @return the result of the orchestrator execution */ public TaskOrchestratorResult execute(List pastEvents, List newEvents) { ContextImplTask context = new ContextImplTask(pastEvents, newEvents); boolean completed = false; try { // Play through the history events until either we've played through everything // or we receive a yield signal while (context.processNextEvent()) { /* no method body */ } completed = true; logger.finest("The orchestrator execution completed normally"); } catch (VersionNotRegisteredException versionNotRegisteredException) { logger.warning("The orchestrator version is not registered: " + versionNotRegisteredException.toString()); context.setVersionNotRegistered(); } catch (OrchestratorBlockedException orchestratorBlockedException) { logger.fine("The orchestrator has yielded and will await for new events."); } catch (ContinueAsNewInterruption continueAsNewInterruption) { logger.fine("The orchestrator has continued as new."); context.complete(null); } catch (Exception e) { // The orchestrator threw an unhandled exception - fail it // TODO: What's the right way to log this? logger.warning("The orchestrator failed with an unhandled exception: " + e); context.fail(new FailureDetails(e)); } if ((context.continuedAsNew && !context.isComplete) || (completed && context.pendingActions.isEmpty() && !context.waitingForEvents())) { // There are no further actions for the orchestrator to take so auto-complete the orchestration. context.complete(null); } return new TaskOrchestratorResult(context.pendingActions.values(), context.getCustomStatus(), context.versionName, context.encounteredPatches); } private class ContextImplTask implements TaskOrchestrationContext { private String orchestratorName; private final List encounteredPatches = new ArrayList<>(); private String rawInput; private String instanceId; private Instant currentInstant; private boolean isComplete; private boolean isSuspended; private boolean isReplaying = true; private int newUuidCounter; private String appId; // LinkedHashMap to maintain insertion order when returning the list of pending actions private final Map pendingActions = new LinkedHashMap<>(); private final Map> openTasks = new HashMap<>(); private final Map>> outstandingEvents = new LinkedHashMap<>(); private final List unprocessedEvents = new LinkedList<>(); private final Queue eventsWhileSuspended = new ArrayDeque<>(); private final DataConverter dataConverter = TaskOrchestrationExecutor.this.dataConverter; private final Duration maximumTimerInterval = TaskOrchestrationExecutor.this.maximumTimerInterval; private final Logger logger = TaskOrchestrationExecutor.this.logger; private final OrchestrationHistoryIterator historyEventPlayer; private int sequenceNumber; private boolean continuedAsNew; private Object continuedAsNewInput; private boolean preserveUnprocessedEvents; private Object customStatus; private final Map appliedPatches = new HashMap<>(); private final Map historyPatches = new HashMap<>(); private String orchestratorVersionName; private String versionName; public ContextImplTask(List pastEvents, List newEvents) { this.historyEventPlayer = new OrchestrationHistoryIterator(pastEvents, newEvents); } @Override public String getName() { // TODO: Throw if name is null return this.orchestratorName; } private void setName(String name) { // TODO: Throw if name is not null this.orchestratorName = name; } private void setInput(String rawInput) { this.rawInput = rawInput; } @Override public T getInput(Class targetType) { if (this.rawInput == null || this.rawInput.length() == 0) { return null; } return this.dataConverter.deserialize(this.rawInput, targetType); } @Override public String getInstanceId() { // TODO: Throw if instance ID is null return this.instanceId; } private void setInstanceId(String instanceId) { // TODO: Throw if instance ID is not null this.instanceId = instanceId; } @Override public String getAppId() { return this.appId; } private void setAppId(String appId) { this.appId = appId; } private boolean hasSourceAppId() { return this.appId != null && !this.appId.isEmpty(); } private boolean hasTargetAppId(TaskOptions options) { return options != null && options.hasAppID(); } @Override public Instant getCurrentInstant() { // TODO: Throw if instant is null return this.currentInstant; } private void setCurrentInstant(Instant instant) { // This will be set multiple times as the orchestration progresses this.currentInstant = instant; } private String getCustomStatus() { return this.customStatus != null ? this.dataConverter.serialize(this.customStatus) : EMPTY_STRING; } @Override public void setCustomStatus(Object customStatus) { this.customStatus = customStatus; } @Override public void clearCustomStatus() { this.setCustomStatus(null); } @Override public boolean getIsReplaying() { return this.isReplaying; } private void setDoneReplaying() { this.isReplaying = false; } public Task completedTask(V value) { CompletableTask task = new CompletableTask<>(); task.complete(value); return task; } @Override public Task> allOf(List> tasks) { Helpers.throwIfArgumentNull(tasks, "tasks"); CompletableFuture[] futures = tasks.stream() .map(t -> t.future) .toArray((IntFunction[]>) CompletableFuture[]::new); Function> resultPath = x -> { List results = new ArrayList<>(futures.length); // All futures are expected to be completed at this point for (CompletableFuture cf : futures) { try { results.add(cf.get()); } catch (Exception ex) { results.add(null); } } return results; }; Function> exceptionPath = throwable -> { ArrayList exceptions = new ArrayList<>(futures.length); for (CompletableFuture cf : futures) { try { cf.get(); } catch (ExecutionException ex) { exceptions.add((Exception) ex.getCause()); } catch (Exception ex) { exceptions.add(ex); } } throw new CompositeTaskFailedException( String.format( "%d out of %d tasks failed with an exception. See the exceptions list for details.", exceptions.size(), futures.length), exceptions); }; CompletableFuture> future = CompletableFuture.allOf(futures) .thenApply(resultPath) .exceptionally(exceptionPath); return new CompoundTask<>(tasks, future); } @Override public Task> anyOf(List> tasks) { Helpers.throwIfArgumentNull(tasks, "tasks"); CompletableFuture[] futures = tasks.stream() .map(t -> t.future) .toArray((IntFunction[]>) CompletableFuture[]::new); CompletableFuture> future = CompletableFuture.anyOf(futures).thenApply(x -> { // Return the first completed task in the list. Unlike the implementation in other languages, // this might not necessarily be the first task that completed, so calling code shouldn't make // assumptions about this. Note that changing this behavior later could be breaking. for (Task task : tasks) { if (task.isDone()) { return task; } } // Should never get here return completedTask(null); }); return new CompoundTask(tasks, future); } @Override public Task callActivity( String name, @Nullable Object input, @Nullable TaskOptions options, Class returnType) { Helpers.throwIfOrchestratorComplete(this.isComplete); Helpers.throwIfArgumentNull(name, "name"); Helpers.throwIfArgumentNull(returnType, "returnType"); if (input instanceof TaskOptions) { throw new IllegalArgumentException("TaskOptions cannot be used as an input. " + "Did you call the wrong method overload?"); } String serializedInput = this.dataConverter.serialize(input); Builder scheduleTaskBuilder = OrchestratorActions.ScheduleTaskAction.newBuilder().setName(name) .setTaskExecutionId(newUuid().toString()); if (serializedInput != null) { scheduleTaskBuilder.setInput(StringValue.of(serializedInput)); } // Add router information for cross-app routing if (hasSourceAppId() && hasTargetAppId(options)) { String targetAppId = options.getAppID(); scheduleTaskBuilder.setRouter(Orchestration.TaskRouter.newBuilder() .setSourceAppID(this.appId) .setTargetAppID(targetAppId) .build()); this.logger.fine(() -> String.format( "cross app routing detected: source=%s, target=%s", this.appId, targetAppId)); } TaskFactory taskFactory = () -> { int id = this.sequenceNumber++; OrchestratorActions.WorkflowAction.Builder actionBuilder = OrchestratorActions.WorkflowAction .newBuilder() .setId(id) .setScheduleTask(scheduleTaskBuilder); if (hasSourceAppId() && hasTargetAppId(options)) { actionBuilder.setRouter(Orchestration.TaskRouter.newBuilder() .setSourceAppID(this.appId) .setTargetAppID(options.getAppID()) .build()); } this.pendingActions.put(id, actionBuilder.build()); if (!this.isReplaying) { this.logger.fine(() -> String.format( "%s: calling activity '%s' (#%d) with serialized input: %s", this.instanceId, name, id, serializedInput != null ? serializedInput : "(null)")); } CompletableTask task = new CompletableTask<>(); TaskRecord record = new TaskRecord<>(task, name, returnType); this.openTasks.put(id, record); return task; }; return this.createAppropriateTask(taskFactory, options); } @Override public boolean isPatched(String patchName) { var isPatched = this.checkPatch(patchName); if (isPatched) { this.encounteredPatches.add(patchName); } return isPatched; } public boolean checkPatch(String patchName) { if (this.appliedPatches.containsKey(patchName)) { return this.appliedPatches.get(patchName); } if (this.historyPatches.containsKey(patchName)) { this.appliedPatches.put(patchName, true); return true; } if (this.isReplaying) { this.appliedPatches.put(patchName, false); return false; } this.appliedPatches.put(patchName, true); return true; } @Override public void continueAsNew(Object input, boolean preserveUnprocessedEvents) { Helpers.throwIfOrchestratorComplete(this.isComplete); this.continuedAsNew = true; this.continuedAsNewInput = input; this.preserveUnprocessedEvents = preserveUnprocessedEvents; // The ContinueAsNewInterruption exception allows the orchestration to complete immediately and return back // to the sidecar. // We can send the current set of actions back to the worker and wait for new events to come in. // This is *not* an exception - it's a normal part of orchestrator control flow. throw new ContinueAsNewInterruption( "The orchestrator invoked continueAsNew. This Throwable should never be caught by user code."); } @Override public UUID newUuid() { final int version = 5; final String hashV5 = "SHA-1"; final String dnsNameSpace = "9e952958-5e33-4daf-827f-2fa12937b875"; final String name = new StringBuilder(this.instanceId) .append("-") .append(this.currentInstant) .append("-") .append(this.newUuidCounter).toString(); this.newUuidCounter++; return UuidGenerator.generate(version, hashV5, UUID.fromString(dnsNameSpace), name); } @Override public void sendEvent(String instanceId, String eventName, Object eventData) { Helpers.throwIfOrchestratorComplete(this.isComplete); Helpers.throwIfArgumentNullOrWhiteSpace(instanceId, "instanceId"); int id = this.sequenceNumber++; String serializedEventData = this.dataConverter.serialize(eventData); Orchestration.WorkflowInstance.Builder orchestrationInstanceBuilder = Orchestration.WorkflowInstance.newBuilder() .setInstanceId(instanceId); OrchestratorActions.SendEventAction.Builder builder = OrchestratorActions .SendEventAction.newBuilder().setInstance(orchestrationInstanceBuilder) .setName(eventName); if (serializedEventData != null) { builder.setData(StringValue.of(serializedEventData)); } OrchestratorActions.WorkflowAction.Builder actionBuilder = OrchestratorActions.WorkflowAction.newBuilder() .setId(id) .setSendEvent(builder); this.pendingActions.put(id, actionBuilder.build()); if (!this.isReplaying) { this.logger.fine(() -> String.format( "%s: sending event '%s' (#%d) with serialized event data: %s", this.instanceId, eventName, id, serializedEventData != null ? serializedEventData : "(null)")); } } @Override public Task callSubOrchestrator( String name, @Nullable Object input, @Nullable String instanceId, @Nullable TaskOptions options, Class returnType) { Helpers.throwIfOrchestratorComplete(this.isComplete); Helpers.throwIfArgumentNull(name, "name"); Helpers.throwIfArgumentNull(returnType, "returnType"); if (input instanceof TaskOptions) { throw new IllegalArgumentException("TaskOptions cannot be used as an input. " + "Did you call the wrong method overload?"); } String serializedInput = this.dataConverter.serialize(input); OrchestratorActions.CreateChildWorkflowAction.Builder createSubOrchestrationActionBuilder = OrchestratorActions.CreateChildWorkflowAction .newBuilder().setName(name); if (serializedInput != null) { createSubOrchestrationActionBuilder.setInput(StringValue.of(serializedInput)); } if (instanceId == null) { instanceId = this.newUuid().toString(); } createSubOrchestrationActionBuilder.setInstanceId(instanceId); // Add router information for cross-app routing of sub-orchestrations if (hasSourceAppId()) { Orchestration.TaskRouter.Builder routerBuilder = Orchestration.TaskRouter.newBuilder() .setSourceAppID(this.appId); // Add target app ID if specified in options if (hasTargetAppId(options)) { routerBuilder.setTargetAppID(options.getAppID()); this.logger.fine(() -> String.format( "cross app sub-orchestration routing detected: source=%s, target=%s", this.appId, options.getAppID())); } createSubOrchestrationActionBuilder.setRouter(routerBuilder.build()); } TaskFactory taskFactory = () -> { int id = this.sequenceNumber++; OrchestratorActions.WorkflowAction.Builder actionBuilder = OrchestratorActions.WorkflowAction .newBuilder() .setId(id) .setCreateChildWorkflow(createSubOrchestrationActionBuilder); // Set router on the OrchestratorAction for cross-app routing if (hasSourceAppId()) { Orchestration.TaskRouter.Builder actionRouterBuilder = Orchestration.TaskRouter.newBuilder() .setSourceAppID(this.appId); if (hasTargetAppId(options)) { actionRouterBuilder.setTargetAppID(options.getAppID()); } actionBuilder.setRouter(actionRouterBuilder.build()); } this.pendingActions.put(id, actionBuilder.build()); if (!this.isReplaying) { this.logger.fine(() -> String.format( "%s: calling sub-orchestration '%s' (#%d) with serialized input: %s", this.instanceId, name, id, serializedInput != null ? serializedInput : "(null)")); } CompletableTask task = new CompletableTask<>(); TaskRecord record = new TaskRecord<>(task, name, returnType); this.openTasks.put(id, record); return task; }; return this.createAppropriateTask(taskFactory, options); } private Task createAppropriateTask(TaskFactory taskFactory, TaskOptions options) { // Retry policies and retry handlers will cause us to return a RetriableTask if (options != null && (options.hasRetryPolicy() || options.hasRetryHandler())) { return new RetriableTask(this, taskFactory, options.getRetryPolicy(), options.getRetryHandler()); } else { // Return a single vanilla task without any wrapper return taskFactory.create(); } } public Task waitForExternalEvent(String name, Duration timeout, Class dataType) { Helpers.throwIfOrchestratorComplete(this.isComplete); Helpers.throwIfArgumentNull(name, "name"); Helpers.throwIfArgumentNull(dataType, "dataType"); int id = this.sequenceNumber++; CompletableTask eventTask = new ExternalEventTask<>(name, id, timeout); // Check for a previously received event with the same name for (HistoryEvents.HistoryEvent e : this.unprocessedEvents) { HistoryEvents.EventRaisedEvent existing = e.getEventRaised(); if (name.equalsIgnoreCase(existing.getName())) { String rawEventData = existing.getInput().getValue(); V data = this.dataConverter.deserialize(rawEventData, dataType); eventTask.complete(data); this.unprocessedEvents.remove(e); return eventTask; } } boolean hasTimeout = !Helpers.isInfiniteTimeout(timeout); // Immediately cancel the task and return if the timeout is zero. if (hasTimeout && timeout.isZero()) { eventTask.cancel(); return eventTask; } // Add this task to the list of tasks waiting for an external event. TaskRecord record = new TaskRecord<>(eventTask, name, dataType); Queue> eventQueue = this.outstandingEvents.computeIfAbsent(name, k -> new LinkedList<>()); eventQueue.add(record); // If a non-infinite timeout is specified, schedule an internal durable timer. // If the timer expires and the external event task hasn't yet completed, we'll cancel the task. if (hasTimeout) { this.createTimer(name, timeout).future.thenRun(() -> { if (!eventTask.isDone()) { // Book-keeping - remove the task record for the canceled task eventQueue.removeIf(t -> t.task == eventTask); if (eventQueue.isEmpty()) { this.outstandingEvents.remove(name); } eventTask.cancel(); } }); } return eventTask; } private void handleTaskScheduled(HistoryEvents.HistoryEvent e) { int taskId = e.getEventId(); HistoryEvents.TaskScheduledEvent taskScheduled = e.getTaskScheduled(); // The history shows that this orchestrator created a durable task in a previous execution. // We can therefore remove it from the map of pending actions. If we can't find the pending // action, then we assume a non-deterministic code violation in the orchestrator. OrchestratorActions.WorkflowAction taskAction = this.pendingActions.remove(taskId); if (taskAction == null) { String message = String.format( "Non-deterministic orchestrator detected: a history event scheduling an activity task with sequence " + "ID %d and name '%s' was replayed but the current orchestrator implementation didn't actually " + "schedule this task. Was a change made to the orchestrator code after this instance " + "had already started running?", taskId, taskScheduled.getName()); throw new NonDeterministicOrchestratorException(message); } } @SuppressWarnings("unchecked") private void handleTaskCompleted(HistoryEvents.HistoryEvent e) { HistoryEvents.TaskCompletedEvent completedEvent = e.getTaskCompleted(); int taskId = completedEvent.getTaskScheduledId(); TaskRecord record = this.openTasks.remove(taskId); if (record == null) { this.logger.warning("Discarding a potentially duplicate TaskCompleted event with ID = " + taskId); return; } String rawResult = completedEvent.getResult().getValue(); if (!this.isReplaying) { // TODO: Structured logging // TODO: Would it make more sense to put this log in the activity executor? this.logger.fine(() -> String.format( "%s: Activity '%s' (#%d) completed with serialized output: %s", this.instanceId, record.getTaskName(), taskId, rawResult != null ? rawResult : "(null)")); } CompletableTask task = record.getTask(); try { Object result = this.dataConverter.deserialize(rawResult, record.getDataType()); task.complete(result); } catch (Exception ex) { task.completeExceptionally(ex); } } private void handleTaskFailed(HistoryEvents.HistoryEvent e) { HistoryEvents.TaskFailedEvent failedEvent = e.getTaskFailed(); int taskId = failedEvent.getTaskScheduledId(); TaskRecord record = this.openTasks.remove(taskId); if (record == null) { // TODO: Log a warning about a potential duplicate task completion event return; } FailureDetails details = new FailureDetails(failedEvent.getFailureDetails()); if (!this.isReplaying) { // TODO: Log task failure, including the number of bytes in the result } CompletableTask task = record.getTask(); TaskFailedException exception = new TaskFailedException( record.taskName, taskId, details); task.completeExceptionally(exception); } @SuppressWarnings("unchecked") private void handleEventRaised(HistoryEvents.HistoryEvent e) { HistoryEvents.EventRaisedEvent eventRaised = e.getEventRaised(); String eventName = eventRaised.getName(); Queue> outstandingEventQueue = this.outstandingEvents.get(eventName); if (outstandingEventQueue == null) { // No code is waiting for this event. Buffer it in case user-code waits for it later. this.unprocessedEvents.add(e); return; } // Signal the first waiter in the queue with this event payload. TaskRecord matchingTaskRecord = outstandingEventQueue.remove(); if (outstandingEventQueue.isEmpty()) { this.outstandingEvents.remove(eventName); } String rawResult = eventRaised.getInput().getValue(); CompletableTask task = matchingTaskRecord.getTask(); try { Object result = this.dataConverter.deserialize( rawResult, matchingTaskRecord.getDataType()); task.complete(result); } catch (Exception ex) { task.completeExceptionally(ex); } } private void handleEventWhileSuspended(HistoryEvents.HistoryEvent historyEvent) { if (historyEvent.getEventTypeCase() != HistoryEvents.HistoryEvent.EventTypeCase.EXECUTIONSUSPENDED) { eventsWhileSuspended.offer(historyEvent); } } private void handleExecutionSuspended(HistoryEvents.HistoryEvent historyEvent) { this.isSuspended = true; } private void handleExecutionResumed(HistoryEvents.HistoryEvent historyEvent) { this.isSuspended = false; while (!eventsWhileSuspended.isEmpty()) { this.processEvent(eventsWhileSuspended.poll()); } } public Task createTimer(Duration duration) { Helpers.throwIfOrchestratorComplete(this.isComplete); Helpers.throwIfArgumentNull(duration, "duration"); Instant finalFireAt = this.currentInstant.plus(duration); return createTimer("", finalFireAt); } @Override public Task createTimer(ZonedDateTime zonedDateTime) { Helpers.throwIfOrchestratorComplete(this.isComplete); Helpers.throwIfArgumentNull(zonedDateTime, "zonedDateTime"); Instant finalFireAt = zonedDateTime.toInstant(); return createTimer("", finalFireAt); } public Task createTimer(String name, Duration duration) { Helpers.throwIfOrchestratorComplete(this.isComplete); Helpers.throwIfArgumentNull(duration, "duration"); Helpers.throwIfArgumentNull(name, "name"); Instant finalFireAt = this.currentInstant.plus(duration); return createTimer(name, finalFireAt); } @Override public Task createTimer(String name, ZonedDateTime zonedDateTime) { Helpers.throwIfOrchestratorComplete(this.isComplete); Helpers.throwIfArgumentNull(zonedDateTime, "zonedDateTime"); Helpers.throwIfArgumentNull(name, "name"); Instant finalFireAt = zonedDateTime.toInstant(); return createTimer(name, finalFireAt); } private Task createTimer(String name, Instant finalFireAt) { return new TimerTask(name, finalFireAt); } private CompletableTask createInstantTimer(String name, int id, Instant fireAt) { Timestamp ts = DataConverter.getTimestampFromInstant(fireAt); this.pendingActions.put(id, OrchestratorActions.WorkflowAction.newBuilder() .setId(id) .setCreateTimer(OrchestratorActions.CreateTimerAction.newBuilder() .setName(name).setFireAt(ts)) .build()); if (!this.isReplaying) { logger.finer(() -> String.format("Creating Instant Timer with id: %s, fireAt: %s ", id, fireAt)); } CompletableTask timerTask = new CompletableTask<>(); TaskRecord record = new TaskRecord<>(timerTask, "(timer)", Void.class); this.openTasks.put(id, record); return timerTask; } private void handleTimerCreated(HistoryEvents.HistoryEvent e) { int timerEventId = e.getEventId(); if (timerEventId == -100) { // Infrastructure timer used by the dispatcher to break transactions into multiple batches return; } HistoryEvents.TimerCreatedEvent timerCreatedEvent = e.getTimerCreated(); // The history shows that this orchestrator created a durable timer in a previous execution. // We can therefore remove it from the map of pending actions. If we can't find the pending // action, then we assume a non-deterministic code violation in the orchestrator. OrchestratorActions.WorkflowAction timerAction = this.pendingActions.remove(timerEventId); if (timerAction == null) { String message = String.format( "Non-deterministic orchestrator detected: a history event creating a timer with ID %d and " + "fire-at time %s was replayed but the current orchestrator implementation didn't actually create " + "this timer. Was a change made to the orchestrator code after this instance " + "had already started running?", timerEventId, DataConverter.getInstantFromTimestamp(timerCreatedEvent.getFireAt())); throw new NonDeterministicOrchestratorException(message); } } public void handleTimerFired(HistoryEvents.HistoryEvent e) { HistoryEvents.TimerFiredEvent timerFiredEvent = e.getTimerFired(); int timerEventId = timerFiredEvent.getTimerId(); TaskRecord record = this.openTasks.remove(timerEventId); if (record == null) { // TODO: Log a warning about a potential duplicate timer fired event return; } if (!this.isReplaying) { this.logger.finer(() -> String.format("Firing timer by completing task: %s expected fire at time: %s", timerEventId, Instant.ofEpochSecond(timerFiredEvent.getFireAt().getSeconds(), timerFiredEvent.getFireAt().getNanos()))); } CompletableTask task = record.getTask(); task.complete(null); } private void handleSubOrchestrationCreated(HistoryEvents.HistoryEvent e) { int taskId = e.getEventId(); HistoryEvents.ChildWorkflowInstanceCreatedEvent subOrchestrationInstanceCreated = e.getChildWorkflowInstanceCreated(); OrchestratorActions.WorkflowAction taskAction = this.pendingActions.remove(taskId); if (taskAction == null) { String message = String.format( "Non-deterministic orchestrator detected: a history event scheduling an sub-orchestration task " + "with sequence ID %d and name '%s' was replayed but the current orchestrator implementation didn't " + "actually schedule this task. Was a change made to the orchestrator code after this instance had " + "already started running?", taskId, subOrchestrationInstanceCreated.getName()); throw new NonDeterministicOrchestratorException(message); } } private void handleSubOrchestrationCompleted(HistoryEvents.HistoryEvent e) { HistoryEvents.ChildWorkflowInstanceCompletedEvent subOrchestrationInstanceCompletedEvent = e.getChildWorkflowInstanceCompleted(); int taskId = subOrchestrationInstanceCompletedEvent.getTaskScheduledId(); TaskRecord record = this.openTasks.remove(taskId); if (record == null) { this.logger.warning("Discarding a potentially duplicate SubOrchestrationInstanceCompleted " + "event with ID = " + taskId); return; } String rawResult = subOrchestrationInstanceCompletedEvent.getResult().getValue(); if (!this.isReplaying) { // TODO: Structured logging // TODO: Would it make more sense to put this log in the activity executor? this.logger.fine(() -> String.format( "%s: Sub-orchestrator '%s' (#%d) completed with serialized output: %s", this.instanceId, record.getTaskName(), taskId, rawResult != null ? rawResult : "(null)")); } CompletableTask task = record.getTask(); try { Object result = this.dataConverter.deserialize(rawResult, record.getDataType()); task.complete(result); } catch (Exception ex) { task.completeExceptionally(ex); } } private void handleSubOrchestrationFailed(HistoryEvents.HistoryEvent e) { HistoryEvents.ChildWorkflowInstanceFailedEvent subOrchestrationInstanceFailedEvent = e.getChildWorkflowInstanceFailed(); int taskId = subOrchestrationInstanceFailedEvent.getTaskScheduledId(); TaskRecord record = this.openTasks.remove(taskId); if (record == null) { // TODO: Log a warning about a potential duplicate task completion event return; } FailureDetails details = new FailureDetails(subOrchestrationInstanceFailedEvent.getFailureDetails()); if (!this.isReplaying) { // TODO: Log task failure, including the number of bytes in the result } CompletableTask task = record.getTask(); TaskFailedException exception = new TaskFailedException( record.taskName, taskId, details); task.completeExceptionally(exception); } private void handleExecutionTerminated(HistoryEvents.HistoryEvent e) { HistoryEvents.ExecutionTerminatedEvent executionTerminatedEvent = e.getExecutionTerminated(); this.completeInternal(executionTerminatedEvent.getInput().getValue(), null, Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_TERMINATED); } @Override public void complete(Object output) { if (this.continuedAsNew) { this.completeInternal(this.continuedAsNewInput, Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_CONTINUED_AS_NEW); } else { this.completeInternal(output, Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_COMPLETED); } } public void fail(FailureDetails failureDetails) { // TODO: How does a parent orchestration use the output to construct an exception? this.completeInternal(null, failureDetails, Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_FAILED); } private void completeInternal(Object output, Orchestration.OrchestrationStatus runtimeStatus) { String resultAsJson = TaskOrchestrationExecutor.this.dataConverter.serialize(output); this.completeInternal(resultAsJson, null, runtimeStatus); } private void completeInternal( @Nullable String rawOutput, @Nullable FailureDetails failureDetails, Orchestration.OrchestrationStatus runtimeStatus) { Helpers.throwIfOrchestratorComplete(this.isComplete); OrchestratorActions.CompleteWorkflowAction.Builder builder = OrchestratorActions.CompleteWorkflowAction .newBuilder(); builder.setWorkflowStatus(runtimeStatus); if (rawOutput != null) { builder.setResult(StringValue.of(rawOutput)); } if (failureDetails != null) { builder.setFailureDetails(failureDetails.toProto()); } if (this.continuedAsNew && this.preserveUnprocessedEvents) { addCarryoverEvents(builder); } if (!this.isReplaying) { // TODO: Log completion, including the number of bytes in the output } int id = this.sequenceNumber++; OrchestratorActions.WorkflowAction.Builder actionBuilder = OrchestratorActions.WorkflowAction .newBuilder() .setId(id) .setCompleteWorkflow(builder.build()); // Add router to completion action for cross-app routing back to parent if (hasSourceAppId()) { actionBuilder.setRouter( Orchestration.TaskRouter.newBuilder() .setSourceAppID(this.appId) .build()); } this.pendingActions.put(id, actionBuilder.build()); this.isComplete = true; } private void addCarryoverEvents(OrchestratorActions.CompleteWorkflowAction.Builder builder) { // Add historyEvent in the unprocessedEvents buffer // Add historyEvent in the new event list that haven't been added to the buffer. // We don't check the event in the pass event list to avoid duplicated events. Set externalEvents = new HashSet<>(this.unprocessedEvents); List newEvents = this.historyEventPlayer.getNewEvents(); int currentHistoryIndex = this.historyEventPlayer.getCurrentHistoryIndex(); // Only add events that haven't been processed to the carryOverEvents // currentHistoryIndex will point to the first unprocessed event for (int i = currentHistoryIndex; i < newEvents.size(); i++) { HistoryEvents.HistoryEvent historyEvent = newEvents.get(i); if (historyEvent.getEventTypeCase() == HistoryEvents.HistoryEvent.EventTypeCase.EVENTRAISED) { externalEvents.add(historyEvent); } } externalEvents.forEach(builder::addCarryoverEvents); } private boolean waitingForEvents() { return this.outstandingEvents.size() > 0; } private boolean processNextEvent() { return this.historyEventPlayer.moveNext(); } private void processEvent(HistoryEvents.HistoryEvent e) { boolean overrideSuspension = e.getEventTypeCase() == HistoryEvents.HistoryEvent.EventTypeCase.EXECUTIONRESUMED || e.getEventTypeCase() == HistoryEvents.HistoryEvent.EventTypeCase.EXECUTIONTERMINATED; if (this.isSuspended && !overrideSuspension) { this.handleEventWhileSuspended(e); } else { this.logger.fine(() -> this.instanceId + ": Processing event: " + e.getEventTypeCase()); switch (e.getEventTypeCase()) { case WORKFLOWSTARTED: Instant instant = DataConverter.getInstantFromTimestamp(e.getTimestamp()); this.setCurrentInstant(instant); if (StringUtils.isNotEmpty(e.getWorkflowStarted().getVersion().getName())) { this.orchestratorVersionName = e.getWorkflowStarted().getVersion().getName(); } for (var patch : e.getWorkflowStarted().getVersion().getPatchesList()) { this.historyPatches.put(patch, true); } this.logger.fine(() -> this.instanceId + ": Workflow orchestrator started"); break; case WORKFLOWCOMPLETED: // No action needed this.logger.fine(() -> this.instanceId + ": Workflow orchestrator completed"); break; case EXECUTIONSTARTED: HistoryEvents.ExecutionStartedEvent executionStarted = e.getExecutionStarted(); this.setName(executionStarted.getName()); this.setInput(executionStarted.getInput().getValue()); this.setInstanceId(executionStarted.getWorkflowInstance().getInstanceId()); this.logger.fine(() -> this.instanceId + ": Workflow execution started"); // For cross-app suborchestrations, if the router has a target, use that as our appID // since that's where we're actually executing if (e.hasRouter()) { Orchestration.TaskRouter router = e.getRouter(); if (router.hasTargetAppID()) { this.setAppId(router.getTargetAppID()); } else { this.setAppId(router.getSourceAppID()); } } var versionName = ""; if (!StringUtils.isEmpty(this.orchestratorVersionName)) { versionName = this.orchestratorVersionName; } // Create and invoke the workflow orchestrator TaskOrchestrationFactory factory = TaskOrchestrationExecutor.this.orchestrationFactories .getOrchestrationFactory(executionStarted.getName(), versionName); if (factory == null) { // Try getting the default orchestrator factory = TaskOrchestrationExecutor.this.orchestrationFactories .getOrchestrationFactory("*"); } // TODO: Throw if the factory is null (orchestration by that name doesn't exist) if (factory == null) { throw new IllegalStateException("No factory found for orchestrator: " + executionStarted.getName()); } this.versionName = factory.getVersionName(); TaskOrchestration orchestrator = factory.create(); orchestrator.run(this); break; case EXECUTIONCOMPLETED: this.logger.fine(() -> this.instanceId + ": Workflow execution completed"); break; case EXECUTIONTERMINATED: this.handleExecutionTerminated(e); break; case EXECUTIONSTALLED: this.logger.fine(() -> this.instanceId + ": Workflow execution stalled"); break; case TASKSCHEDULED: this.handleTaskScheduled(e); break; case TASKCOMPLETED: this.handleTaskCompleted(e); break; case TASKFAILED: this.handleTaskFailed(e); break; case TIMERCREATED: this.handleTimerCreated(e); break; case TIMERFIRED: this.handleTimerFired(e); break; case CHILDWORKFLOWINSTANCECREATED: this.handleSubOrchestrationCreated(e); break; case CHILDWORKFLOWINSTANCECOMPLETED: this.handleSubOrchestrationCompleted(e); break; case CHILDWORKFLOWINSTANCEFAILED: this.handleSubOrchestrationFailed(e); break; case EVENTRAISED: this.handleEventRaised(e); break; case EXECUTIONSUSPENDED: this.handleExecutionSuspended(e); break; case EXECUTIONRESUMED: this.handleExecutionResumed(e); break; default: throw new IllegalStateException("Don't know how to handle history type " + e.getEventTypeCase()); } } } public void setVersionNotRegistered() { this.pendingActions.clear(); OrchestratorActions.CompleteWorkflowAction.Builder builder = OrchestratorActions.CompleteWorkflowAction .newBuilder(); builder.setWorkflowStatus(Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_STALLED); int id = this.sequenceNumber++; OrchestratorActions.WorkflowAction action = OrchestratorActions.WorkflowAction.newBuilder() .setId(id) .setCompleteWorkflow(builder.build()) .build(); this.pendingActions.put(id, action); } private class TaskRecord { private final CompletableTask task; private final String taskName; private final Class dataType; public TaskRecord(CompletableTask task, String taskName, Class dataType) { this.task = task; this.taskName = taskName; this.dataType = dataType; } public CompletableTask getTask() { return this.task; } public String getTaskName() { return this.taskName; } public Class getDataType() { return this.dataType; } } private class OrchestrationHistoryIterator { private final List pastEvents; private final List newEvents; private List currentHistoryList; private int currentHistoryIndex; public OrchestrationHistoryIterator(List pastEvents, List newEvents) { this.pastEvents = pastEvents; this.newEvents = newEvents; this.currentHistoryList = pastEvents; } public boolean moveNext() { if (this.currentHistoryList == pastEvents && this.currentHistoryIndex >= pastEvents.size()) { // Move forward to the next list this.currentHistoryList = this.newEvents; this.currentHistoryIndex = 0; ContextImplTask.this.setDoneReplaying(); } if (this.currentHistoryList == this.newEvents && this.currentHistoryIndex >= this.newEvents.size()) { // We're done enumerating the history return false; } // Process the next event in the history HistoryEvents.HistoryEvent next = this.currentHistoryList.get(this.currentHistoryIndex++); ContextImplTask.this.processEvent(next); return true; } List getNewEvents() { return this.newEvents; } int getCurrentHistoryIndex() { return this.currentHistoryIndex; } } private class TimerTask extends CompletableTask { private Instant finalFireAt; CompletableTask task; public TimerTask(String name, Instant finalFireAt) { super(); CompletableTask firstTimer = createTimerTask(name, finalFireAt); CompletableFuture timerChain = createTimerChain(name, finalFireAt, firstTimer.future); this.task = new CompletableTask<>(timerChain); this.finalFireAt = finalFireAt; } // For a short timer (less than maximumTimerInterval), once the currentFuture completes, // we must have reached finalFireAt, so we return and no more sub-timers are created. For a long timer // (more than maximumTimerInterval), once a given currentFuture completes, we check if we have not yet // reached finalFireAt. If that is the case, we create a new sub-timer task and make a recursive call on // that new sub-timer task so that once it completes, another sub-timer task is created // if necessary. Otherwise, we return and no more sub-timers are created. private CompletableFuture createTimerChain(String name, Instant finalFireAt, CompletableFuture currentFuture) { return currentFuture.thenRun(() -> { Instant currentInstsanceMinusNanos = currentInstant.minusNanos(currentInstant.getNano()); Instant finalFireAtMinusNanos = finalFireAt.minusNanos(finalFireAt.getNano()); if (currentInstsanceMinusNanos.compareTo(finalFireAtMinusNanos) >= 0) { return; } Task nextTimer = createTimerTask(name + "-next", finalFireAt); createTimerChain(name, finalFireAt, nextTimer.future); }); } private CompletableTask createTimerTask(String name, Instant finalFireAt) { CompletableTask nextTimer; Duration remainingTime = Duration.between(currentInstant, finalFireAt); if (remainingTime.compareTo(maximumTimerInterval) > 0) { Instant nextFireAt = currentInstant.plus(maximumTimerInterval); nextTimer = createInstantTimer(name, sequenceNumber++, nextFireAt); } else { nextTimer = createInstantTimer(name, sequenceNumber++, finalFireAt); } nextTimer.setParentTask(this); return nextTimer; } private void handleSubTimerSuccess() { // check if it is the last timer Instant currentInstantMinusNanos = currentInstant.minusNanos(currentInstant.getNano()); Instant finalFireAtMinusNanos = finalFireAt.minusNanos(finalFireAt.getNano()); if (currentInstantMinusNanos.compareTo(finalFireAtMinusNanos) >= 0) { this.complete(null); } } @Override public Void await() { return this.task.await(); } } private class ExternalEventTask extends CompletableTask { private final String eventName; private final Duration timeout; private final int taskId; public ExternalEventTask(String eventName, int taskId, Duration timeout) { this.eventName = eventName; this.taskId = taskId; this.timeout = timeout; } // TODO: Shouldn't this be throws TaskCanceledException? @Override protected void handleException(Throwable e) { // Cancellation is caused by user-specified timeouts if (e instanceof CancellationException) { String message = String.format( "Timeout of %s expired while waiting for an event named '%s' (ID = %d).", this.timeout, this.eventName, this.taskId); throw new TaskCanceledException(message, this.eventName, this.taskId); } super.handleException(e); } } // Task implementation that implements a retry policy private class RetriableTask extends CompletableTask { private final RetryPolicy policy; private final RetryHandler handler; private final TaskOrchestrationContext context; private final Instant firstAttempt; private final TaskFactory taskFactory; private FailureDetails lastFailure; private Duration totalRetryTime; private Instant startTime; private int attemptNumber; private Task childTask; public RetriableTask(TaskOrchestrationContext context, TaskFactory taskFactory, RetryPolicy policy) { this(context, taskFactory, policy, null); } public RetriableTask(TaskOrchestrationContext context, TaskFactory taskFactory, RetryHandler handler) { this(context, taskFactory, null, handler); } private RetriableTask( TaskOrchestrationContext context, TaskFactory taskFactory, @Nullable RetryPolicy retryPolicy, @Nullable RetryHandler retryHandler) { this.context = context; this.taskFactory = taskFactory; this.policy = retryPolicy; this.handler = retryHandler; this.firstAttempt = context.getCurrentInstant(); this.totalRetryTime = Duration.ZERO; this.createChildTask(taskFactory); } // Every RetriableTask will have a CompletableTask as a child task. private void createChildTask(TaskFactory taskFactory) { CompletableTask childTask = (CompletableTask) taskFactory.create(); this.setChildTask(childTask); childTask.setParentTask(this); } public void setChildTask(Task childTask) { this.childTask = childTask; } public Task getChildTask() { return this.childTask; } void handleChildSuccess(V result) { this.complete(result); } void handleChildException(Throwable ex) { tryRetry((TaskFailedException) ex); } void init() { this.startTime = this.startTime == null ? this.context.getCurrentInstant() : this.startTime; this.attemptNumber++; } public void tryRetry(TaskFailedException ex) { this.lastFailure = ex.getErrorDetails(); if (!this.shouldRetry()) { this.completeExceptionally(ex); return; } // Overflow/runaway retry protection if (this.attemptNumber == Integer.MAX_VALUE) { this.completeExceptionally(ex); return; } Duration delay = this.getNextDelay(); if (!delay.isZero() && !delay.isNegative()) { // Use a durable timer to create the delay between retries this.context.createTimer(getName() + "-retry",delay).await(); } this.totalRetryTime = Duration.between(this.startTime, this.context.getCurrentInstant()); this.createChildTask(this.taskFactory); this.await(); } @Override public V await() { this.init(); // when awaiting the first child task, we will continue iterating over the history until a result is found // for that task. If the result is an exception, the child task will invoke "handleChildException" on this // object, which awaits a timer, *re-sets the current child task to correspond to a retry of this task*, // and then awaits that child. // This logic continues until either the operation succeeds, or are our retry quota is met. // At that point, we break the `await()` on the child task. // Therefore, once we return from the following `await`, // we just need to await again on the *current* child task to obtain the result of this task try { this.getChildTask().await(); } catch (OrchestratorBlockedException ex) { throw ex; } catch (Exception ignored) { // ignore the exception from previous child tasks. // Only needs to return result from the last child task, which is on next line. } // Always return the last child task result. return this.getChildTask().await(); } private boolean shouldRetry() { if (this.lastFailure.isNonRetriable()) { logger.warning("Not performing any retries because the error is non retriable"); return false; } if (this.policy == null && this.handler == null) { // We should never get here, but if we do, returning false is the natural behavior. return false; } RetryContext retryContext = new RetryContext( this.context, this.attemptNumber, this.lastFailure, this.totalRetryTime); // These must default to true if not provided, so it is possible to use only one of them at a time boolean shouldRetryBasedOnPolicy = this.policy != null ? this.shouldRetryBasedOnPolicy() : true; boolean shouldRetryBasedOnHandler = this.handler != null ? this.handler.handle(retryContext) : true; // Only log when not replaying, so only the current attempt is logged and not all previous attempts. if (!this.context.getIsReplaying()) { if (this.policy != null) { logger.fine(() -> String.format("shouldRetryBasedOnPolicy: %s", shouldRetryBasedOnPolicy)); } if (this.handler != null) { logger.fine(() -> String.format("shouldRetryBasedOnHandler: %s", shouldRetryBasedOnHandler)); } } return shouldRetryBasedOnPolicy && shouldRetryBasedOnHandler; } private boolean shouldRetryBasedOnPolicy() { // Only log when not replaying, so only the current attempt is logged and not all previous attempts. if (!this.context.getIsReplaying()) { logger.fine(() -> String.format("Retry Policy: %d retries out of total %d performed ", this.attemptNumber, this.policy.getMaxNumberOfAttempts())); } if (this.attemptNumber >= this.policy.getMaxNumberOfAttempts()) { // Max number of attempts exceeded return false; } // Duration.ZERO is interpreted as no maximum timeout Duration retryTimeout = this.policy.getRetryTimeout(); if (retryTimeout.compareTo(Duration.ZERO) > 0) { Instant retryExpiration = this.firstAttempt.plus(retryTimeout); if (this.context.getCurrentInstant().compareTo(retryExpiration) >= 0) { // Max retry timeout exceeded return false; } } // Keep retrying return true; } private Duration getNextDelay() { if (this.policy != null) { long maxDelayInMillis = this.policy.getMaxRetryInterval().toMillis(); long nextDelayInMillis; try { nextDelayInMillis = Math.multiplyExact( this.policy.getFirstRetryInterval().toMillis(), (long) Helpers.powExact(this.policy.getBackoffCoefficient(), this.attemptNumber)); } catch (ArithmeticException overflowException) { if (maxDelayInMillis > 0) { return this.policy.getMaxRetryInterval(); } else { // If no maximum is specified, just throw throw new ArithmeticException("The retry policy calculation resulted in an arithmetic " + "overflow and no max retry interval was configured."); } } // NOTE: A max delay of zero or less is interpreted to mean no max delay if (nextDelayInMillis > maxDelayInMillis && maxDelayInMillis > 0) { return this.policy.getMaxRetryInterval(); } else { return Duration.ofMillis(nextDelayInMillis); } } // If there's no declarative retry policy defined, then the custom code retry handler // is responsible for implementing any delays between retry attempts. return Duration.ZERO; } } private class CompoundTask extends CompletableTask { List> subTasks; CompoundTask(List> subtasks, CompletableFuture future) { super(future); this.subTasks = subtasks; } @Override public U await() { this.initSubTasks(); return super.await(); } private void initSubTasks() { for (Task subTask : this.subTasks) { if (subTask instanceof RetriableTask) { ((RetriableTask) subTask).init(); } } } } private class CompletableTask extends Task { private Task parentTask; public CompletableTask() { this(new CompletableFuture<>()); } CompletableTask(CompletableFuture future) { super(future); } public void setParentTask(Task parentTask) { this.parentTask = parentTask; } public Task getParentTask() { return this.parentTask; } @Override public V await() { do { // If the future is done, return its value right away if (this.future.isDone()) { try { return this.future.get(); } catch (ExecutionException e) { // rethrow if it's ContinueAsNewInterruption if (e.getCause() instanceof ContinueAsNewInterruption) { throw (ContinueAsNewInterruption) e.getCause(); } this.handleException(e.getCause()); } catch (Exception e) { this.handleException(e); } } } while (processNextEvent()); // There's no more history left to replay and the current task is still not completed. This is normal. // The OrchestratorBlockedException exception allows us to yield the current thread back to the executor so // that we can send the current set of actions back to the worker and wait for new events to come in. // This is *not* an exception - it's a normal part of orchestrator control flow. throw new OrchestratorBlockedException( "The orchestrator is blocked and waiting for new inputs. " + "This Throwable should never be caught by user code."); } private boolean processNextEvent() { try { return ContextImplTask.this.processNextEvent(); } catch (OrchestratorBlockedException | ContinueAsNewInterruption exception) { throw exception; } catch (Exception e) { // ignore // // We ignore the exception. Any Durable Task exceptions thrown here can be obtained when calling //{code#future.get()} in the implementation of 'await'. We defer to that loop to handle the exception. // } // Any exception happen we return true so that we will enter to the do-while block for the last time. return true; } @Override public CompletableTask thenApply(Function fn) { CompletableFuture newFuture = this.future.thenApply(fn); return new CompletableTask<>(newFuture); } @Override public Task thenAccept(Consumer fn) { CompletableFuture newFuture = this.future.thenAccept(fn); return new CompletableTask<>(newFuture); } protected void handleException(Throwable e) { if (e instanceof TaskFailedException) { throw (TaskFailedException) e; } if (e instanceof CompositeTaskFailedException) { throw (CompositeTaskFailedException) e; } if (e instanceof DataConverter.DataConverterException) { throw (DataConverter.DataConverterException) e; } throw new RuntimeException("Unexpected failure in the task execution", e); } @Override public boolean isDone() { return this.future.isDone(); } public boolean complete(V value) { Task parentTask = this.getParentTask(); boolean result = this.future.complete(value); if (parentTask instanceof RetriableTask) { // notify parent task ((RetriableTask) parentTask).handleChildSuccess(value); } if (parentTask instanceof TimerTask) { // notify parent task ((TimerTask) parentTask).handleSubTimerSuccess(); } return result; } private boolean cancel() { return this.future.cancel(true); } public boolean completeExceptionally(Throwable ex) { Task parentTask = this.getParentTask(); boolean result = this.future.completeExceptionally(ex); if (parentTask instanceof RetriableTask) { // notify parent task ((RetriableTask) parentTask).handleChildException(ex); } return result; } } } @FunctionalInterface private interface TaskFactory { Task create(); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskOrchestratorResult.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import io.dapr.durabletask.implementation.protobuf.OrchestratorActions; import java.util.Collection; import java.util.Collections; import java.util.List; public final class TaskOrchestratorResult { private final Collection actions; private final String customStatus; private final String version; private final List patches; /** * Constructor. * * @param actions the actions to take * @param customStatus the custom status to return * @param version the orchestrator version * @param patches the patches to apply */ public TaskOrchestratorResult(Collection actions, String customStatus, String version, List patches) { this.actions = Collections.unmodifiableCollection(actions); this.customStatus = customStatus; this.version = version; this.patches = patches; } public Collection getActions() { return this.actions; } public String getCustomStatus() { return this.customStatus; } public String getVersion() { return version; } public List getPatches() { return patches; } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/interruption/ContinueAsNewInterruption.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask.interruption; import io.dapr.durabletask.TaskOrchestrationContext; /** * Control flow {@code Throwable} class for orchestrator when invoke {@link TaskOrchestrationContext#continueAsNew}. * This {@code Throwable} must never be caught by user * code. * *

    {@code ContinueAsNewInterruption} is thrown when an orchestrator calls * {@link TaskOrchestrationContext#continueAsNew}. * Catching {@code ContinueAsNewInterruption} in user code could prevent the orchestration from saving * state and scheduling new tasks, resulting in the orchestration getting stuck.

    */ public class ContinueAsNewInterruption extends RuntimeException { public ContinueAsNewInterruption(String message) { super(message); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/interruption/OrchestratorBlockedException.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask.interruption; import io.dapr.durabletask.Task; /** * Control flow {@code Throwable} class for orchestrator functions. This {@code Throwable} must never be caught by user * code. * *

    {@code OrchestratorBlockedException} is thrown when an orchestrator calls {@link Task#await} on an uncompleted * task. The purpose of throwing in this way is to halt execution of the orchestrator to save the current state and * commit any side effects. Catching {@code OrchestratorBlockedException} in user code could prevent the orchestration * from saving state and scheduling new tasks, resulting in the orchestration getting stuck.

    */ public final class OrchestratorBlockedException extends RuntimeException { public OrchestratorBlockedException(String message) { super(message); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/orchestration/TaskOrchestrationFactories.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask.orchestration; import io.dapr.durabletask.orchestration.exception.VersionNotRegisteredException; import java.util.HashMap; import java.util.logging.Logger; public class TaskOrchestrationFactories { private static final Logger logger = Logger.getLogger(TaskOrchestrationFactories.class.getPackage().getName()); final HashMap orchestrationFactories = new HashMap<>(); final HashMap> versionedOrchestrationFactories = new HashMap<>(); final HashMap latestVersionOrchestrationFactories = new HashMap<>(); /** * Adds a new orchestration factory to the registry. * * @param factory the factory to add */ public void addOrchestration(TaskOrchestrationFactory factory) { String key = factory.getName(); if (this.emptyString(key)) { throw new IllegalArgumentException("A non-empty task orchestration name is required."); } if (this.orchestrationFactories.containsKey(key)) { throw new IllegalArgumentException( String.format("A task orchestration factory named %s is already registered.", key)); } if (emptyString(factory.getVersionName())) { this.orchestrationFactories.put(key, factory); return; } if (!this.versionedOrchestrationFactories.containsKey(key)) { this.versionedOrchestrationFactories.put(key, new HashMap<>()); } if (this.versionedOrchestrationFactories.get(key).containsKey(factory.getVersionName())) { throw new IllegalArgumentException("The version name " + factory.getVersionName() + "for " + factory.getName() + " is already registered."); } this.versionedOrchestrationFactories.get(key).put(factory.getVersionName(), factory); if (factory.isLatestVersion()) { logger.info("Setting1 latest version for " + key + " to " + factory.getVersionName()); if (this.latestVersionOrchestrationFactories.containsKey(key)) { throw new IllegalStateException("Latest version already set for " + key); } this.latestVersionOrchestrationFactories.put(key, factory.getVersionName()); } } /** * Gets the orchestration factory for the specified orchestration name. * * @param orchestrationName the orchestration name * @return the orchestration factory */ public TaskOrchestrationFactory getOrchestrationFactory(String orchestrationName) { logger.info("Get orchestration factory for " + orchestrationName); if (this.orchestrationFactories.containsKey(orchestrationName)) { return this.orchestrationFactories.get(orchestrationName); } return this.getOrchestrationFactory(orchestrationName, ""); } /** * Gets the orchestration factory for the specified orchestration name and version. * * @param orchestrationName the orchestration name * @param versionName the version name * @return the orchestration factory */ public TaskOrchestrationFactory getOrchestrationFactory(String orchestrationName, String versionName) { logger.info("Get orchestration factory for " + orchestrationName + " version " + versionName); if (this.orchestrationFactories.containsKey(orchestrationName)) { return this.orchestrationFactories.get(orchestrationName); } if (!this.versionedOrchestrationFactories.containsKey(orchestrationName)) { logger.warning("No orchestration factory registered for " + orchestrationName); return null; } if (this.emptyString(versionName)) { logger.info("No version specified, returning latest version"); String latestVersion = this.latestVersionOrchestrationFactories.get(orchestrationName); logger.info("Latest version is " + latestVersion); return this.versionedOrchestrationFactories.get(orchestrationName).get(latestVersion); } if (this.versionedOrchestrationFactories.get(orchestrationName).containsKey(versionName)) { return this.versionedOrchestrationFactories.get(orchestrationName).get(versionName); } throw new VersionNotRegisteredException(); } private boolean emptyString(String s) { return s == null || s.isEmpty(); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/orchestration/TaskOrchestrationFactory.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask.orchestration; import io.dapr.durabletask.TaskOrchestration; /** * Factory interface for producing {@link TaskOrchestration} implementations. */ public interface TaskOrchestrationFactory { /** * Gets the name of the orchestration this factory creates. * * @return the name of the orchestration */ String getName(); /** * Creates a new instance of {@link TaskOrchestration}. * * @return the created orchestration instance */ TaskOrchestration create(); String getVersionName(); Boolean isLatestVersion(); } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/orchestration/exception/VersionNotRegisteredException.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask.orchestration.exception; public class VersionNotRegisteredException extends RuntimeException { } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/runner/ActivityRunner.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask.runner; import com.google.protobuf.StringValue; import io.dapr.durabletask.FailureDetails; import io.dapr.durabletask.TaskActivityExecutor; import io.dapr.durabletask.implementation.protobuf.Orchestration; import io.dapr.durabletask.implementation.protobuf.OrchestratorService; import io.dapr.durabletask.implementation.protobuf.TaskHubSidecarServiceGrpc; import io.grpc.StatusRuntimeException; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.api.trace.StatusCode; import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; import io.opentelemetry.context.propagation.TextMapGetter; import javax.annotation.Nullable; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; public class ActivityRunner extends DurableRunner { private static final Logger logger = Logger.getLogger(ActivityRunner.class.getPackage().getName()); private final OrchestratorService.ActivityRequest activityRequest; private final TaskActivityExecutor taskActivityExecutor; /** * Constructor. * *

    This class executes the activity requests

    * * @param workItem work item to be executed * @param taskActivityExecutor executor for the activity * @param sidecarClient sidecar client to communicate with the sidecar * @param tracer tracer to be used for tracing */ public ActivityRunner( OrchestratorService.WorkItem workItem, TaskActivityExecutor taskActivityExecutor, TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub sidecarClient, @Nullable Tracer tracer) { super(workItem, sidecarClient, tracer); this.activityRequest = workItem.getActivityRequest(); this.taskActivityExecutor = taskActivityExecutor; } @Override public void run() { if (tracer != null) { runWithTracing(); } else { runWithoutTracing(); } } private void runWithTracing() { Context parentContext = extractTraceContext(); Span span = tracer.spanBuilder("activity:" + activityRequest.getName()) .setParent(parentContext) .setSpanKind(SpanKind.INTERNAL) .setAttribute("durabletask.task.instance_id", activityRequest.getWorkflowInstance().getInstanceId()) .setAttribute("durabletask.task.id", activityRequest.getTaskId()) .setAttribute("durabletask.activity.name", activityRequest.getName()) .startSpan(); try (Scope scope = span.makeCurrent()) { executeActivity(); } catch (Throwable e) { logger.log(Level.WARNING, "Failed to complete activity task.", e); span.setStatus(StatusCode.ERROR, "Failed to complete activity task"); span.recordException(e); } finally { span.end(); } } private void runWithoutTracing() { try { executeActivity(); } catch (Throwable e) { logger.log(Level.WARNING, "Failed to complete activity task.", e); } } private void executeActivity() throws Throwable { String output = null; Orchestration.TaskFailureDetails failureDetails = null; Throwable failureException = null; try { output = taskActivityExecutor.execute( activityRequest.getName(), activityRequest.getInput().getValue(), activityRequest.getTaskExecutionId(), activityRequest.getTaskId(), activityRequest.getParentTraceContext().getTraceParent()); } catch (Throwable e) { failureDetails = Orchestration.TaskFailureDetails.newBuilder() .setErrorType(e.getClass().getName()) .setErrorMessage(e.getMessage()) .setStackTrace(StringValue.of(FailureDetails.getFullStackTrace(e))) .build(); failureException = e; } OrchestratorService.ActivityResponse.Builder responseBuilder = OrchestratorService.ActivityResponse .newBuilder() .setInstanceId(activityRequest.getWorkflowInstance().getInstanceId()) .setTaskId(activityRequest.getTaskId()) .setCompletionToken(workItem.getCompletionToken()); if (output != null) { responseBuilder.setResult(StringValue.of(output)); } if (failureDetails != null) { responseBuilder.setFailureDetails(failureDetails); } try { this.sidecarClient.completeActivityTask(responseBuilder.build()); } catch (StatusRuntimeException e) { logException(e); throw e; } if (failureException != null) { throw failureException; } } private Context extractTraceContext() { if (!activityRequest.hasParentTraceContext()) { return Context.current(); } Orchestration.TraceContext traceContext = activityRequest.getParentTraceContext(); String traceParent = traceContext.getTraceParent(); if (traceParent.isEmpty()) { return Context.current(); } Map carrier = new HashMap<>(); carrier.put("traceparent", traceParent); if (traceContext.hasTraceState()) { carrier.put("tracestate", traceContext.getTraceState().getValue()); } TextMapGetter> getter = new TextMapGetter<>() { @Override public Iterable keys(Map carrier) { return carrier.keySet(); } @Override public String get(Map carrier, String key) { return carrier.get(key); } }; return W3CTraceContextPropagator.getInstance() .extract(Context.current(), carrier, getter); } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/runner/DurableRunner.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask.runner; import io.dapr.durabletask.implementation.protobuf.OrchestratorService; import io.dapr.durabletask.implementation.protobuf.TaskHubSidecarServiceGrpc; import io.grpc.Status; import io.grpc.StatusRuntimeException; import io.opentelemetry.api.trace.Tracer; import javax.annotation.Nullable; import java.util.logging.Level; import java.util.logging.Logger; public abstract class DurableRunner implements Runnable { private static final Logger logger = Logger.getLogger(DurableRunner.class.getPackage().getName()); public final TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub sidecarClient; public final OrchestratorService.WorkItem workItem; @Nullable public final Tracer tracer; /** * Constructs a new instance of the DurableRunner. * * @param workItem the work item to be executed * @param sidecarClient the sidecar client used to communicate with the durable task sidecar * @param tracer the tracer used for tracing operations; can be null if tracing is not required */ public DurableRunner(OrchestratorService.WorkItem workItem, TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub sidecarClient, @Nullable Tracer tracer) { this.workItem = workItem; this.sidecarClient = sidecarClient; this.tracer = tracer; } protected String getSidecarAddress() { return this.sidecarClient.getChannel().authority(); } protected void logException(StatusRuntimeException e) { if (e.getStatus().getCode() == Status.Code.UNAVAILABLE) { logger.log(Level.WARNING, "The sidecar at address {0} is unavailable while completing the activity task.", this.sidecarClient.getChannel().authority()); } else if (e.getStatus().getCode() == Status.Code.CANCELLED) { logger.log(Level.WARNING, "Durable Task worker has disconnected from {0} while completing the activity task.", this.sidecarClient.getChannel().authority()); } else { logger.log(Level.WARNING, "Unexpected failure completing the activity task at {0}.", this.sidecarClient.getChannel().authority()); } } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/runner/OrchestratorRunner.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask.runner; import com.google.protobuf.StringValue; import io.dapr.durabletask.TaskOrchestrationExecutor; import io.dapr.durabletask.TaskOrchestratorResult; import io.dapr.durabletask.implementation.protobuf.Orchestration; import io.dapr.durabletask.implementation.protobuf.OrchestratorService; import io.dapr.durabletask.implementation.protobuf.TaskHubSidecarServiceGrpc; import io.grpc.StatusRuntimeException; import io.opentelemetry.api.trace.Tracer; import org.apache.commons.lang3.StringUtils; import javax.annotation.Nullable; import java.util.logging.Level; import java.util.logging.Logger; public class OrchestratorRunner extends DurableRunner { private static final Logger logger = Logger.getLogger(OrchestratorRunner.class.getPackage().getName()); private final OrchestratorService.WorkflowRequest orchestratorRequest; private final TaskOrchestrationExecutor taskOrchestrationExecutor; /** * Constructs a new instance of the OrchestratorRunner class. * * @param workItem The work item containing details about the orchestrator task to be executed. * @param taskOrchestrationExecutor The executor responsible for running task orchestration logic. * @param sidecarClient The gRPC stub for communication with the Task Hub sidecar service. * @param tracer An optional tracer used for distributed tracing, can be null. */ public OrchestratorRunner( OrchestratorService.WorkItem workItem, TaskOrchestrationExecutor taskOrchestrationExecutor, TaskHubSidecarServiceGrpc.TaskHubSidecarServiceBlockingStub sidecarClient, @Nullable Tracer tracer) { super(workItem, sidecarClient, tracer); this.orchestratorRequest = workItem.getWorkflowRequest(); this.taskOrchestrationExecutor = taskOrchestrationExecutor; } @Override public void run() { TaskOrchestratorResult taskOrchestratorResult = taskOrchestrationExecutor.execute( orchestratorRequest.getPastEventsList(), orchestratorRequest.getNewEventsList()); var versionBuilder = Orchestration.WorkflowVersion.newBuilder(); if (StringUtils.isNotEmpty(taskOrchestratorResult.getVersion())) { versionBuilder.setName(taskOrchestratorResult.getVersion()); } if (taskOrchestratorResult.getPatches() != null) { versionBuilder.addAllPatches(taskOrchestratorResult.getPatches()); } OrchestratorService.WorkflowResponse response = OrchestratorService.WorkflowResponse.newBuilder() .setInstanceId(orchestratorRequest.getInstanceId()) .addAllActions(taskOrchestratorResult.getActions()) .setCustomStatus(StringValue.of(taskOrchestratorResult.getCustomStatus())) .setCompletionToken(workItem.getCompletionToken()) .setVersion(versionBuilder) .build(); try { this.sidecarClient.completeOrchestratorTask(response); logger.log(Level.FINEST, "Completed orchestrator request for instance: {0}", orchestratorRequest.getInstanceId()); } catch (StatusRuntimeException e) { this.logException(e); } } } ================================================ FILE: durabletask-client/src/main/java/io/dapr/durabletask/util/UuidGenerator.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask.util; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.UUID; /** * Utility class for generating UUIDs. * */ public class UuidGenerator { /** * Generates a UUID. * @param version for the UUID generation * @param algorithm to be used * @param namespace for the UUID generation * @param name for the UUID generation * @return the generated UUID */ public static UUID generate(int version, String algorithm, UUID namespace, String name) { MessageDigest hasher = hasher(algorithm); if (namespace != null) { ByteBuffer ns = ByteBuffer.allocate(16); ns.putLong(namespace.getMostSignificantBits()); ns.putLong(namespace.getLeastSignificantBits()); hasher.update(ns.array()); } hasher.update(name.getBytes(StandardCharsets.UTF_8)); ByteBuffer hash = ByteBuffer.wrap(hasher.digest()); final long msb = (hash.getLong() & 0xffffffffffff0fffL) | (version & 0x0f) << 12; final long lsb = (hash.getLong() & 0x3fffffffffffffffL) | 0x8000000000000000L; return new UUID(msb, lsb); } private static MessageDigest hasher(String algorithm) { try { return MessageDigest.getInstance(algorithm); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(String.format("%s not supported.", algorithm)); } } } ================================================ FILE: durabletask-client/src/test/java/io/dapr/durabletask/DurableTaskClientIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import java.io.IOException; import java.time.Duration; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReferenceArray; import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; /** * These integration tests are designed to exercise the core, high-level features of * the Durable Task programming model. *

    * These tests currently require a sidecar process to be * running on the local machine (the sidecar is what accepts the client operations and * sends invocation instructions to the DurableTaskWorker). */ @Tag("integration") public class DurableTaskClientIT extends IntegrationTestBase { static final Duration defaultTimeout = Duration.ofSeconds(100); // All tests that create a server should save it to this variable for proper shutdown private DurableTaskGrpcWorker server; @Test void emptyOrchestration() throws TimeoutException { final String orchestratorName = "EmptyOrchestration"; final String input = "Hello " + Instant.now(); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> ctx.complete(ctx.getInput(String.class))) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, input); OrchestrationMetadata instance = client.waitForInstanceCompletion( instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertEquals(input, instance.readInputAs(String.class)); assertEquals(input, instance.readOutputAs(String.class)); } } @Test void singleTimer() throws IOException, TimeoutException { final String orchestratorName = "SingleTimer"; final Duration delay = Duration.ofSeconds(3); AtomicReferenceArray timestamps = new AtomicReferenceArray<>(2); AtomicInteger counter = new AtomicInteger(); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { timestamps.set(counter.get(), LocalDateTime.now()); counter.incrementAndGet(); ctx.createTimer(delay).await(); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); Duration timeout = delay.plus(defaultTimeout); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, timeout, false); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); // Verify that the delay actually happened long expectedCompletionSecond = instance.getCreatedAt().plus(delay).getEpochSecond(); long actualCompletionSecond = instance.getLastUpdatedAt().getEpochSecond(); assertTrue(expectedCompletionSecond <= actualCompletionSecond); // Verify that the correct number of timers were created // This should yield 2 (first invocation + replay invocations for internal timers) assertEquals(2, counter.get()); // Verify that each timer is the expected length long[] millisElapsed = new long[1]; for (int i = 0; i < timestamps.length() - 1; i++) { millisElapsed[i] = Duration.between(timestamps.get(i), timestamps.get(i + 1)).toMillis(); } assertEquals(3000, millisElapsed[0], 50); } } @Test void loopWithTimer() throws IOException, TimeoutException { final String orchestratorName = "LoopWithTimer"; final Duration delay = Duration.ofSeconds(2); AtomicReferenceArray timestamps = new AtomicReferenceArray<>(4); AtomicInteger counter = new AtomicInteger(); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { for (int i = 0; i < 3; i++) { if (!ctx.getIsReplaying()) { timestamps.set(counter.get(), LocalDateTime.now()); counter.incrementAndGet(); } ctx.createTimer(delay).await(); } }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); Duration timeout = delay.plus(defaultTimeout); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, timeout, false); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); // Verify that the delay actually happened long expectedCompletionSecond = instance.getCreatedAt().plus(delay).getEpochSecond(); long actualCompletionSecond = instance.getLastUpdatedAt().getEpochSecond(); assertTrue(expectedCompletionSecond <= actualCompletionSecond); // Verify that the correct number of timers were created assertEquals(3, counter.get()); // Verify that each timer is the expected length long[] millisElapsed = new long[timestamps.length()]; for (int i = 0; i < timestamps.length() - 1; i++) { if (timestamps.get(i + 1) != null && timestamps.get(i) != null) { millisElapsed[i] = Duration.between(timestamps.get(i), timestamps.get(i + 1)).toMillis(); } else { millisElapsed[i] = -1; } } assertEquals(2000, millisElapsed[0], 50); assertEquals(2000, millisElapsed[1], 50); assertEquals(-1, millisElapsed[2]); } } @Test void loopWithWaitForEvent() throws IOException, TimeoutException { final String orchestratorName = "LoopWithTimer"; final Duration delay = Duration.ofSeconds(2); AtomicReferenceArray timestamps = new AtomicReferenceArray<>(4); AtomicInteger counter = new AtomicInteger(); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { for (int i = 0; i < 4; i++) { try { ctx.waitForExternalEvent("HELLO", delay).await(); } catch (TaskCanceledException tce) { if (!ctx.getIsReplaying()) { timestamps.set(counter.get(), LocalDateTime.now()); counter.incrementAndGet(); } } } }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); Duration timeout = delay.plus(defaultTimeout); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, timeout, false); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); // Verify that the delay actually happened long expectedCompletionSecond = instance.getCreatedAt().plus(delay).getEpochSecond(); long actualCompletionSecond = instance.getLastUpdatedAt().getEpochSecond(); assertTrue(expectedCompletionSecond <= actualCompletionSecond); // Verify that the correct number of timers were created assertEquals(4, counter.get()); // Verify that each timer is the expected length long[] millisElapsed = new long[timestamps.length()]; for (int i = 0; i < timestamps.length() - 1; i++) { if (timestamps.get(i + 1) != null && timestamps.get(i) != null) { millisElapsed[i] = java.time.Duration.between(timestamps.get(i), timestamps.get(i + 1)).toMillis(); } else { millisElapsed[i] = -1; } } assertEquals(2000, millisElapsed[0], 50); assertEquals(2000, millisElapsed[1], 50); assertEquals(2000, millisElapsed[2], 50); assertEquals(0, millisElapsed[3]); } } @Test void longTimer() throws TimeoutException { final String orchestratorName = "LongTimer"; final Duration delay = Duration.ofSeconds(7); AtomicInteger counter = new AtomicInteger(); AtomicReferenceArray timestamps = new AtomicReferenceArray<>(4); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { timestamps.set(counter.get(), LocalDateTime.now()); counter.incrementAndGet(); ctx.createTimer(delay).await(); }) .setMaximumTimerInterval(Duration.ofSeconds(3)) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); Duration timeout = delay.plus(defaultTimeout); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, timeout, false); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus(), String.format("Orchestration failed with error: %s", instance.getFailureDetails().getErrorMessage())); // Verify that the delay actually happened long expectedCompletionSecond = instance.getCreatedAt().plus(delay).getEpochSecond(); long actualCompletionSecond = instance.getLastUpdatedAt().getEpochSecond(); assertTrue(expectedCompletionSecond <= actualCompletionSecond); // Verify that the correct number of timers were created // This should yield 4 (first invocation + replay invocations for internal timers 3s + 3s + 1s) assertEquals(4, counter.get()); // Verify that each timer is the expected length long[] millisElapsed = new long[3]; for (int i = 0; i < timestamps.length() - 1; i++) { millisElapsed[i] = Duration.between(timestamps.get(i), timestamps.get(i + 1)).toMillis(); } assertEquals(3000, millisElapsed[0], 50); assertEquals(3000, millisElapsed[1], 50); assertEquals(1000, millisElapsed[2], 50); } } @Test void longTimerNonblocking() throws TimeoutException { final String orchestratorName = "ActivityAnyOf"; final String externalEventActivityName = "externalEvent"; final String externalEventWinner = "The external event completed first"; final String timerEventWinner = "The timer event completed first"; final Duration timerDuration = Duration.ofSeconds(20); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { Task externalEvent = ctx.waitForExternalEvent(externalEventActivityName, String.class); Task longTimer = ctx.createTimer(timerDuration); Task winnerEvent = ctx.anyOf(externalEvent, longTimer).await(); if (winnerEvent == externalEvent) { ctx.complete(externalEventWinner); } else { ctx.complete(timerEventWinner); } }).setMaximumTimerInterval(Duration.ofSeconds(3)).buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); client.raiseEvent(instanceId, externalEventActivityName, "Hello world"); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); String output = instance.readOutputAs(String.class); assertNotNull(output); assertTrue(output.equals(externalEventWinner)); long createdTime = instance.getCreatedAt().getEpochSecond(); long completedTime = instance.getLastUpdatedAt().getEpochSecond(); // Timer did not block execution assertTrue(completedTime - createdTime < 5); } } @Test void longTimerNonblockingNoExternal() throws TimeoutException { final String orchestratorName = "ActivityAnyOf"; final String externalEventActivityName = "externalEvent"; final String externalEventWinner = "The external event completed first"; final String timerEventWinner = "The timer event completed first"; final Duration timerDuration = Duration.ofSeconds(20); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { Task externalEvent = ctx.waitForExternalEvent(externalEventActivityName, String.class); Task longTimer = ctx.createTimer(timerDuration); Task winnerEvent = ctx.anyOf(externalEvent, longTimer).await(); if (winnerEvent == externalEvent) { ctx.complete(externalEventWinner); } else { ctx.complete(timerEventWinner); } }).setMaximumTimerInterval(Duration.ofSeconds(3)).buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); String output = instance.readOutputAs(String.class); assertNotNull(output); assertTrue(output.equals(timerEventWinner)); long expectedCompletionSecond = instance.getCreatedAt().plus(timerDuration).getEpochSecond(); long actualCompletionSecond = instance.getLastUpdatedAt().getEpochSecond(); assertTrue(expectedCompletionSecond <= actualCompletionSecond); } } @Test void longTimeStampTimer() throws TimeoutException { final String orchestratorName = "LongTimeStampTimer"; final Duration delay = Duration.ofSeconds(7); final ZonedDateTime zonedDateTime = ZonedDateTime.of(LocalDateTime.now().plusSeconds(delay.getSeconds()), ZoneId.systemDefault()); AtomicInteger counter = new AtomicInteger(); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { counter.incrementAndGet(); ctx.createTimer(zonedDateTime).await(); }) .setMaximumTimerInterval(Duration.ofSeconds(3)) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); Duration timeout = delay.plus(defaultTimeout); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, timeout, false); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); // Verify that the delay actually happened long expectedCompletionSecond = zonedDateTime.toInstant().getEpochSecond(); long actualCompletionSecond = instance.getLastUpdatedAt().getEpochSecond(); assertTrue(expectedCompletionSecond <= actualCompletionSecond); // Verify that the correct number of timers were created // This should yield 4 (first invocation + replay invocations for internal timers 3s + 3s + 2s) // The timer can be created at 7s or 8s as clock is not precise, so we need to allow for that assertTrue(counter.get() >= 4 && counter.get() <= 5); } } @Test void singleTimeStampTimer() throws IOException, TimeoutException { final String orchestratorName = "SingleTimeStampTimer"; final Duration delay = Duration.ofSeconds(3); final ZonedDateTime zonedDateTime = ZonedDateTime.of(LocalDateTime.now().plusSeconds(delay.getSeconds()), ZoneId.systemDefault()); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> ctx.createTimer(zonedDateTime).await()) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); Duration timeout = delay.plus(defaultTimeout); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, timeout, false); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); // Verify that the delay actually happened long expectedCompletionSecond = zonedDateTime.toInstant().getEpochSecond(); long actualCompletionSecond = instance.getLastUpdatedAt().getEpochSecond(); assertTrue(expectedCompletionSecond <= actualCompletionSecond); } } @Test void singleTimeStampCreateTimer() throws IOException, TimeoutException { final String orchestratorName = "SingleTimeStampTimer"; final Duration delay = Duration.ofSeconds(3); final ZonedDateTime zonedDateTime = ZonedDateTime.of(LocalDateTime.now().plusSeconds(delay.getSeconds()), ZoneId.systemDefault()); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> ctx.createTimer(zonedDateTime).await()) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); Duration timeout = delay.plus(defaultTimeout); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, timeout, false); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); // Verify that the delay actually happened long expectedCompletionSecond = zonedDateTime.toInstant().getEpochSecond(); long actualCompletionSecond = instance.getLastUpdatedAt().getEpochSecond(); assertTrue(expectedCompletionSecond <= actualCompletionSecond); } } @Test void isReplaying() throws IOException, InterruptedException, TimeoutException { final String orchestratorName = "SingleTimer"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { ArrayList list = new ArrayList(); list.add(ctx.getIsReplaying()); ctx.createTimer(Duration.ofSeconds(0)).await(); list.add(ctx.getIsReplaying()); ctx.createTimer(Duration.ofSeconds(0)).await(); list.add(ctx.getIsReplaying()); ctx.complete(list); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); OrchestrationMetadata instance = client.waitForInstanceCompletion( instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); // Verify that the orchestrator reported the correct isReplaying values. // Note that only the values of the *final* replay are returned. List results = instance.readOutputAs(List.class); assertEquals(3, results.size()); assertTrue((Boolean) results.get(0)); assertTrue((Boolean) results.get(1)); assertFalse((Boolean) results.get(2)); } } @Test void singleActivity() throws IOException, InterruptedException, TimeoutException { final String orchestratorName = "SingleActivity"; final String activityName = "Echo"; final String input = Instant.now().toString(); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { String activityInput = ctx.getInput(String.class); String output = ctx.callActivity(activityName, activityInput, String.class).await(); ctx.complete(output); }) .addActivity(activityName, ctx -> { return String.format("Hello, %s!", ctx.getInput(String.class)); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, input); OrchestrationMetadata instance = client.waitForInstanceCompletion( instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); String output = instance.readOutputAs(String.class); String expected = String.format("Hello, %s!", input); assertEquals(expected, output); } } @Test void currentDateTimeUtc() throws IOException, TimeoutException { final String orchestratorName = "CurrentDateTimeUtc"; final String echoActivityName = "Echo"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { Instant currentInstant1 = ctx.getCurrentInstant(); Instant originalInstant1 = ctx.callActivity(echoActivityName, currentInstant1, Instant.class).await(); if (!currentInstant1.equals(originalInstant1)) { ctx.complete(false); return; } Instant currentInstant2 = ctx.getCurrentInstant(); Instant originalInstant2 = ctx.callActivity(echoActivityName, currentInstant2, Instant.class).await(); if (!currentInstant2.equals(originalInstant2)) { ctx.complete(false); return; } ctx.complete(!currentInstant1.equals(currentInstant2)); }) .addActivity(echoActivityName, ctx -> { // Return the input back to the caller, regardless of its type return ctx.getInput(Object.class); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertTrue(instance.readOutputAs(boolean.class)); } } @Test void activityChain() throws IOException, TimeoutException { final String orchestratorName = "ActivityChain"; final String plusOneActivityName = "PlusOne"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { int value = ctx.getInput(int.class); for (int i = 0; i < 10; i++) { value = ctx.callActivity(plusOneActivityName, i, int.class).await(); } ctx.complete(value); }) .addActivity(plusOneActivityName, ctx -> ctx.getInput(int.class) + 1) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertEquals(10, instance.readOutputAs(int.class)); } } @Test void subOrchestration() throws TimeoutException { final String orchestratorName = "SubOrchestration"; DurableTaskGrpcWorker worker = this.createWorkerBuilder().addOrchestrator(orchestratorName, ctx -> { int result = 5; int input = ctx.getInput(int.class); if (input < 3) { result += ctx.callSubOrchestrator(orchestratorName, input + 1, int.class).await(); } ctx.complete(result); }).buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 1); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertEquals(15, instance.readOutputAs(int.class)); } } @Test void subOrchestrationWithActivity() throws TimeoutException { final String parentOrchestratorName = "ParentOrchestrator"; final String childOrchestratorName = "ChildOrchestrator"; final String activityName = "PlusOne"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(parentOrchestratorName, ctx -> { int input = ctx.getInput(int.class); int childResult = ctx.callSubOrchestrator(childOrchestratorName, input, int.class).await(); ctx.complete(childResult); }) .addOrchestrator(childOrchestratorName, ctx -> { int input = ctx.getInput(int.class); int result = ctx.callActivity(activityName, input, int.class).await(); ctx.complete(result); }) .addActivity(activityName, ctx -> ctx.getInput(int.class) + 1) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(parentOrchestratorName, 10); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertEquals(11, instance.readOutputAs(int.class)); } } @Test void subOrchestrationChain() throws TimeoutException { final String orchestratorName = "ChainOrchestrator"; final String leafOrchestratorName = "LeafOrchestrator"; final String activityName = "Double"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { int input = ctx.getInput(int.class); // Chain: parent calls child which calls leaf int result = ctx.callSubOrchestrator(leafOrchestratorName, input, int.class).await(); // Call activity after sub-orchestration completes result = ctx.callActivity(activityName, result, int.class).await(); ctx.complete(result); }) .addOrchestrator(leafOrchestratorName, ctx -> { int input = ctx.getInput(int.class); int result = ctx.callActivity(activityName, input, int.class).await(); ctx.complete(result); }) .addActivity(activityName, ctx -> ctx.getInput(int.class) * 2) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { // input=3 -> leaf doubles to 6 -> parent doubles to 12 String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 3); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertEquals(12, instance.readOutputAs(int.class)); } } @Test void subOrchestrationFanOut() throws TimeoutException { final String parentOrchestratorName = "FanOutParent"; final String childOrchestratorName = "FanOutChild"; final String activityName = "Square"; final int childCount = 5; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(parentOrchestratorName, ctx -> { // Fan out: launch multiple sub-orchestrations in parallel List> tasks = IntStream.range(1, childCount + 1) .mapToObj(i -> ctx.callSubOrchestrator(childOrchestratorName, i, int.class)) .collect(Collectors.toList()); List results = ctx.allOf(tasks).await(); int sum = results.stream().mapToInt(Integer::intValue).sum(); ctx.complete(sum); }) .addOrchestrator(childOrchestratorName, ctx -> { int input = ctx.getInput(int.class); int result = ctx.callActivity(activityName, input, int.class).await(); ctx.complete(result); }) .addActivity(activityName, ctx -> { int val = ctx.getInput(int.class); return val * val; }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(parentOrchestratorName, 0); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); // 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 1 + 4 + 9 + 16 + 25 = 55 assertEquals(55, instance.readOutputAs(int.class)); } } @Test void subOrchestrationWithInstanceId() throws TimeoutException { final String parentOrchestratorName = "ParentWithInstanceId"; final String childOrchestratorName = "ChildWithInstanceId"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(parentOrchestratorName, ctx -> { String childInstanceId = ctx.getInstanceId() + ":child"; String result = ctx.callSubOrchestrator( childOrchestratorName, "hello", childInstanceId, String.class).await(); ctx.complete(result); }) .addOrchestrator(childOrchestratorName, ctx -> { String input = ctx.getInput(String.class); ctx.complete(input + " world"); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(parentOrchestratorName, "test"); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertEquals("hello world", instance.readOutputAs(String.class)); } } @Test void continueAsNew() throws TimeoutException { final String orchestratorName = "continueAsNew"; final Duration delay = Duration.ofSeconds(0); DurableTaskGrpcWorker worker = this.createWorkerBuilder().addOrchestrator(orchestratorName, ctx -> { int input = ctx.getInput(int.class); if (input < 10) { ctx.createTimer(delay).await(); ctx.continueAsNew(input + 1); } else { ctx.complete(input); } }).buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 1); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertEquals(10, instance.readOutputAs(int.class)); } } @Test void continueAsNewWithExternalEvents() throws TimeoutException, InterruptedException { final String orchestratorName = "continueAsNewWithExternalEvents"; final String eventName = "MyEvent"; final int expectedEventCount = 10; final Duration delay = Duration.ofSeconds(0); DurableTaskGrpcWorker worker = this.createWorkerBuilder().addOrchestrator(orchestratorName, ctx -> { int receivedEventCount = ctx.getInput(int.class); if (receivedEventCount < expectedEventCount) { ctx.waitForExternalEvent(eventName, int.class).await(); ctx.continueAsNew(receivedEventCount + 1, true); } else { ctx.complete(receivedEventCount); } }).buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); for (int i = 0; i < expectedEventCount; i++) { client.raiseEvent(instanceId, eventName, i); } OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertEquals(expectedEventCount, instance.readOutputAs(int.class)); } } @Test void termination() throws TimeoutException { final String orchestratorName = "Termination"; final Duration delay = Duration.ofSeconds(3); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> ctx.createTimer(delay).await()) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); String expectOutput = "I'll be back."; client.terminate(instanceId, expectOutput); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(instanceId, instance.getInstanceId()); assertEquals(OrchestrationRuntimeStatus.TERMINATED, instance.getRuntimeStatus()); assertEquals(expectOutput, instance.readOutputAs(String.class)); } } @ParameterizedTest @ValueSource(booleans = {true}) void restartOrchestrationWithNewInstanceId(boolean restartWithNewInstanceId) throws TimeoutException { final String orchestratorName = "restart"; final Duration delay = Duration.ofSeconds(3); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> ctx.createTimer(delay).await()) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, "RestartTest"); client.waitForInstanceCompletion(instanceId, defaultTimeout, true); String newInstanceId = client.restartInstance(instanceId, restartWithNewInstanceId); OrchestrationMetadata instance = client.waitForInstanceCompletion(newInstanceId, defaultTimeout, true); if (restartWithNewInstanceId) { assertNotEquals(instanceId, newInstanceId); } else { assertEquals(instanceId, newInstanceId); } assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertEquals("\"RestartTest\"", instance.getSerializedInput()); } } @Test void restartOrchestrationThrowsException() { final String orchestratorName = "restart"; final Duration delay = Duration.ofSeconds(3); final String nonExistentId = "123"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> ctx.createTimer(delay).await()) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { client.scheduleNewOrchestrationInstance(orchestratorName, "RestartTest"); assertThrows( IllegalArgumentException.class, () -> client.restartInstance(nonExistentId, true) ); } } @Test @Disabled("Test is disabled for investigation, fixing the test retry pattern exposed the failure") void suspendResumeOrchestration() throws TimeoutException, InterruptedException { final String orchestratorName = "suspend"; final String eventName = "MyEvent"; final String eventPayload = "testPayload"; final Duration suspendTimeout = Duration.ofSeconds(5); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { String payload = ctx.waitForExternalEvent(eventName, String.class).await(); ctx.complete(payload); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); client.suspendInstance(instanceId); OrchestrationMetadata instance = client.waitForInstanceStart(instanceId, defaultTimeout); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.SUSPENDED, instance.getRuntimeStatus()); client.raiseEvent(instanceId, eventName, eventPayload); assertThrows( TimeoutException.class, () -> client.waitForInstanceCompletion(instanceId, suspendTimeout, false), "Expected to throw TimeoutException, but it didn't" ); String resumeReason = "Resume for testing."; client.resumeInstance(instanceId, resumeReason); instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(instanceId, instance.getInstanceId()); assertEquals(eventPayload, instance.readOutputAs(String.class)); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); } } @Test @Disabled("Test is disabled for investigation)") void terminateSuspendOrchestration() throws TimeoutException, InterruptedException { final String orchestratorName = "suspendResume"; final String eventName = "MyEvent"; final String eventPayload = "testPayload"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { String payload = ctx.waitForExternalEvent(eventName, String.class).await(); ctx.complete(payload); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); String suspendReason = "Suspend for testing."; client.suspendInstance(instanceId, suspendReason); client.terminate(instanceId, null); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, false); assertNotNull(instance); assertEquals(instanceId, instance.getInstanceId()); assertEquals(OrchestrationRuntimeStatus.TERMINATED, instance.getRuntimeStatus()); } } @Test void activityFanOut() throws IOException, TimeoutException { final String orchestratorName = "ActivityFanOut"; final String activityName = "ToString"; final int activityCount = 10; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { // Schedule each task to run in parallel List> parallelTasks = IntStream.range(0, activityCount) .mapToObj(i -> ctx.callActivity(activityName, i, String.class)) .collect(Collectors.toList()); // Wait for all tasks to complete, then sort and reverse the results List results = ctx.allOf(parallelTasks).await(); Collections.sort(results); Collections.reverse(results); ctx.complete(results); }) .addActivity(activityName, ctx -> ctx.getInput(Object.class).toString()) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); List output = instance.readOutputAs(List.class); assertNotNull(output); assertEquals(activityCount, output.size()); assertEquals(String.class, output.get(0).getClass()); // Expected: ["9", "8", "7", "6", "5", "4", "3", "2", "1", "0"] for (int i = 0; i < activityCount; i++) { String expected = String.valueOf(activityCount - i - 1); assertEquals(expected, output.get(i).toString()); } } } @Test void externalEvents() throws IOException, TimeoutException { final String orchestratorName = "ExternalEvents"; final String eventName = "MyEvent"; final int eventCount = 10; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { int i; for (i = 0; i < eventCount; i++) { // block until the event is received int payload = ctx.waitForExternalEvent(eventName, int.class).await(); if (payload != i) { ctx.complete(-1); return; } } ctx.complete(i); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); for (int i = 0; i < eventCount; i++) { client.raiseEvent(instanceId, eventName, i); } OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); int output = instance.readOutputAs(int.class); assertEquals(eventCount, output); } } @ParameterizedTest @ValueSource(booleans = {true, false}) void externalEventsWithTimeouts(boolean raiseEvent) throws IOException, TimeoutException { final String orchestratorName = "ExternalEventsWithTimeouts"; final String eventName = "MyEvent"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { try { ctx.waitForExternalEvent(eventName, Duration.ofSeconds(3)).await(); ctx.complete("received"); } catch (TaskCanceledException e) { ctx.complete(e.getMessage()); } }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); client.waitForInstanceStart(instanceId, defaultTimeout); if (raiseEvent) { client.raiseEvent(instanceId, eventName); } OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); String output = instance.readOutputAs(String.class); if (raiseEvent) { assertEquals("received", output); } else { assertEquals("Timeout of PT3S expired while waiting for an event named '" + eventName + "' (ID = 0).", output); } } } @Test void setCustomStatus() throws TimeoutException { final String orchestratorName = "SetCustomStatus"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { ctx.setCustomStatus("Started!"); Object customStatus = ctx.waitForExternalEvent("StatusEvent", Object.class).await(); ctx.setCustomStatus(customStatus); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); OrchestrationMetadata metadata = client.waitForInstanceStart(instanceId, defaultTimeout, true); assertNotNull(metadata); assertEquals("Started!", metadata.readCustomStatusAs(String.class)); Map payload = new HashMap() {{ put("Hello", 45); }}; client.raiseEvent(metadata.getInstanceId(), "StatusEvent", payload); metadata = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(metadata); assertEquals(OrchestrationRuntimeStatus.COMPLETED, metadata.getRuntimeStatus()); assertTrue(metadata.isCustomStatusFetched()); assertEquals(payload, metadata.readCustomStatusAs(HashMap.class)); } } @Test void clearCustomStatus() throws TimeoutException { final String orchestratorName = "ClearCustomStatus"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { ctx.setCustomStatus("Started!"); ctx.waitForExternalEvent("StatusEvent").await(); ctx.clearCustomStatus(); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); OrchestrationMetadata metadata = client.waitForInstanceStart(instanceId, defaultTimeout, true); assertNotNull(metadata); assertEquals("Started!", metadata.readCustomStatusAs(String.class)); client.raiseEvent(metadata.getInstanceId(), "StatusEvent"); metadata = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(metadata); assertEquals(OrchestrationRuntimeStatus.COMPLETED, metadata.getRuntimeStatus()); assertFalse(metadata.isCustomStatusFetched()); } } @Test void purgeInstanceId() throws TimeoutException { final String orchestratorName = "PurgeInstance"; final String plusOneActivityName = "PlusOne"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { int value = ctx.getInput(int.class); value = ctx.callActivity(plusOneActivityName, value, int.class).await(); ctx.complete(value); }) .addActivity(plusOneActivityName, ctx -> ctx.getInput(int.class) + 1) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); OrchestrationMetadata metadata = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(metadata); assertEquals(OrchestrationRuntimeStatus.COMPLETED, metadata.getRuntimeStatus()); assertEquals(1, metadata.readOutputAs(int.class)); PurgeResult result = client.purgeInstance(instanceId); assertEquals(1, result.getDeletedInstanceCount()); metadata = client.getInstanceMetadata(instanceId, true); assertFalse(metadata.isInstanceFound()); } } @Test @Disabled("Test is disabled as is not supported by the sidecar") void purgeInstanceFilter() throws TimeoutException { final String orchestratorName = "PurgeInstance"; final String plusOne = "PlusOne"; final String plusTwo = "PlusTwo"; final String terminate = "Termination"; final Duration delay = Duration.ofSeconds(1); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { int value = ctx.getInput(int.class); value = ctx.callActivity(plusOne, value, int.class).await(); ctx.complete(value); }) .addActivity(plusOne, ctx -> ctx.getInput(int.class) + 1) .addOrchestrator(plusOne, ctx -> { int value = ctx.getInput(int.class); value = ctx.callActivity(plusOne, value, int.class).await(); ctx.complete(value); }) .addOrchestrator(plusTwo, ctx -> { int value = ctx.getInput(int.class); value = ctx.callActivity(plusTwo, value, int.class).await(); ctx.complete(value); }) .addActivity(plusTwo, ctx -> ctx.getInput(int.class) + 2) .addOrchestrator(terminate, ctx -> ctx.createTimer(delay).await()) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { Instant startTime = Instant.now(); String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); OrchestrationMetadata metadata = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(metadata); assertEquals(OrchestrationRuntimeStatus.COMPLETED, metadata.getRuntimeStatus()); assertEquals(1, metadata.readOutputAs(int.class)); // Test CreatedTimeFrom PurgeInstanceCriteria criteria = new PurgeInstanceCriteria(); criteria.setCreatedTimeFrom(startTime.minus(Duration.ofSeconds(1))); PurgeResult result = client.purgeInstances(criteria); assertEquals(1, result.getDeletedInstanceCount()); metadata = client.getInstanceMetadata(instanceId, true); assertFalse(metadata.isInstanceFound()); // Test CreatedTimeTo criteria.setCreatedTimeTo(Instant.now()); result = client.purgeInstances(criteria); assertEquals(0, result.getDeletedInstanceCount()); metadata = client.getInstanceMetadata(instanceId, true); assertFalse(metadata.isInstanceFound()); // Test CreatedTimeFrom, CreatedTimeTo, and RuntimeStatus String instanceId1 = client.scheduleNewOrchestrationInstance(plusOne, 0); metadata = client.waitForInstanceCompletion(instanceId1, defaultTimeout, true); assertNotNull(metadata); assertEquals(OrchestrationRuntimeStatus.COMPLETED, metadata.getRuntimeStatus()); assertEquals(1, metadata.readOutputAs(int.class)); String instanceId2 = client.scheduleNewOrchestrationInstance(plusTwo, 10); metadata = client.waitForInstanceCompletion(instanceId2, defaultTimeout, true); assertNotNull(metadata); assertEquals(OrchestrationRuntimeStatus.COMPLETED, metadata.getRuntimeStatus()); assertEquals(12, metadata.readOutputAs(int.class)); String instanceId3 = client.scheduleNewOrchestrationInstance(terminate); client.terminate(instanceId3, terminate); metadata = client.waitForInstanceCompletion(instanceId3, defaultTimeout, true); assertNotNull(metadata); assertEquals(OrchestrationRuntimeStatus.TERMINATED, metadata.getRuntimeStatus()); assertEquals(terminate, metadata.readOutputAs(String.class)); HashSet runtimeStatusFilters = Stream.of( OrchestrationRuntimeStatus.TERMINATED, OrchestrationRuntimeStatus.COMPLETED ).collect(Collectors.toCollection(HashSet::new)); criteria.setCreatedTimeTo(Instant.now()); criteria.setRuntimeStatusList(new ArrayList<>(runtimeStatusFilters)); result = client.purgeInstances(criteria); assertEquals(3, result.getDeletedInstanceCount()); metadata = client.getInstanceMetadata(instanceId1, true); assertFalse(metadata.isInstanceFound()); metadata = client.getInstanceMetadata(instanceId2, true); assertFalse(metadata.isInstanceFound()); metadata = client.getInstanceMetadata(instanceId3, true); assertFalse(metadata.isInstanceFound()); } } @Test void purgeInstanceFilterTimeout() throws TimeoutException { final String orchestratorName = "PurgeInstance"; final String plusOne = "PlusOne"; final String plusTwo = "PlusTwo"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { int value = ctx.getInput(int.class); value = ctx.callActivity(plusOne, value, int.class).await(); ctx.complete(value); }) .addActivity(plusOne, ctx -> ctx.getInput(int.class) + 1) .addOrchestrator(plusOne, ctx -> { int value = ctx.getInput(int.class); value = ctx.callActivity(plusOne, value, int.class).await(); ctx.complete(value); }) .addOrchestrator(plusTwo, ctx -> { int value = ctx.getInput(int.class); value = ctx.callActivity(plusTwo, value, int.class).await(); ctx.complete(value); }) .addActivity(plusTwo, ctx -> ctx.getInput(int.class) + 2) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { Instant startTime = Instant.now(); String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); OrchestrationMetadata metadata = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(metadata); assertEquals(OrchestrationRuntimeStatus.COMPLETED, metadata.getRuntimeStatus()); assertEquals(1, metadata.readOutputAs(int.class)); String instanceId1 = client.scheduleNewOrchestrationInstance(plusOne, 0); metadata = client.waitForInstanceCompletion(instanceId1, defaultTimeout, true); assertNotNull(metadata); assertEquals(OrchestrationRuntimeStatus.COMPLETED, metadata.getRuntimeStatus()); assertEquals(1, metadata.readOutputAs(int.class)); String instanceId2 = client.scheduleNewOrchestrationInstance(plusTwo, 10); metadata = client.waitForInstanceCompletion(instanceId2, defaultTimeout, true); assertNotNull(metadata); assertEquals(OrchestrationRuntimeStatus.COMPLETED, metadata.getRuntimeStatus()); assertEquals(12, metadata.readOutputAs(int.class)); PurgeInstanceCriteria criteria = new PurgeInstanceCriteria(); criteria.setCreatedTimeFrom(startTime); criteria.setTimeout(Duration.ofNanos(1)); assertThrows(TimeoutException.class, () -> client.purgeInstances(criteria)); } } @Test void waitForInstanceStartThrowsException() { final String orchestratorName = "orchestratorName"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { try { // The orchestration remains in the "Pending" state until the first await statement TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { var instanceId = UUID.randomUUID().toString(); Thread thread = new Thread(() -> { client.scheduleNewOrchestrationInstance(orchestratorName, null, instanceId); }); thread.start(); assertThrows(TimeoutException.class, () -> client.waitForInstanceStart(instanceId, Duration.ofSeconds(2))); } } @Test void waitForInstanceCompletionThrowsException() { final String orchestratorName = "orchestratorName"; final String plusOneActivityName = "PlusOne"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { int value = ctx.getInput(int.class); value = ctx.callActivity(plusOneActivityName, value, int.class).await(); ctx.complete(value); }) .addActivity(plusOneActivityName, ctx -> { try { // The orchestration is started but not completed within the orchestration completion timeout due the below activity delay TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } return ctx.getInput(int.class) + 1; }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); assertThrows(TimeoutException.class, () -> client.waitForInstanceCompletion(instanceId, Duration.ofSeconds(2), false)); } } @Test void activityFanOutWithException() throws TimeoutException { final String orchestratorName = "ActivityFanOut"; final String activityName = "Divide"; final int count = 10; final String exceptionMessage = "2 out of 6 tasks failed with an exception. See the exceptions list for details."; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { // Schedule each task to run in parallel List> parallelTasks = IntStream.of(1, 2, 0, 4, 0, 6) .mapToObj(i -> ctx.callActivity(activityName, i, Integer.class)) .collect(Collectors.toList()); // Wait for all tasks to complete try { List results = ctx.allOf(parallelTasks).await(); ctx.complete(results); } catch (CompositeTaskFailedException e) { assertNotNull(e); assertEquals(2, e.getExceptions().size()); assertEquals(TaskFailedException.class, e.getExceptions().get(0).getClass()); assertEquals(TaskFailedException.class, e.getExceptions().get(1).getClass()); // taskId in the exception below is based on parallelTasks input assertEquals(getExceptionMessage(activityName, 2, "/ by zero"), e.getExceptions().get(0).getMessage()); assertEquals(getExceptionMessage(activityName, 4, "/ by zero"), e.getExceptions().get(1).getMessage()); throw e; } }) .addActivity(activityName, ctx -> count / ctx.getInput(Integer.class)) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.FAILED, instance.getRuntimeStatus()); List output = instance.readOutputAs(List.class); assertNull(output); FailureDetails details = instance.getFailureDetails(); assertNotNull(details); assertEquals(exceptionMessage, details.getErrorMessage()); assertEquals("io.dapr.durabletask.CompositeTaskFailedException", details.getErrorType()); assertNotNull(details.getStackTrace()); } } private static String getExceptionMessage(String taskName, int expectedTaskId, String expectedExceptionMessage) { return String.format( "Task '%s' (#%d) failed with an unhandled exception: %s", taskName, expectedTaskId, expectedExceptionMessage); } @Test void thenApply() throws IOException, InterruptedException, TimeoutException { final String orchestratorName = "thenApplyActivity"; final String activityName = "Echo"; final String suffix = "-test"; final String input = Instant.now().toString(); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { String activityInput = ctx.getInput(String.class); String output = ctx.callActivity(activityName, activityInput, String.class).thenApply(s -> s + suffix).await(); ctx.complete(output); }) .addActivity(activityName, ctx -> { return String.format("Hello, %s!", ctx.getInput(String.class)); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, input); OrchestrationMetadata instance = client.waitForInstanceCompletion( instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); String output = instance.readOutputAs(String.class); String expected = String.format("Hello, %s!%s", input, suffix); assertEquals(expected, output); } } @Test void externalEventThenAccept() throws InterruptedException, TimeoutException { final String orchestratorName = "continueAsNewWithExternalEvents"; final String eventName = "MyEvent"; final int expectedEventCount = 10; DurableTaskGrpcWorker worker = this.createWorkerBuilder().addOrchestrator(orchestratorName, ctx -> { int receivedEventCount = ctx.getInput(int.class); if (receivedEventCount < expectedEventCount) { ctx.waitForExternalEvent(eventName, int.class) .thenAccept(s -> { ctx.continueAsNew(receivedEventCount + 1); return; }) .await(); } else { ctx.complete(receivedEventCount); } }).buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); for (int i = 0; i < expectedEventCount; i++) { client.raiseEvent(instanceId, eventName, i); } OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertEquals(expectedEventCount, instance.readOutputAs(int.class)); } } @Test void activityAllOf() throws IOException, TimeoutException { final String orchestratorName = "ActivityAllOf"; final String activityName = "ToString"; final String retryActivityName = "RetryToString"; final int activityMiddle = 5; final int activityCount = 10; final AtomicBoolean throwException = new AtomicBoolean(true); final RetryPolicy retryPolicy = new RetryPolicy(2, Duration.ofSeconds(5)); final TaskOptions taskOptions = TaskOptions.withRetryPolicy(retryPolicy); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { List> parallelTasks = IntStream.range(0, activityMiddle * 2) .mapToObj(i -> { if (i < activityMiddle) { return ctx.callActivity(activityName, i, String.class); } else { return ctx.callActivity(retryActivityName, i, taskOptions, String.class); } }) .collect(Collectors.toList()); // Wait for all tasks to complete, then sort and reverse the results List results = ctx.allOf(parallelTasks).await(); Collections.sort(results); Collections.reverse(results); ctx.complete(results); }) .addActivity(activityName, ctx -> ctx.getInput(Object.class).toString()) .addActivity(retryActivityName, ctx -> { if (throwException.get()) { throwException.compareAndSet(true, false); throw new RuntimeException("test retry"); } return ctx.getInput(Object.class).toString(); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); List output = instance.readOutputAs(List.class); assertNotNull(output); assertEquals(activityCount, output.size()); assertEquals(String.class, output.get(0).getClass()); // Expected: ["9", "8", "7", "6", "5", "4", "3", "2", "1", "0"] for (int i = 0; i < activityCount; i++) { String expected = String.valueOf(activityCount - i - 1); assertEquals(expected, output.get(i).toString()); } } } @Test void activityAllOfException() throws IOException, TimeoutException { final String orchestratorName = "ActivityAllOf"; final String activityName = "ToString"; final String retryActivityName = "RetryToStringException"; final String result = "test fail"; final int activityMiddle = 5; final RetryPolicy retryPolicy = new RetryPolicy(2, Duration.ofSeconds(5)); final TaskOptions taskOptions = TaskOptions.withRetryPolicy(retryPolicy); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { List> parallelTasks = IntStream.range(0, activityMiddle * 2) .mapToObj(i -> { if (i < activityMiddle) { return ctx.callActivity(activityName, i, String.class); } else { return ctx.callActivity(retryActivityName, i, taskOptions, String.class); } }) .collect(Collectors.toList()); // Wait for all tasks to complete, then sort and reverse the results try { List results = null; results = ctx.allOf(parallelTasks).await(); Collections.sort(results); Collections.reverse(results); ctx.complete(results); } catch (CompositeTaskFailedException e) { // only catch this type of exception to ensure the expected type of exception is thrown out. for (Exception exception : e.getExceptions()) { if (exception instanceof TaskFailedException) { TaskFailedException taskFailedException = (TaskFailedException) exception; System.out.println("Task: " + taskFailedException.getTaskName() + " Failed for cause: " + taskFailedException.getErrorDetails().getErrorMessage()); } } } ctx.complete(result); }) .addActivity(activityName, ctx -> ctx.getInput(Object.class).toString()) .addActivity(retryActivityName, ctx -> { // only throw exception throw new RuntimeException("test retry"); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); String output = instance.readOutputAs(String.class); assertNotNull(output); assertEquals(String.class, output.getClass()); assertEquals(result, output); } } @Test void activityAnyOf() throws IOException, TimeoutException { final String orchestratorName = "ActivityAnyOf"; final String activityName = "ToString"; final String retryActivityName = "RetryToString"; final int activityMiddle = 5; final int activityCount = 10; final AtomicBoolean throwException = new AtomicBoolean(true); final RetryPolicy retryPolicy = new RetryPolicy(2, Duration.ofSeconds(5)); final TaskOptions taskOptions = TaskOptions.withRetryPolicy(retryPolicy); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { List> parallelTasks = IntStream.range(0, activityMiddle * 2) .mapToObj(i -> { if (i < activityMiddle) { return ctx.callActivity(activityName, i, String.class); } else { return ctx.callActivity(retryActivityName, i, taskOptions, String.class); } }) .collect(Collectors.toList()); String results = (String) ctx.anyOf(parallelTasks).await().await(); ctx.complete(results); }) .addActivity(activityName, ctx -> ctx.getInput(Object.class).toString()) .addActivity(retryActivityName, ctx -> { if (throwException.get()) { throwException.compareAndSet(true, false); throw new RuntimeException("test retry"); } return ctx.getInput(Object.class).toString(); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); String output = instance.readOutputAs(String.class); assertNotNull(output); assertTrue(Integer.parseInt(output) >= 0 && Integer.parseInt(output) < activityCount); } } @Test public void newUUIDTest() { String orchestratorName = "test-new-uuid"; String echoActivityName = "Echo"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { // Test 1: Ensure two consequiteively created GUIDs are not unique UUID currentUUID0 = ctx.newUuid(); UUID currentUUID1 = ctx.newUuid(); if (currentUUID0.equals(currentUUID1)) { ctx.complete(false); } // Test 2: Ensure that the same GUID values are created on each replay UUID originalUUID1 = ctx.callActivity(echoActivityName, currentUUID1, UUID.class).await(); if (!currentUUID1.equals(originalUUID1)) { ctx.complete(false); } // Test 3: Ensure that the same UUID values are created on each replay even after an await UUID currentUUID2 = ctx.newUuid(); UUID originalUUID2 = ctx.callActivity(echoActivityName, currentUUID2, UUID.class).await(); if (!currentUUID2.equals(originalUUID2)) { ctx.complete(false); } // Test 4: Finish confirming that every generated UUID is unique if (currentUUID1.equals(currentUUID2)) ctx.complete(false); else ctx.complete(true); }) .addActivity(echoActivityName, ctx -> { System.out.println("##### echoActivityName: " + ctx.getInput(UUID.class)); return ctx.getInput(UUID.class); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertTrue(instance.readOutputAs(boolean.class)); } catch (TimeoutException e) { throw new RuntimeException(e); } } @Test public void taskExecutionIdTest() { var orchestratorName = "test-task-execution-id"; var retryActivityName = "RetryN"; final RetryPolicy retryPolicy = new RetryPolicy(4, Duration.ofSeconds(3)); final TaskOptions taskOptions = TaskOptions.withRetryPolicy(retryPolicy); var execMap = new HashMap(); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { ctx.callActivity(retryActivityName, null, taskOptions).await(); ctx.callActivity(retryActivityName, null, taskOptions).await(); ctx.complete(true); }) .addActivity(retryActivityName, ctx -> { System.out.println("##### RetryN[executionId]: " + ctx.getTaskExecutionId()); var c = execMap.get(ctx.getTaskExecutionId()); if (c == null) { c = 0; } else { c++; } execMap.put(ctx.getTaskExecutionId(), c); if (c < 2) { throw new RuntimeException("test retry"); } return null; }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); assertEquals(2, execMap.size()); assertTrue(instance.readOutputAs(boolean.class)); } catch (TimeoutException e) { throw new RuntimeException(e); } } } ================================================ FILE: durabletask-client/src/test/java/io/dapr/durabletask/DurableTaskGrpcClientTlsTest.java ================================================ ///* // * Copyright 2025 The Dapr Authors // * Licensed under the Apache License, Version 2.0 (the "License"); // * you may not use this file except in compliance with the License. // * You may obtain a copy of the License at // * http://www.apache.org/licenses/LICENSE-2.0 // * Unless required by applicable law or agreed to in writing, software // * distributed under the License is distributed on an "AS IS" BASIS, // * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // * See the License for the specific language governing permissions and //limitations under the License. //*/ //package io.dapr.durabletask; // //import org.junit.jupiter.api.AfterEach; //import org.junit.jupiter.api.Test; //import org.junit.jupiter.api.io.TempDir; //import org.junit.jupiter.api.condition.EnabledOnOs; //import org.junit.jupiter.api.condition.OS; //import org.junit.jupiter.api.Assumptions; // //import java.io.File; //import java.nio.file.Files; //import java.nio.file.Path; //import java.security.KeyPair; //import java.security.KeyPairGenerator; //import java.security.cert.X509Certificate; //import java.util.Base64; //import java.util.Date; //import java.math.BigInteger; // //import org.bouncycastle.asn1.x500.X500Name; //import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo; //import org.bouncycastle.cert.X509v3CertificateBuilder; //import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter; //import org.bouncycastle.operator.ContentSigner; //import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder; // //import static org.junit.jupiter.api.Assertions.*; // //public class DurableTaskGrpcClientTlsTest { // private static final int DEFAULT_PORT = 4001; // private static final String DEFAULT_SIDECAR_IP = "127.0.0.1"; // // @TempDir // Path tempDir; // // // Track the client for cleanup // private DurableTaskGrpcClient client; // // @AfterEach // void tearDown() throws Exception { // if (client != null) { // client.close(); // client = null; // } // } // // // Helper method to generate a key pair for testing // private static KeyPair generateKeyPair() throws Exception { // KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); // keyPairGenerator.initialize(2048); // return keyPairGenerator.generateKeyPair(); // } // // // Helper method to generate a self-signed certificate // private static X509Certificate generateCertificate(KeyPair keyPair) throws Exception { // X500Name issuer = new X500Name("CN=Test Certificate"); // X500Name subject = new X500Name("CN=Test Certificate"); // Date notBefore = new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000); // Date notAfter = new Date(System.currentTimeMillis() + 365 * 24 * 60 * 60 * 1000L); // SubjectPublicKeyInfo publicKeyInfo = SubjectPublicKeyInfo.getInstance(keyPair.getPublic().getEncoded()); // X509v3CertificateBuilder certBuilder = new X509v3CertificateBuilder( // issuer, // BigInteger.valueOf(System.currentTimeMillis()), // notBefore, // notAfter, // subject, // publicKeyInfo // ); // ContentSigner signer = new JcaContentSignerBuilder("SHA256withRSA").build(keyPair.getPrivate()); // return new JcaX509CertificateConverter().getCertificate(certBuilder.build(signer)); // } // // private static void writeCertificateToFile(X509Certificate cert, File file) throws Exception { // String certPem = "-----BEGIN CERTIFICATE-----\n" + // Base64.getEncoder().encodeToString(cert.getEncoded()) + // "\n-----END CERTIFICATE-----"; // Files.write(file.toPath(), certPem.getBytes()); // } // // private static void writePrivateKeyToFile(KeyPair keyPair, File file) throws Exception { // String keyPem = "-----BEGIN PRIVATE KEY-----\n" + // Base64.getEncoder().encodeToString(keyPair.getPrivate().getEncoded()) + // "\n-----END PRIVATE KEY-----"; // Files.write(file.toPath(), keyPem.getBytes()); // } // // @Test // public void testBuildGrpcManagedChannelWithTls() throws Exception { // // Generate test certificate and key // KeyPair keyPair = generateKeyPair(); // X509Certificate cert = generateCertificate(keyPair); // // File certFile = File.createTempFile("test-cert", ".pem"); // File keyFile = File.createTempFile("test-key", ".pem"); // try { // writeCertificateToFile(cert, certFile); // writePrivateKeyToFile(keyPair, keyFile); // // client = (DurableTaskGrpcClient) new DurableTaskGrpcClientBuilder() // .tlsCertPath(certFile.getAbsolutePath()) // .tlsKeyPath(keyFile.getAbsolutePath()) // .build(); // // assertNotNull(client); // // Note: We can't easily test the actual TLS configuration without a real server // } finally { // certFile.delete(); // keyFile.delete(); // } // } // // @Test // public void testBuildGrpcManagedChannelWithTlsAndEndpoint() throws Exception { // // Generate test certificate and key // KeyPair keyPair = generateKeyPair(); // X509Certificate cert = generateCertificate(keyPair); // // File certFile = File.createTempFile("test-cert", ".pem"); // File keyFile = File.createTempFile("test-key", ".pem"); // try { // writeCertificateToFile(cert, certFile); // writePrivateKeyToFile(keyPair, keyFile); // // client = (DurableTaskGrpcClient) new DurableTaskGrpcClientBuilder() // .tlsCertPath(certFile.getAbsolutePath()) // .tlsKeyPath(keyFile.getAbsolutePath()) // .port(443) // .build(); // // assertNotNull(client); // } finally { // certFile.delete(); // keyFile.delete(); // } // } // // @Test // public void testBuildGrpcManagedChannelWithInvalidTlsCert() { // assertThrows(RuntimeException.class, () -> { // new DurableTaskGrpcClientBuilder() // .tlsCertPath("/nonexistent/cert.pem") // .tlsKeyPath("/nonexistent/key.pem") // .build(); // }); // } // // @Test // @EnabledOnOs({OS.LINUX, OS.MAC}) // public void testBuildGrpcManagedChannelWithTlsAndUnixSocket() throws Exception { // // Skip this test since Unix socket support is not implemented yet // Assumptions.assumeTrue(false, "Unix socket support not implemented yet"); // } // // @Test // public void testBuildGrpcManagedChannelWithTlsAndDnsAuthority() throws Exception { // // Generate test certificate and key // KeyPair keyPair = generateKeyPair(); // X509Certificate cert = generateCertificate(keyPair); // // File certFile = File.createTempFile("test-cert", ".pem"); // File keyFile = File.createTempFile("test-key", ".pem"); // try { // writeCertificateToFile(cert, certFile); // writePrivateKeyToFile(keyPair, keyFile); // // client = (DurableTaskGrpcClient) new DurableTaskGrpcClientBuilder() // .tlsCertPath(certFile.getAbsolutePath()) // .tlsKeyPath(keyFile.getAbsolutePath()) // .port(443) // .build(); // // assertNotNull(client); // } finally { // certFile.delete(); // keyFile.delete(); // } // } // // @Test // public void testBuildGrpcManagedChannelWithTlsAndCaCert() throws Exception { // // Generate test CA certificate // KeyPair caKeyPair = generateKeyPair(); // X509Certificate caCert = generateCertificate(caKeyPair); // // File caCertFile = File.createTempFile("test-ca-cert", ".pem"); // try { // writeCertificateToFile(caCert, caCertFile); // // client = (DurableTaskGrpcClient) new DurableTaskGrpcClientBuilder() // .tlsCaPath(caCertFile.getAbsolutePath()) // .build(); // // assertNotNull(client); // } finally { // caCertFile.delete(); // } // } // // @Test // public void testBuildGrpcManagedChannelWithTlsAndCaCertAndEndpoint() throws Exception { // // Generate test CA certificate // KeyPair caKeyPair = generateKeyPair(); // X509Certificate caCert = generateCertificate(caKeyPair); // // File caCertFile = File.createTempFile("test-ca-cert", ".pem"); // try { // writeCertificateToFile(caCert, caCertFile); // // client = (DurableTaskGrpcClient) new DurableTaskGrpcClientBuilder() // .tlsCaPath(caCertFile.getAbsolutePath()) // .port(443) // .build(); // // assertNotNull(client); // } finally { // caCertFile.delete(); // } // } // // @Test // public void testBuildGrpcManagedChannelWithInvalidCaCert() { // assertThrows(RuntimeException.class, () -> { // new DurableTaskGrpcClientBuilder() // .tlsCaPath("/nonexistent/ca.pem") // .build(); // }); // } // // @Test // public void testBuildGrpcManagedChannelWithMtlsAndCaCert() throws Exception { // // Generate test certificates // KeyPair caKeyPair = generateKeyPair(); // X509Certificate caCert = generateCertificate(caKeyPair); // KeyPair clientKeyPair = generateKeyPair(); // X509Certificate clientCert = generateCertificate(clientKeyPair); // // File caCertFile = File.createTempFile("test-ca-cert", ".pem"); // File clientCertFile = File.createTempFile("test-client-cert", ".pem"); // File clientKeyFile = File.createTempFile("test-client-key", ".pem"); // try { // writeCertificateToFile(caCert, caCertFile); // writeCertificateToFile(clientCert, clientCertFile); // writePrivateKeyToFile(clientKeyPair, clientKeyFile); // // client = (DurableTaskGrpcClient) new DurableTaskGrpcClientBuilder() // .tlsCaPath(caCertFile.getAbsolutePath()) // .tlsCertPath(clientCertFile.getAbsolutePath()) // .tlsKeyPath(clientKeyFile.getAbsolutePath()) // .build(); // // assertNotNull(client); // } finally { // caCertFile.delete(); // clientCertFile.delete(); // clientKeyFile.delete(); // } // } // // @Test // public void testBuildGrpcManagedChannelWithInsecureTls() throws Exception { // client = (DurableTaskGrpcClient) new DurableTaskGrpcClientBuilder() // .insecure(true) // .port(443) // .build(); // // assertNotNull(client); // } // // @Test // public void testBuildGrpcManagedChannelWithInsecureTlsAndMtls() throws Exception { // // Generate test certificates // KeyPair caKeyPair = generateKeyPair(); // X509Certificate caCert = generateCertificate(caKeyPair); // KeyPair clientKeyPair = generateKeyPair(); // X509Certificate clientCert = generateCertificate(clientKeyPair); // // File caCertFile = File.createTempFile("test-ca-cert", ".pem"); // File clientCertFile = File.createTempFile("test-client-cert", ".pem"); // File clientKeyFile = File.createTempFile("test-client-key", ".pem"); // try { // writeCertificateToFile(caCert, caCertFile); // writeCertificateToFile(clientCert, clientCertFile); // writePrivateKeyToFile(clientKeyPair, clientKeyFile); // // client = (DurableTaskGrpcClient) new DurableTaskGrpcClientBuilder() // .insecure(true) // .tlsCaPath(caCertFile.getAbsolutePath()) // .tlsCertPath(clientCertFile.getAbsolutePath()) // .tlsKeyPath(clientKeyFile.getAbsolutePath()) // .port(443) // .build(); // // assertNotNull(client); // } finally { // caCertFile.delete(); // clientCertFile.delete(); // clientKeyFile.delete(); // } // } // // @Test // public void testBuildGrpcManagedChannelWithInsecureTlsAndCustomEndpoint() throws Exception { // client = (DurableTaskGrpcClient) new DurableTaskGrpcClientBuilder() // .insecure(true) // .port(443) // .build(); // // assertNotNull(client); // } // // @Test // public void testBuildGrpcManagedChannelWithPlaintext() throws Exception { // // No TLS config provided, should use plaintext // client = (DurableTaskGrpcClient) new DurableTaskGrpcClientBuilder() // .port(443) // .build(); // // assertNotNull(client); // } // // @Test // public void testBuildGrpcManagedChannelWithPlaintextAndCustomEndpoint() throws Exception { // // No TLS config provided, should use plaintext // client = (DurableTaskGrpcClient) new DurableTaskGrpcClientBuilder() // .port(50001) // Custom port // .build(); // // assertNotNull(client); // } //} ================================================ FILE: durabletask-client/src/test/java/io/dapr/durabletask/DurableTaskGrpcWorkerReconnectTest.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.durabletask; import io.dapr.durabletask.implementation.protobuf.OrchestratorService; import io.dapr.durabletask.implementation.protobuf.TaskHubSidecarServiceGrpc; import io.grpc.ManagedChannel; import io.grpc.Server; import io.grpc.Status; import io.grpc.inprocess.InProcessChannelBuilder; import io.grpc.inprocess.InProcessServerBuilder; import io.grpc.stub.StreamObserver; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import static org.junit.jupiter.api.Assertions.assertTrue; /** * Tests that DurableTaskGrpcWorker auto-heals (reconnects) when the gRPC * connection to the sidecar drops with UNAVAILABLE or CANCELLED status. * * @see Issue #1652 */ class DurableTaskGrpcWorkerReconnectTest { private DurableTaskGrpcWorker worker; private Server server; private ManagedChannel channel; @AfterEach void tearDown() throws Exception { if (worker != null) { worker.close(); } if (channel != null) { channel.shutdownNow().awaitTermination(5, TimeUnit.SECONDS); } if (server != null) { server.shutdownNow().awaitTermination(5, TimeUnit.SECONDS); } } @Test void workerReconnectsAfterUnavailableError() throws Exception { int requiredCalls = 3; CountDownLatch latch = new CountDownLatch(requiredCalls); AtomicInteger callCount = new AtomicInteger(0); String serverName = InProcessServerBuilder.generateName(); server = InProcessServerBuilder.forName(serverName) .directExecutor() .addService(new TaskHubSidecarServiceGrpc.TaskHubSidecarServiceImplBase() { @Override public void getWorkItems( OrchestratorService.GetWorkItemsRequest request, StreamObserver responseObserver) { callCount.incrementAndGet(); latch.countDown(); // Simulate sidecar being unavailable responseObserver.onError(Status.UNAVAILABLE .withDescription("Sidecar is unavailable") .asRuntimeException()); } }) .build() .start(); channel = InProcessChannelBuilder.forName(serverName).directExecutor().build(); worker = new DurableTaskGrpcWorkerBuilder() .grpcChannel(channel) .build(); worker.start(); // The worker should retry multiple times after UNAVAILABLE errors. // With a 5-second retry delay, we wait long enough for at least 3 attempts. boolean reached = latch.await(30, TimeUnit.SECONDS); assertTrue(reached, "Expected at least " + requiredCalls + " getWorkItems calls (reconnect attempts), but got " + callCount.get()); } @Test void workerReconnectsAfterCancelledError() throws Exception { int requiredCalls = 2; CountDownLatch latch = new CountDownLatch(requiredCalls); AtomicInteger callCount = new AtomicInteger(0); String serverName = InProcessServerBuilder.generateName(); server = InProcessServerBuilder.forName(serverName) .directExecutor() .addService(new TaskHubSidecarServiceGrpc.TaskHubSidecarServiceImplBase() { @Override public void getWorkItems( OrchestratorService.GetWorkItemsRequest request, StreamObserver responseObserver) { callCount.incrementAndGet(); latch.countDown(); // Simulate connection cancelled (e.g., sidecar restart) responseObserver.onError(Status.CANCELLED .withDescription("Connection cancelled") .asRuntimeException()); } }) .build() .start(); channel = InProcessChannelBuilder.forName(serverName).directExecutor().build(); worker = new DurableTaskGrpcWorkerBuilder() .grpcChannel(channel) .build(); worker.start(); boolean reached = latch.await(30, TimeUnit.SECONDS); assertTrue(reached, "Expected at least " + requiredCalls + " getWorkItems calls after CANCELLED, but got " + callCount.get()); } @Test void workerReconnectsAfterStreamEndsNormally() throws Exception { int requiredCalls = 2; CountDownLatch latch = new CountDownLatch(requiredCalls); AtomicInteger callCount = new AtomicInteger(0); String serverName = InProcessServerBuilder.generateName(); server = InProcessServerBuilder.forName(serverName) .directExecutor() .addService(new TaskHubSidecarServiceGrpc.TaskHubSidecarServiceImplBase() { @Override public void getWorkItems( OrchestratorService.GetWorkItemsRequest request, StreamObserver responseObserver) { callCount.incrementAndGet(); latch.countDown(); // Simulate stream ending normally (server completes without sending items) responseObserver.onCompleted(); } }) .build() .start(); channel = InProcessChannelBuilder.forName(serverName).directExecutor().build(); worker = new DurableTaskGrpcWorkerBuilder() .grpcChannel(channel) .build(); worker.start(); // When the stream ends normally, the outer while(true) loop should // re-establish the stream immediately (no 5s delay for normal completion). boolean reached = latch.await(10, TimeUnit.SECONDS); assertTrue(reached, "Expected at least " + requiredCalls + " getWorkItems calls after normal stream end, but got " + callCount.get()); } @Test void workerStopsCleanlyOnClose() throws Exception { CountDownLatch firstCallLatch = new CountDownLatch(1); String serverName = InProcessServerBuilder.generateName(); server = InProcessServerBuilder.forName(serverName) .directExecutor() .addService(new TaskHubSidecarServiceGrpc.TaskHubSidecarServiceImplBase() { @Override public void getWorkItems( OrchestratorService.GetWorkItemsRequest request, StreamObserver responseObserver) { firstCallLatch.countDown(); // Keep stream open (simulate connected state) // The worker should be interrupted by close() } }) .build() .start(); channel = InProcessChannelBuilder.forName(serverName).directExecutor().build(); worker = new DurableTaskGrpcWorkerBuilder() .grpcChannel(channel) .build(); worker.start(); // Wait for the worker to connect assertTrue(firstCallLatch.await(10, TimeUnit.SECONDS), "Worker should have connected"); // Close should stop the worker cleanly without hanging worker.close(); worker = null; // prevent double-close in tearDown } } ================================================ FILE: durabletask-client/src/test/java/io/dapr/durabletask/DurableTaskGrpcWorkerShutdownTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import org.junit.jupiter.api.Test; import java.time.Duration; import java.time.Instant; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; /** * Unit tests for DurableTaskGrpcWorker shutdown behavior. */ public class DurableTaskGrpcWorkerShutdownTest { /** * Verifies that calling close() on a worker that was started via start() * causes the worker thread to terminate promptly (within a bounded time), * rather than hanging in the retry loop. */ @Test void workerThreadTerminatesPromptlyOnClose() throws Exception { // Use an arbitrary port where no sidecar is running — the worker will // enter the retry loop (UNAVAILABLE → sleep 5s → retry). DurableTaskGrpcWorker worker = new DurableTaskGrpcWorkerBuilder() .port(19876) .build(); worker.start(); // Give the worker thread time to enter the retry loop Thread.sleep(500); Instant before = Instant.now(); worker.close(); // Wait for the worker thread to finish — the join is bounded so the // test doesn't hang if the fix regresses. Thread workerThread = getWorkerThread(worker); assertNotNull(workerThread, "Worker thread should be accessible via reflection"); workerThread.join(Duration.ofSeconds(3).toMillis()); assertFalse(workerThread.isAlive(), "Worker thread should have terminated after close()"); Duration elapsed = Duration.between(before, Instant.now()); assertTrue(elapsed.toMillis() < 3000, "close() should return promptly, but took " + elapsed.toMillis() + "ms"); } /** * Verifies that calling close() on a worker that was started via * startAndBlock() on a separate thread terminates that thread promptly. */ @Test void startAndBlockExitsOnClose() throws Exception { DurableTaskGrpcWorker worker = new DurableTaskGrpcWorkerBuilder() .port(19877) .build(); Thread blockingThread = new Thread(worker::startAndBlock); blockingThread.start(); // Give the blocking thread time to enter the retry loop Thread.sleep(500); Instant before = Instant.now(); worker.close(); blockingThread.join(Duration.ofSeconds(3).toMillis()); assertFalse(blockingThread.isAlive(), "startAndBlock() thread should have terminated after close()"); Duration elapsed = Duration.between(before, Instant.now()); assertTrue(elapsed.toMillis() < 3000, "close() should terminate startAndBlock() promptly, but took " + elapsed.toMillis() + "ms"); } /** * Verifies that interrupting the thread running startAndBlock() causes it * to exit and preserves the interrupt status. */ @Test void startAndBlockExitsOnInterrupt() throws Exception { DurableTaskGrpcWorker worker = new DurableTaskGrpcWorkerBuilder() .port(19878) .build(); Thread blockingThread = new Thread(worker::startAndBlock); blockingThread.start(); // Give the blocking thread time to enter the retry loop Thread.sleep(500); blockingThread.interrupt(); blockingThread.join(Duration.ofSeconds(3).toMillis()); assertFalse(blockingThread.isAlive(), "startAndBlock() thread should have exited after interrupt"); assertTrue(blockingThread.isInterrupted(), "Interrupt status should be preserved after startAndBlock() exits"); worker.close(); } private Thread getWorkerThread(DurableTaskGrpcWorker worker) { try { java.lang.reflect.Field f = DurableTaskGrpcWorker.class.getDeclaredField("workerThread"); f.setAccessible(true); return (Thread) f.get(worker); } catch (Exception e) { fail("Failed to access workerThread field via reflection: " + e.getMessage()); return null; // unreachable } } } ================================================ FILE: durabletask-client/src/test/java/io/dapr/durabletask/ErrorHandlingIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import java.time.Duration; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import static org.junit.jupiter.api.Assertions.*; /** * These integration tests are designed to exercise the core, high-level error-handling features of the Durable Task * programming model. *

    * These tests currently require a sidecar process to be running on the local machine (the sidecar is what accepts the * client operations and sends invocation instructions to the DurableTaskWorker). */ @Tag("integration") public class ErrorHandlingIT extends IntegrationTestBase { @Test void orchestratorException() throws TimeoutException { final String orchestratorName = "OrchestratorWithException"; final String errorMessage = "Kah-BOOOOOM!!!"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { throw new RuntimeException(errorMessage); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 0); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.FAILED, instance.getRuntimeStatus()); FailureDetails details = instance.getFailureDetails(); assertNotNull(details); assertEquals("java.lang.RuntimeException", details.getErrorType()); assertTrue(details.getErrorMessage().contains(errorMessage)); assertNotNull(details.getStackTrace()); } } @ParameterizedTest @ValueSource(booleans = {true, false}) void activityException(boolean handleException) throws TimeoutException { final String orchestratorName = "OrchestratorWithActivityException"; final String activityName = "Throw"; final String errorMessage = "Kah-BOOOOOM!!!"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { try { ctx.callActivity(activityName).await(); } catch (TaskFailedException ex) { if (handleException) { ctx.complete("handled"); } else { throw ex; } } }) .addActivity(activityName, ctx -> { throw new RuntimeException(errorMessage); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, ""); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); if (handleException) { String result = instance.readOutputAs(String.class); assertNotNull(result); assertEquals("handled", result); } else { assertEquals(OrchestrationRuntimeStatus.FAILED, instance.getRuntimeStatus()); FailureDetails details = instance.getFailureDetails(); assertNotNull(details); String expectedMessage = String.format( "Task '%s' (#0) failed with an unhandled exception: %s", activityName, errorMessage); assertEquals(expectedMessage, details.getErrorMessage()); assertEquals("io.dapr.durabletask.TaskFailedException", details.getErrorType()); assertNotNull(details.getStackTrace()); // CONSIDER: Additional validation of getErrorDetails? } } } @ParameterizedTest @ValueSource(ints = {1, 2, 10}) public void retryActivityFailures(int maxNumberOfAttempts) throws TimeoutException { // There is one task for each activity call and one task between each retry int expectedTaskCount = (maxNumberOfAttempts * 2) - 1; this.retryOnFailuresCoreTest(maxNumberOfAttempts, expectedTaskCount, ctx -> { RetryPolicy retryPolicy = getCommonRetryPolicy(maxNumberOfAttempts); ctx.callActivity( "BustedActivity", null, TaskOptions.withRetryPolicy(retryPolicy)).await(); }); } @ParameterizedTest @ValueSource(ints = {1, 2, 10}) public void retryActivityFailuresWithCustomLogic(int maxNumberOfAttempts) throws TimeoutException { // This gets incremented every time the retry handler is invoked AtomicInteger retryHandlerCalls = new AtomicInteger(); // Run the test and get back the details of the last failure this.retryOnFailuresCoreTest(maxNumberOfAttempts, maxNumberOfAttempts, ctx -> { RetryHandler retryHandler = getCommonRetryHandler(retryHandlerCalls, maxNumberOfAttempts); TaskOptions options = TaskOptions.withRetryHandler(retryHandler); ctx.callActivity("BustedActivity", null, options).await(); }); // Assert that the retry handle got invoked the expected number of times assertEquals(maxNumberOfAttempts, retryHandlerCalls.get()); } @ParameterizedTest @ValueSource(booleans = {true, false}) void subOrchestrationException(boolean handleException) throws TimeoutException { final String orchestratorName = "OrchestrationWithBustedSubOrchestrator"; final String subOrchestratorName = "BustedSubOrchestrator"; final String errorMessage = "Kah-BOOOOOM!!!"; DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, ctx -> { try { String result = ctx.callSubOrchestrator(subOrchestratorName, "", String.class).await(); ctx.complete(result); } catch (TaskFailedException ex) { if (handleException) { ctx.complete("handled"); } else { throw ex; } } }) .addOrchestrator(subOrchestratorName, ctx -> { throw new RuntimeException(errorMessage); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, 1); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); if (handleException) { assertEquals(OrchestrationRuntimeStatus.COMPLETED, instance.getRuntimeStatus()); String result = instance.readOutputAs(String.class); assertNotNull(result); assertEquals("handled", result); } else { assertEquals(OrchestrationRuntimeStatus.FAILED, instance.getRuntimeStatus()); FailureDetails details = instance.getFailureDetails(); assertNotNull(details); String expectedMessage = String.format( "Task '%s' (#0) failed with an unhandled exception: %s", subOrchestratorName, errorMessage); assertEquals(expectedMessage, details.getErrorMessage()); assertEquals("io.dapr.durabletask.TaskFailedException", details.getErrorType()); assertNotNull(details.getStackTrace()); // CONSIDER: Additional validation of getStackTrace? } } } @ParameterizedTest @ValueSource(ints = {1, 2, 10}) public void retrySubOrchestratorFailures(int maxNumberOfAttempts) throws TimeoutException { // There is one task for each sub-orchestrator call and one task between each retry int expectedTaskCount = (maxNumberOfAttempts * 2) - 1; this.retryOnFailuresCoreTest(maxNumberOfAttempts, expectedTaskCount, ctx -> { RetryPolicy retryPolicy = getCommonRetryPolicy(maxNumberOfAttempts); ctx.callSubOrchestrator( "BustedSubOrchestrator", null, null, TaskOptions.withRetryPolicy(retryPolicy)).await(); }); } @ParameterizedTest @ValueSource(ints = {1, 2, 10}) public void retrySubOrchestrationFailuresWithCustomLogic(int maxNumberOfAttempts) throws TimeoutException { // This gets incremented every time the retry handler is invoked AtomicInteger retryHandlerCalls = new AtomicInteger(); // Run the test and get back the details of the last failure this.retryOnFailuresCoreTest(maxNumberOfAttempts, maxNumberOfAttempts, ctx -> { RetryHandler retryHandler = getCommonRetryHandler(retryHandlerCalls, maxNumberOfAttempts); TaskOptions options = TaskOptions.withRetryHandler(retryHandler); ctx.callSubOrchestrator("BustedSubOrchestrator", null, null, options).await(); }); // Assert that the retry handle got invoked the expected number of times assertEquals(maxNumberOfAttempts, retryHandlerCalls.get()); } private static RetryPolicy getCommonRetryPolicy(int maxNumberOfAttempts) { // Include a small delay between each retry to exercise the implicit timer path return new RetryPolicy(maxNumberOfAttempts, Duration.ofMillis(1)); } private static RetryHandler getCommonRetryHandler(AtomicInteger handlerInvocationCounter, int maxNumberOfAttempts) { return ctx -> { // Retry handlers get executed on the orchestrator thread and go through replay if (!ctx.getOrchestrationContext().getIsReplaying()) { handlerInvocationCounter.getAndIncrement(); } // The isCausedBy() method is designed to handle exception inheritance if (!ctx.getLastFailure().isCausedBy(Exception.class)) { return false; } // This is the actual exception type we care about if (!ctx.getLastFailure().isCausedBy(RuntimeException.class)) { return false; } // Quit after N attempts return ctx.getLastAttemptNumber() < maxNumberOfAttempts; }; } /** * Shared logic for execution an orchestration with an activity that constantly fails. * * @param maxNumberOfAttempts The expected maximum number of activity execution attempts * @param expectedTaskCount The expected number of tasks to be scheduled by the main orchestration. * @param mainOrchestration The main orchestration implementation, which is expected to call either the * "BustedActivity" activity or the "BustedSubOrchestrator" sub-orchestration. * @return Returns the details of the last activity or sub-orchestration failure. */ private FailureDetails retryOnFailuresCoreTest( int maxNumberOfAttempts, int expectedTaskCount, TaskOrchestration mainOrchestration) throws TimeoutException { final String orchestratorName = "MainOrchestrator"; AtomicInteger actualAttemptCount = new AtomicInteger(); // The caller of this test provides the top-level orchestration implementation. This method provides both a // failing sub-orchestration and a failing activity implementation for it to use. The expectation is that the // main orchestration tries to invoke just one of them and is configured with retry configuration. AtomicBoolean isActivityPath = new AtomicBoolean(false); DurableTaskGrpcWorker worker = this.createWorkerBuilder() .addOrchestrator(orchestratorName, mainOrchestration) .addOrchestrator("BustedSubOrchestrator", ctx -> { actualAttemptCount.getAndIncrement(); throw new RuntimeException("Error #" + actualAttemptCount.get()); }) .addActivity("BustedActivity", ctx -> { actualAttemptCount.getAndIncrement(); isActivityPath.set(true); throw new RuntimeException("Error #" + actualAttemptCount.get()); }) .buildAndStart(); DurableTaskClient client = new DurableTaskGrpcClientBuilder().build(); try (worker; client) { String instanceId = client.scheduleNewOrchestrationInstance(orchestratorName, ""); OrchestrationMetadata instance = client.waitForInstanceCompletion(instanceId, defaultTimeout, true); assertNotNull(instance); assertEquals(OrchestrationRuntimeStatus.FAILED, instance.getRuntimeStatus()); // Make sure the exception details are still what we expect FailureDetails details = instance.getFailureDetails(); assertNotNull(details); // Confirm the number of attempts assertEquals(maxNumberOfAttempts, actualAttemptCount.get()); return details; } } } ================================================ FILE: durabletask-client/src/test/java/io/dapr/durabletask/IntegrationTestBase.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import io.dapr.durabletask.orchestration.TaskOrchestrationFactory; import org.junit.jupiter.api.AfterEach; import java.time.Duration; public class IntegrationTestBase { protected static final Duration defaultTimeout = Duration.ofSeconds(10); // All tests that create a server should save it to this variable for proper shutdown private DurableTaskGrpcWorker server; @AfterEach public void shutdown() { if (this.server != null) { this.server.stop(); } } protected TestDurableTaskWorkerBuilder createWorkerBuilder() { return new TestDurableTaskWorkerBuilder(); } public class TestDurableTaskWorkerBuilder { final DurableTaskGrpcWorkerBuilder innerBuilder; private TestDurableTaskWorkerBuilder() { this.innerBuilder = new DurableTaskGrpcWorkerBuilder(); } public DurableTaskGrpcWorker buildAndStart() { DurableTaskGrpcWorker server = this.innerBuilder.build(); IntegrationTestBase.this.server = server; server.start(); return server; } public TestDurableTaskWorkerBuilder setMaximumTimerInterval(Duration maximumTimerInterval) { this.innerBuilder.maximumTimerInterval(maximumTimerInterval); return this; } public TestDurableTaskWorkerBuilder addOrchestrator( String name, TaskOrchestration implementation) { this.innerBuilder.addOrchestration(new TaskOrchestrationFactory() { @Override public String getName() { return name; } @Override public TaskOrchestration create() { return implementation; } @Override public String getVersionName() { return ""; } @Override public Boolean isLatestVersion() { return false; } }); return this; } public TestDurableTaskWorkerBuilder addActivity( String name, TaskActivity implementation) { this.innerBuilder.addActivity(new TaskActivityFactory() { @Override public String getName() { return name; } @Override public TaskActivity create() { return implementation; } }); return this; } } } ================================================ FILE: durabletask-client/src/test/java/io/dapr/durabletask/SubOrchestrationCrossAppTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import com.google.protobuf.StringValue; import com.google.protobuf.Timestamp; import io.dapr.durabletask.implementation.protobuf.HistoryEvents; import io.dapr.durabletask.implementation.protobuf.Orchestration; import io.dapr.durabletask.implementation.protobuf.OrchestratorActions; import io.dapr.durabletask.orchestration.TaskOrchestrationFactories; import io.dapr.durabletask.orchestration.TaskOrchestrationFactory; import org.junit.jupiter.api.Test; import java.time.Duration; import java.util.ArrayList; import java.util.List; import java.util.logging.Logger; import static org.junit.jupiter.api.Assertions.*; /** * Unit tests for sub-orchestration cross-app routing in TaskOrchestrationExecutor. */ class SubOrchestrationCrossAppTest { private static final Logger logger = Logger.getLogger(SubOrchestrationCrossAppTest.class.getName()); private static final Duration MAX_TIMER_INTERVAL = Duration.ofDays(3); /** * Helper to build an OrchestratorStarted history event. */ private static HistoryEvents.HistoryEvent orchestratorStarted() { return HistoryEvents.HistoryEvent.newBuilder() .setEventId(-1) .setTimestamp(Timestamp.newBuilder().setSeconds(1000).build()) .setWorkflowStarted(HistoryEvents.WorkflowStartedEvent.newBuilder().build()) .build(); } /** * Helper to build an ExecutionStarted history event with a router. */ private static HistoryEvents.HistoryEvent executionStarted( String name, String instanceId, String input, Orchestration.TaskRouter router) { HistoryEvents.ExecutionStartedEvent.Builder esBuilder = HistoryEvents.ExecutionStartedEvent .newBuilder() .setName(name) .setWorkflowInstance( Orchestration.WorkflowInstance.newBuilder().setInstanceId(instanceId).build()) .setInput(StringValue.of(input)); HistoryEvents.HistoryEvent.Builder builder = HistoryEvents.HistoryEvent.newBuilder() .setEventId(-1) .setTimestamp(Timestamp.newBuilder().setSeconds(1000).build()) .setExecutionStarted(esBuilder.build()); if (router != null) { builder.setRouter(router); } return builder.build(); } /** * Helper to build an OrchestratorCompleted history event. */ private static HistoryEvents.HistoryEvent orchestratorCompleted() { return HistoryEvents.HistoryEvent.newBuilder() .setEventId(-1) .setTimestamp(Timestamp.newBuilder().setSeconds(1000).build()) .setWorkflowCompleted(HistoryEvents.WorkflowCompletedEvent.newBuilder().build()) .build(); } /** * Creates a TaskOrchestrationExecutor with the given orchestrator and app ID. */ private TaskOrchestrationExecutor createExecutor(String orchestratorName, TaskOrchestration orchestration, String appId) { TaskOrchestrationFactories factories = new TaskOrchestrationFactories(); factories.addOrchestration(new TaskOrchestrationFactory() { @Override public String getName() { return orchestratorName; } @Override public TaskOrchestration create() { return orchestration; } @Override public String getVersionName() { return null; } @Override public Boolean isLatestVersion() { return false; } }); return new TaskOrchestrationExecutor(factories, new JacksonDataConverter(), MAX_TIMER_INTERVAL, logger, appId); } // ================================================================================== // Tests for callSubOrchestrator with cross-app routing // ================================================================================== @Test void callSubOrchestrator_withTargetAppId_setsRouterOnAction() { final String orchestratorName = "ParentOrchestrator"; final String subOrchestratorName = "ChildOrchestrator"; final String sourceAppId = "app1"; final String targetAppId = "app2"; // The orchestrator calls a sub-orchestration with a target app ID TaskOrchestration orchestration = ctx -> { TaskOptions options = TaskOptions.withAppID(targetAppId); ctx.callSubOrchestrator(subOrchestratorName, "input", "child-instance-1", options, String.class); }; TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, sourceAppId); Orchestration.TaskRouter router = Orchestration.TaskRouter.newBuilder() .setSourceAppID(sourceAppId) .build(); List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "parent-instance", "\"hello\"", router), orchestratorCompleted() ); TaskOrchestratorResult result = executor.execute(new ArrayList<>(), newEvents); // There should be a CreateSubOrchestration action List actions = new ArrayList<>(result.getActions()); assertEquals(1, actions.size()); OrchestratorActions.WorkflowAction action = actions.get(0); assertTrue(action.hasCreateChildWorkflow()); // Verify the CreateSubOrchestrationAction has the router OrchestratorActions.CreateChildWorkflowAction createSub = action.getCreateChildWorkflow(); assertEquals(subOrchestratorName, createSub.getName()); assertEquals("child-instance-1", createSub.getInstanceId()); assertTrue(createSub.hasRouter()); assertEquals(sourceAppId, createSub.getRouter().getSourceAppID()); assertTrue(createSub.getRouter().hasTargetAppID()); assertEquals(targetAppId, createSub.getRouter().getTargetAppID()); // Verify the OrchestratorAction also has the router assertTrue(action.hasRouter()); assertEquals(sourceAppId, action.getRouter().getSourceAppID()); assertTrue(action.getRouter().hasTargetAppID()); assertEquals(targetAppId, action.getRouter().getTargetAppID()); } @Test void callSubOrchestrator_withoutTargetAppId_setsRouterWithSourceOnly() { final String orchestratorName = "ParentOrchestrator"; final String subOrchestratorName = "ChildOrchestrator"; final String sourceAppId = "app1"; // The orchestrator calls a sub-orchestration WITHOUT a target app ID TaskOrchestration orchestration = ctx -> { ctx.callSubOrchestrator(subOrchestratorName, "input", "child-instance-1", null, String.class); }; TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, sourceAppId); Orchestration.TaskRouter router = Orchestration.TaskRouter.newBuilder() .setSourceAppID(sourceAppId) .build(); List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "parent-instance", "\"hello\"", router), orchestratorCompleted() ); TaskOrchestratorResult result = executor.execute(new ArrayList<>(), newEvents); List actions = new ArrayList<>(result.getActions()); assertEquals(1, actions.size()); OrchestratorActions.WorkflowAction action = actions.get(0); assertTrue(action.hasCreateChildWorkflow()); // Router should have source only, no target OrchestratorActions.CreateChildWorkflowAction createSub = action.getCreateChildWorkflow(); assertTrue(createSub.hasRouter()); assertEquals(sourceAppId, createSub.getRouter().getSourceAppID()); assertFalse(createSub.getRouter().hasTargetAppID()); // OrchestratorAction router should also have source only assertTrue(action.hasRouter()); assertEquals(sourceAppId, action.getRouter().getSourceAppID()); assertFalse(action.getRouter().hasTargetAppID()); } @Test void callSubOrchestrator_withNullAppId_noRouterSet() { final String orchestratorName = "ParentOrchestrator"; final String subOrchestratorName = "ChildOrchestrator"; // The orchestrator calls a sub-orchestration with no app routing context TaskOrchestration orchestration = ctx -> { ctx.callSubOrchestrator(subOrchestratorName, "input", "child-instance-1", null, String.class); }; // Create executor with null appId (no router context) TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, null); // ExecutionStarted without a router List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "parent-instance", "\"hello\"", null), orchestratorCompleted() ); TaskOrchestratorResult result = executor.execute(new ArrayList<>(), newEvents); List actions = new ArrayList<>(result.getActions()); assertEquals(1, actions.size()); OrchestratorActions.WorkflowAction action = actions.get(0); assertTrue(action.hasCreateChildWorkflow()); // No router should be set when appId is null OrchestratorActions.CreateChildWorkflowAction createSub = action.getCreateChildWorkflow(); assertFalse(createSub.hasRouter()); assertFalse(action.hasRouter()); } // ================================================================================== // Tests for EXECUTIONSTARTED event router processing (appId extraction) // ================================================================================== @Test void executionStarted_withRouterTargetAppId_usesTargetAsAppId() { final String orchestratorName = "SubOrchestrator"; final String sourceAppId = "parent-app"; final String targetAppId = "child-app"; // This orchestrator will call a local sub-orchestrator with no target app; the router source // on that sub-action should be the target app id we extracted from the event router final String[] capturedAppId = new String[1]; TaskOrchestration orchestration = ctx -> { capturedAppId[0] = ctx.getAppId(); ctx.complete(null); }; TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, sourceAppId); // Router with BOTH source and target (cross-app suborchestration scenario) Orchestration.TaskRouter router = Orchestration.TaskRouter.newBuilder() .setSourceAppID(sourceAppId) .setTargetAppID(targetAppId) .build(); List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "sub-instance-1", "\"data\"", router), orchestratorCompleted() ); executor.execute(new ArrayList<>(), newEvents); // The appId should be the target, not the source assertEquals(targetAppId, capturedAppId[0]); } @Test void executionStarted_withRouterSourceOnly_usesSourceAsAppId() { final String orchestratorName = "MyOrchestrator"; final String sourceAppId = "my-app"; final String[] capturedAppId = new String[1]; TaskOrchestration orchestration = ctx -> { capturedAppId[0] = ctx.getAppId(); ctx.complete(null); }; TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, sourceAppId); // Router with source only (normal, single-app scenario) Orchestration.TaskRouter router = Orchestration.TaskRouter.newBuilder() .setSourceAppID(sourceAppId) .build(); List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "instance-1", "\"data\"", router), orchestratorCompleted() ); executor.execute(new ArrayList<>(), newEvents); assertEquals(sourceAppId, capturedAppId[0]); } @Test void executionStarted_withNoRouter_appIdIsNull() { final String orchestratorName = "MyOrchestrator"; final String[] capturedAppId = new String[]{" sentinel "}; TaskOrchestration orchestration = ctx -> { capturedAppId[0] = ctx.getAppId(); ctx.complete(null); }; // Executor created with null appId TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, null); // No router on the event List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "instance-1", "\"data\"", null), orchestratorCompleted() ); executor.execute(new ArrayList<>(), newEvents); // appId should remain null since no router was present assertNull(capturedAppId[0]); } // ================================================================================== // Tests for completion action router // ================================================================================== @Test void completeOrchestration_withAppId_setsRouterOnCompletionAction() { final String orchestratorName = "MyOrchestrator"; final String appId = "my-app"; // Orchestrator that completes immediately with a result TaskOrchestration orchestration = ctx -> { ctx.complete("done"); }; TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, appId); Orchestration.TaskRouter router = Orchestration.TaskRouter.newBuilder() .setSourceAppID(appId) .build(); List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "instance-1", "\"input\"", router), orchestratorCompleted() ); TaskOrchestratorResult result = executor.execute(new ArrayList<>(), newEvents); List actions = new ArrayList<>(result.getActions()); assertEquals(1, actions.size()); OrchestratorActions.WorkflowAction action = actions.get(0); assertTrue(action.hasCompleteWorkflow()); assertEquals(Orchestration.OrchestrationStatus.ORCHESTRATION_STATUS_COMPLETED, action.getCompleteWorkflow().getWorkflowStatus()); // The completion action should have a router with source appId assertTrue(action.hasRouter()); assertEquals(appId, action.getRouter().getSourceAppID()); assertFalse(action.getRouter().hasTargetAppID()); } @Test void completeOrchestration_withNullAppId_noRouterOnCompletionAction() { final String orchestratorName = "MyOrchestrator"; TaskOrchestration orchestration = ctx -> { ctx.complete("done"); }; // Executor with null appId TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, null); List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "instance-1", "\"input\"", null), orchestratorCompleted() ); TaskOrchestratorResult result = executor.execute(new ArrayList<>(), newEvents); List actions = new ArrayList<>(result.getActions()); assertEquals(1, actions.size()); OrchestratorActions.WorkflowAction action = actions.get(0); assertTrue(action.hasCompleteWorkflow()); // No router should be set assertFalse(action.hasRouter()); } @Test void completeOrchestration_crossAppSubOrchestrator_routerHasTargetDerivedAppId() { final String orchestratorName = "SubOrchestrator"; final String parentAppId = "parent-app"; final String targetAppId = "child-app"; // Simulates a cross-app sub-orchestrator that receives a router with target TaskOrchestration orchestration = ctx -> { ctx.complete("sub-result"); }; TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, parentAppId); // Router has both source and target (cross-app suborchestration) Orchestration.TaskRouter router = Orchestration.TaskRouter.newBuilder() .setSourceAppID(parentAppId) .setTargetAppID(targetAppId) .build(); List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "sub-instance-1", "\"input\"", router), orchestratorCompleted() ); TaskOrchestratorResult result = executor.execute(new ArrayList<>(), newEvents); List actions = new ArrayList<>(result.getActions()); assertEquals(1, actions.size()); OrchestratorActions.WorkflowAction action = actions.get(0); assertTrue(action.hasCompleteWorkflow()); // The router source should be the target app (since that's where we're executing) assertTrue(action.hasRouter()); assertEquals(targetAppId, action.getRouter().getSourceAppID()); } // ================================================================================== // Tests for combined suborchestration + completion routing // ================================================================================== @Test void crossAppSubOrchestration_fullFlow_routersCorrectlySet() { final String orchestratorName = "ParentOrchestrator"; final String subOrchestratorName = "RemoteChild"; final String sourceAppId = "app1"; final String targetAppId = "app2"; // Parent orchestrator calls a cross-app sub-orchestration and then completes TaskOrchestration orchestration = ctx -> { TaskOptions options = TaskOptions.withAppID(targetAppId); ctx.callSubOrchestrator(subOrchestratorName, "data", "child-id-1", options, String.class); // Note: orchestrator will yield here waiting for the sub-orchestration to complete }; TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, sourceAppId); Orchestration.TaskRouter router = Orchestration.TaskRouter.newBuilder() .setSourceAppID(sourceAppId) .build(); List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "parent-instance", "\"start\"", router), orchestratorCompleted() ); TaskOrchestratorResult result = executor.execute(new ArrayList<>(), newEvents); List actions = new ArrayList<>(result.getActions()); // Should have 1 action: CreateSubOrchestration assertEquals(1, actions.size()); OrchestratorActions.WorkflowAction subAction = actions.get(0); assertTrue(subAction.hasCreateChildWorkflow()); OrchestratorActions.CreateChildWorkflowAction createSub = subAction.getCreateChildWorkflow(); assertEquals(subOrchestratorName, createSub.getName()); assertEquals("child-id-1", createSub.getInstanceId()); // Verify cross-app router on the sub-orchestration action assertTrue(createSub.hasRouter()); assertEquals(sourceAppId, createSub.getRouter().getSourceAppID()); assertEquals(targetAppId, createSub.getRouter().getTargetAppID()); // Verify cross-app router on the OrchestratorAction envelope assertTrue(subAction.hasRouter()); assertEquals(sourceAppId, subAction.getRouter().getSourceAppID()); assertEquals(targetAppId, subAction.getRouter().getTargetAppID()); } @Test void callSubOrchestrator_withEmptyAppId_noRouterSet() { final String orchestratorName = "ParentOrchestrator"; final String subOrchestratorName = "ChildOrchestrator"; TaskOrchestration orchestration = ctx -> { ctx.callSubOrchestrator(subOrchestratorName, "input", "child-1", null, String.class); }; // Executor created with empty appId TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, ""); List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "parent-instance", "\"hello\"", null), orchestratorCompleted() ); TaskOrchestratorResult result = executor.execute(new ArrayList<>(), newEvents); List actions = new ArrayList<>(result.getActions()); assertEquals(1, actions.size()); OrchestratorActions.WorkflowAction action = actions.get(0); assertTrue(action.hasCreateChildWorkflow()); // No router should be set when appId is empty assertFalse(action.getCreateChildWorkflow().hasRouter()); assertFalse(action.hasRouter()); } @Test void callSubOrchestrator_withRetryPolicyAndAppId_setsRouterAndRetries() { final String orchestratorName = "ParentOrchestrator"; final String subOrchestratorName = "ChildOrchestrator"; final String sourceAppId = "app1"; final String targetAppId = "app2"; TaskOrchestration orchestration = ctx -> { RetryPolicy retryPolicy = new RetryPolicy(3, Duration.ofSeconds(1)); TaskOptions options = TaskOptions.builder() .retryPolicy(retryPolicy) .appID(targetAppId) .build(); ctx.callSubOrchestrator(subOrchestratorName, "input", "child-1", options, String.class); }; TaskOrchestrationExecutor executor = createExecutor(orchestratorName, orchestration, sourceAppId); Orchestration.TaskRouter router = Orchestration.TaskRouter.newBuilder() .setSourceAppID(sourceAppId) .build(); List newEvents = List.of( orchestratorStarted(), executionStarted(orchestratorName, "parent-instance", "\"hello\"", router), orchestratorCompleted() ); TaskOrchestratorResult result = executor.execute(new ArrayList<>(), newEvents); // With RetriableTask the first attempt creates the action; we should still see // the sub-orchestration action with cross-app routing List actions = new ArrayList<>(result.getActions()); assertTrue(actions.size() >= 1); OrchestratorActions.WorkflowAction action = actions.get(0); assertTrue(action.hasCreateChildWorkflow()); OrchestratorActions.CreateChildWorkflowAction createSub = action.getCreateChildWorkflow(); assertTrue(createSub.hasRouter()); assertEquals(sourceAppId, createSub.getRouter().getSourceAppID()); assertEquals(targetAppId, createSub.getRouter().getTargetAppID()); } } ================================================ FILE: durabletask-client/src/test/java/io/dapr/durabletask/TaskOptionsTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.durabletask; import org.junit.jupiter.api.Test; import java.time.Duration; import static org.junit.jupiter.api.Assertions.*; /** * Unit tests for TaskOptions with cross-app workflow support. */ public class TaskOptionsTest { @Test void taskOptionsWithAppID() { TaskOptions options = TaskOptions.withAppID("app1"); assertTrue(options.hasAppID()); assertEquals("app1", options.getAppID()); assertFalse(options.hasRetryPolicy()); assertFalse(options.hasRetryHandler()); } @Test void taskOptionsWithRetryPolicyAndAppID() { RetryPolicy retryPolicy = new RetryPolicy(3, Duration.ofSeconds(1)); TaskOptions options = TaskOptions.builder() .retryPolicy(retryPolicy) .appID("app2") .build(); assertTrue(options.hasAppID()); assertEquals("app2", options.getAppID()); assertTrue(options.hasRetryPolicy()); assertEquals(retryPolicy, options.getRetryPolicy()); assertFalse(options.hasRetryHandler()); } @Test void taskOptionsWithRetryHandlerAndAppID() { RetryHandler retryHandler = new RetryHandler() { @Override public boolean handle(RetryContext context) { return context.getLastAttemptNumber() < 2; } }; TaskOptions options = TaskOptions.builder() .retryHandler(retryHandler) .appID("app3") .build(); assertTrue(options.hasAppID()); assertEquals("app3", options.getAppID()); assertFalse(options.hasRetryPolicy()); assertTrue(options.hasRetryHandler()); assertEquals(retryHandler, options.getRetryHandler()); } @Test void taskOptionsWithoutAppID() { TaskOptions options = TaskOptions.create(); assertFalse(options.hasAppID()); assertNull(options.getAppID()); } @Test void taskOptionsWithEmptyAppID() { TaskOptions options = TaskOptions.withAppID(""); assertFalse(options.hasAppID()); assertEquals("", options.getAppID()); } @Test void taskOptionsWithNullAppID() { TaskOptions options = TaskOptions.builder().appID(null).build(); assertFalse(options.hasAppID()); assertNull(options.getAppID()); } @Test void taskOptionsWithRetryPolicy() { RetryPolicy retryPolicy = new RetryPolicy(5, Duration.ofMinutes(1)); TaskOptions options = TaskOptions.withRetryPolicy(retryPolicy); assertTrue(options.hasRetryPolicy()); assertEquals(retryPolicy, options.getRetryPolicy()); assertFalse(options.hasRetryHandler()); assertFalse(options.hasAppID()); } @Test void taskOptionsWithRetryHandler() { RetryHandler retryHandler = new RetryHandler() { @Override public boolean handle(RetryContext context) { return context.getLastAttemptNumber() < 3; } }; TaskOptions options = TaskOptions.withRetryHandler(retryHandler); assertTrue(options.hasRetryHandler()); assertEquals(retryHandler, options.getRetryHandler()); assertFalse(options.hasRetryPolicy()); assertFalse(options.hasAppID()); } @Test void taskOptionsWithBuilderChaining() { RetryPolicy retryPolicy = new RetryPolicy(3, Duration.ofSeconds(1)); RetryHandler retryHandler = context -> true; TaskOptions options = TaskOptions.builder() .retryPolicy(retryPolicy) .retryHandler(retryHandler) .appID("test-app") .build(); assertNotNull(options); assertTrue(options.hasRetryPolicy()); assertEquals(retryPolicy, options.getRetryPolicy()); assertTrue(options.hasRetryHandler()); assertEquals(retryHandler, options.getRetryHandler()); assertTrue(options.hasAppID()); assertEquals("test-app", options.getAppID()); } } ================================================ FILE: examples/components/actors/redis.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: statestore spec: type: state.redis version: v1 metadata: - name: redisHost value: localhost:6379 - name: redisPassword value: "" - name: actorStateStore value: "true" ================================================ FILE: examples/components/bindings/kafka_bindings.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: sample123 spec: type: bindings.kafka version: v1 metadata: # Kafka broker connection setting - name: brokers value: localhost:9092 # consumer configuration: topic and consumer group - name: topics value: sample - name: consumerGroup value: group1 # publisher configuration: topic - name: publishTopic value: sample - name: authRequired value: "false" ================================================ FILE: examples/components/configuration/redis_configstore.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: configstore spec: type: configuration.redis version: v1 metadata: - name: redisHost value: localhost:6379 - name: redisPassword value: "" ================================================ FILE: examples/components/conversation/conversation.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: echo spec: type: conversation.echo version: v1 ================================================ FILE: examples/components/crypto/keys/.gitkeep ================================================ ================================================ FILE: examples/components/crypto/localstorage.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: localstoragecrypto spec: type: crypto.dapr.localstorage version: v1 metadata: # Path to the directory containing keys (PEM files) # This path is relative to the resources-path directory - name: path value: "./components/crypto/keys/" ================================================ FILE: examples/components/lock/redis_lockstore.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: lockstore spec: type: lock.redis version: v1 metadata: - name: redisHost value: localhost:6379 - name: redisPassword value: "" ================================================ FILE: examples/components/pubsub/redis_messagebus.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: messagebus spec: type: pubsub.redis version: v1 metadata: - name: redisHost value: localhost:6379 - name: redisPassword value: "" scopes: - publisher - bulk-publisher - subscriber - publisher-tracing ================================================ FILE: examples/components/secrets/local_file.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: localSecretStore namespace: default spec: type: secretstores.local.file version: v1 metadata: - name: secretsFile value: "./components/secrets/secret.json" - name: nestedSeparator value: ":" - name: multiValued value: "false" ================================================ FILE: examples/components/state/mongo.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: mongo-statestore spec: type: state.mongodb version: v1 metadata: - name: host value: localhost:27017 - name: databaseName value: local - name: collectionName value: propertyCollection ================================================ FILE: examples/components/state/redis.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: statestore spec: type: state.redis version: v1 metadata: - name: redisHost value: localhost:6379 - name: redisPassword value: "" - name: actorStateStore value: "true" ================================================ FILE: examples/components/workflows/redis.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: statestore spec: type: state.redis version: v1 metadata: - name: redisHost value: localhost:6379 - name: redisPassword value: "" - name: actorStateStore value: "true" ================================================ FILE: examples/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml dapr-sdk-examples jar dapr-sdk-examples ${project.build.directory}/generated-sources ${project.basedir}/proto 17 ${java.version} ${java.version} false commons-cli commons-cli io.grpc grpc-protobuf io.grpc grpc-stub io.grpc grpc-api io.grpc grpc-testing test com.google.protobuf protobuf-java-util org.springframework.boot spring-boot-starter-web com.jayway.jsonpath json-path io.opentelemetry opentelemetry-sdk io.opentelemetry opentelemetry-exporter-logging io.opentelemetry opentelemetry-sdk-metrics io.opentelemetry opentelemetry-exporter-zipkin io.zipkin.reporter2 zipkin-reporter io.zipkin.reporter2 zipkin-sender-urlconnection org.junit.jupiter junit-jupiter test org.mockito mockito-core compile org.junit.platform junit-platform-console-standalone compile io.dapr dapr-sdk-springboot ${project.version} io.dapr dapr-sdk-actors ${project.version} io.dapr dapr-sdk-workflows ${project.version} io.dapr dapr-sdk ${project.version} com.evanlennick retry4j javax.annotation javax.annotation-api com.google.protobuf protobuf-java org.xolstice.maven.plugins protobuf-maven-plugin ${protobuf-maven-plugin.version} com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier} grpc-java io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier} ${protobuf.input.directory} compile compile-custom org.apache.maven.plugins maven-compiler-plugin ${maven-compiler-plugin.version} ${java.version} org.apache.maven.plugins maven-site-plugin ${maven-site-plugin.version} true org.springframework.boot spring-boot-maven-plugin ${springboot.version} repackage io.dapr.examples.DaprMainApplication exec dapr-java-sdk-examples org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: examples/proto/helloworld.proto ================================================ syntax = "proto3"; package daprexamples; option java_outer_classname = "DaprExamplesProtos"; option java_package = "io.dapr.examples"; // User Code definitions service HelloWorld { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {} } // The request message containing the user's name. message HelloRequest { string name = 1; } // The response message containing the greetings message HelloReply { string message = 1; } ================================================ FILE: examples/spotbugs-exclude.xml ================================================ ================================================ FILE: examples/src/main/java/io/dapr/examples/DaprApplication.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Dapr's callback implementation via SpringBoot. */ @SpringBootApplication public class DaprApplication { /** * Starts Dapr's callback in a given port and specified protocol. * * @param port Port to listen to. * @param protocal select Http or gRPC to run. */ public static void start(String protocal, int port) { SpringApplication app = new SpringApplication(DaprApplication.class); String args; if (protocal.equals("grpc")) { args = String.format("--grpc.server.port=%d", port); } else if (protocal.equals("http")) { args = String.format("--server.port=%d", port); } else { System.out.println("please select protocal in grpc or http."); return; } app.run(args); } /** * Starts Dapr's callback in a given port. HTTP is used by default. * * @param port Port to listen to. */ public static void start(int port) { SpringApplication app = new SpringApplication(DaprApplication.class); app.run(String.format("--server.port=%d", port)); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/DaprConfig.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class DaprConfig { private static final DaprClientBuilder BUILDER = new DaprClientBuilder(); @Bean public DaprClient buildDaprClient() { return BUILDER.build(); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/DaprMainApplication.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples; import java.lang.reflect.Method; import java.util.Arrays; /** * Dapr's Main Application to run using fatjar. This class will call the main source provided by user dynamically. */ public class DaprMainApplication { /** * Calls main method of the class provided by the user. * @param args Accepts the classname as the first parameter. The rest are passed as argument as args. */ public static void main(String[] args) throws Exception { String[] arguments; if (args.length < 1) { throw new IllegalArgumentException("Requires at least one argument - name of the main class"); } else { arguments = Arrays.copyOfRange(args, 1, args.length); Class mainClass = Class.forName(args[0]); Method mainMethod = mainClass.getDeclaredMethod("main", String[].class); Object[] methodArgs = new Object[1]; methodArgs[0] = arguments; mainMethod.invoke(mainClass, methodArgs); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/OpenTelemetryConfig.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples; import io.dapr.examples.invoke.http.InvokeClient; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator; import io.opentelemetry.context.Context; import io.opentelemetry.context.propagation.ContextPropagators; import io.opentelemetry.context.propagation.TextMapSetter; import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter; import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.resources.Resource; import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.io.IOException; import java.net.Socket; import java.util.HashMap; import java.util.Map; @Configuration @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) public class OpenTelemetryConfig { private static final int ZIPKIN_PORT = 9411; private static final String ENDPOINT_V2_SPANS = "/api/v2/spans"; @Bean public OpenTelemetry initOpenTelemetry() { return createOpenTelemetry(); } @Bean public Tracer initTracer(@Autowired OpenTelemetry openTelemetry) { return openTelemetry.getTracer(io.dapr.examples.tracing.InvokeClient.class.getCanonicalName()); } /** * Creates an opentelemetry instance. * @return OpenTelemetry. */ public static OpenTelemetrySdk createOpenTelemetry() { // Only exports to Zipkin if it is up. Otherwise, ignore it. // This is helpful to avoid exceptions for examples that do not require Zipkin. if (isZipkinUp()) { Resource serviceResource = Resource.getDefault() .toBuilder() .put("service.name", InvokeClient.class.getName()) // Use ResourceAttributes constant .build(); String httpUrl = String.format("http://localhost:%d", ZIPKIN_PORT); ZipkinSpanExporter zipkinExporter = ZipkinSpanExporter.builder() .setEndpoint(httpUrl + ENDPOINT_V2_SPANS) .build(); SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder() .setResource(serviceResource) .addSpanProcessor(SimpleSpanProcessor.create(zipkinExporter)) .build(); return OpenTelemetrySdk.builder() .setTracerProvider(sdkTracerProvider) .setPropagators(ContextPropagators.create(W3CTraceContextPropagator.getInstance())) .buildAndRegisterGlobal(); } else { System.out.println("WARNING: Zipkin is not available."); } return null; } /** * Converts current OpenTelemetry's context into Reactor's context. * @return Reactor's context. */ public static reactor.util.context.ContextView getReactorContext() { return getReactorContext(Context.current()); } /** * Converts given OpenTelemetry's context into Reactor's context. * @param context OpenTelemetry's context. * @return Reactor's context. */ public static reactor.util.context.Context getReactorContext(Context context) { Map map = new HashMap<>(); TextMapSetter> setter = (carrier, key, value) -> map.put(key, value); GlobalOpenTelemetry.getPropagators().getTextMapPropagator().inject(context, map, setter); reactor.util.context.Context reactorContext = reactor.util.context.Context.empty(); for (Map.Entry entry : map.entrySet()) { reactorContext = reactorContext.put(entry.getKey(), entry.getValue()); } return reactorContext; } private static boolean isZipkinUp() { try (Socket ignored = new Socket("localhost", ZIPKIN_PORT)) { return true; } catch (IOException ignored) { return false; } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/OpenTelemetryInterceptor.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.context.Context; import io.opentelemetry.context.propagation.TextMapGetter; import io.opentelemetry.context.propagation.TextMapPropagator; import jakarta.servlet.DispatcherType; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Nullable; import java.util.Collections; @Component public class OpenTelemetryInterceptor implements HandlerInterceptor { @Autowired private OpenTelemetry openTelemetry; private static final TextMapGetter HTTP_SERVLET_REQUEST_GETTER = new TextMapGetter<>() { @Override public Iterable keys(HttpServletRequest carrier) { return Collections.list(carrier.getHeaderNames()); } @Nullable @Override public String get(@Nullable HttpServletRequest carrier, String key) { return carrier.getHeader(key); } }; @Override public boolean preHandle( HttpServletRequest request, HttpServletResponse response, Object handler) { final TextMapPropagator textFormat = openTelemetry.getPropagators().getTextMapPropagator(); // preHandle is called twice for asynchronous request. For more information, read: // https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/AsyncHandlerInterceptor.html if (request.getDispatcherType() == DispatcherType.ASYNC) { return true; } Context context = textFormat.extract(Context.current(), request, HTTP_SERVLET_REQUEST_GETTER); request.setAttribute("opentelemetry-context", context); return true; } @Override public void postHandle( HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) { } } ================================================ FILE: examples/src/main/java/io/dapr/examples/OpenTelemetryInterceptorConfig.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; @Component public class OpenTelemetryInterceptorConfig extends WebMvcConfigurationSupport { @Autowired OpenTelemetryInterceptor interceptor; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(interceptor); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/actors/DemoActor.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.actors; import io.dapr.actors.ActorMethod; import io.dapr.actors.ActorType; import reactor.core.publisher.Mono; /** * Example of implementation of an Actor. */ @ActorType(name = "DemoActor") public interface DemoActor { void registerTimer(String state); void registerReminder(int index); @ActorMethod(name = "echo_message") String say(String something); void clock(String message); @ActorMethod(returns = Integer.class) Mono incrementAndGet(int delta); } ================================================ FILE: examples/src/main/java/io/dapr/examples/actors/DemoActorClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorClient; import io.dapr.actors.client.ActorProxyBuilder; import java.util.ArrayList; import java.util.List; /** * Client for Actor runtime to invoke actor methods. * 1. Build and install jars: * mvn clean install * 2. cd to [repo-root]/examples * 3. Run the client: * dapr run --resources-path ./components/actors --app-id demoactorclient -- java -jar \ * target/dapr-java-sdk-examples-exec.jar io.dapr.examples.actors.DemoActorClient */ public class DemoActorClient { private static final int NUM_ACTORS = 3; /** * The main method. * @param args Input arguments (unused). * @throws InterruptedException If program has been interrupted. */ public static void main(String[] args) throws InterruptedException { try (ActorClient client = new ActorClient()) { ActorProxyBuilder builder = new ActorProxyBuilder(DemoActor.class, client); List threads = new ArrayList<>(NUM_ACTORS); // Creates multiple actors. for (int i = 0; i < NUM_ACTORS; i++) { ActorId actorId = ActorId.createRandom(); DemoActor actor = builder.build(actorId); // Start a thread per actor. int finalI = i; Thread thread = new Thread(() -> callActorForever(finalI, actorId.toString(), actor)); thread.start(); threads.add(thread); } // Waits for threads to finish. for (Thread thread : threads) { thread.join(); } } System.out.println("Done."); } /** * Makes multiple method calls into actor until interrupted. * @param actorId Actor's identifier. * @param actor Actor to be invoked. */ private static final void callActorForever(int index, String actorId, DemoActor actor) { // First, register reminder. actor.registerReminder(index); // Second register timer. actor.registerTimer("ping! {" + index + "} "); // Now, we run until thread is interrupted. while (!Thread.currentThread().isInterrupted()) { // Invoke actor method to increment counter by 1, then build message. int messageNumber = actor.incrementAndGet(1).block(); String message = String.format("Message #%d received from actor at index %d with ID %s", messageNumber, index, actorId); // Invoke the 'say' method in actor. String result = actor.say(message); System.out.println(String.format("Reply %s received from actor at index %d with ID %s ", result, index, actorId)); try { // Waits for up to 1 second. Thread.sleep((long) (1000 * Math.random())); } catch (InterruptedException e) { // We have been interrupted, so we set the interrupted flag to exit gracefully. Thread.currentThread().interrupt(); } } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/actors/DemoActorImpl.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.actors; import io.dapr.actors.ActorId; import io.dapr.actors.runtime.AbstractActor; import io.dapr.actors.runtime.ActorRuntimeContext; import io.dapr.actors.runtime.Remindable; import io.dapr.utils.TypeRef; import reactor.core.publisher.Mono; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.time.Duration; import java.util.Calendar; import java.util.TimeZone; /** * Implementation of the DemoActor for the server side. */ public class DemoActorImpl extends AbstractActor implements DemoActor, Remindable { /** * Format to output date and time. */ private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); /** * This is the constructor of an actor implementation, while also registering a timer. * @param runtimeContext The runtime context object which contains objects such as the state provider. * @param id The id of this actor. */ public DemoActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); } /** * Register a timer. */ @Override public void registerTimer(String state) { // For example, the state will be formatted as `ping! {INDEX}` where INDEX is the index of the actor related to ID. super.registerActorTimer( null, "clock", state, Duration.ofSeconds(2), Duration.ofSeconds(1)).block(); } /** * Registers a reminder. */ @Override public void registerReminder(int index) { // For this example, the state reminded by the reminder is deterministic to be the index(not ID) of the actor. super.registerReminder( "myremind", index, Duration.ofSeconds(5), Duration.ofSeconds(2)).block(); } /** * Prints a message and appends the timestamp. * @param something Something to be said. * @return What was said appended with timestamp. */ @Override public String say(String something) { Calendar utcNow = Calendar.getInstance(TimeZone.getTimeZone("GMT")); String utcNowAsString = DATE_FORMAT.format(utcNow.getTime()); // Handles the request by printing message. System.out.println("Server say method for actor " + super.getId() + ": " + (something == null ? "" : something + " @ " + utcNowAsString)); super.getActorStateManager().set("lastmessage", something).block(); // Now respond with current timestamp. return utcNowAsString; } /** * Increments a persistent counter, saves and returns its updated value. * Example of method implemented with Reactor's Mono class. * This method could be rewritten with blocking calls in Mono, using block() method: * *

    public int incrementAndGet(int delta) { * int counter = 0; * if (super.getActorStateManager().contains("counter").block()) { * counter = super.getActorStateManager().get("counter", int.class).block(); * } * counter = counter + 1; * super.getActorStateManager().set("counter", counter).block(); * return counter; * }

    * @param delta Amount to be added to counter. * @return Mono response for the incremented value. */ @Override public Mono incrementAndGet(int delta) { return super.getActorStateManager().contains("counter") .flatMap(exists -> exists ? super.getActorStateManager().get("counter", int.class) : Mono.just(0)) .map(c -> c + delta) .flatMap(c -> super.getActorStateManager().set("counter", c).thenReturn(c)); } /** * Method invoked by timer. * @param message Message to be printed. */ @Override public void clock(String message) { Calendar utcNow = Calendar.getInstance(TimeZone.getTimeZone("GMT")); String utcNowAsString = DATE_FORMAT.format(utcNow.getTime()); // Handles the request by printing message. System.out.println("Server timer triggered with state " + (message == null ? "" : message) + " for actor " + super.getId() + "@ " + utcNowAsString); } /** * Method used to determine reminder's state type. * @return Class for reminder's state. */ @Override public TypeRef getStateType() { return TypeRef.INT; } /** * Method used be invoked for a reminder. * @param reminderName The name of reminder provided during registration. * @param state The user state provided during registration. * @param dueTime The invocation due time provided during registration. * @param period The invocation period provided during registration. * @return Mono result. */ @Override public Mono receiveReminder(String reminderName, Integer state, Duration dueTime, Duration period) { return Mono.fromRunnable(() -> { Calendar utcNow = Calendar.getInstance(TimeZone.getTimeZone("GMT")); String utcNowAsString = DATE_FORMAT.format(utcNow.getTime()); String message = String.format("Reminder %s with state {%d} triggered for actor %s @ %s", reminderName, state, this.getId(), utcNowAsString); // Handles the request by printing message. System.out.println(message); }); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/actors/DemoActorService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.actors; import io.dapr.actors.runtime.ActorRuntime; import io.dapr.examples.DaprApplication; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Options; import java.time.Duration; /** * Service for Actor runtime. * 1. Build and install jars: * mvn clean install * 2. cd to [repo-root]/examples * 3. Run the server: * dapr run --resources-path ./components/actors --app-id demoactorservice --app-port 3000 \ * -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.actors.DemoActorService -p 3000 */ public class DemoActorService { /** * The main method of this app. * @param args The port the app will listen on. * @throws Exception An Exception. */ public static void main(String[] args) throws Exception { Options options = new Options(); options.addRequiredOption("p", "port", true, "Port the will listen to."); CommandLineParser parser = new DefaultParser(); CommandLine cmd = parser.parse(options, args); // If port string is not valid, it will throw an exception. final int port = Integer.parseInt(cmd.getOptionValue("port")); // Idle timeout until actor instance is deactivated. ActorRuntime.getInstance().getConfig().setActorIdleTimeout(Duration.ofSeconds(30)); // How often actor instances are scanned for deactivation and balance. ActorRuntime.getInstance().getConfig().setActorScanInterval(Duration.ofSeconds(10)); // How long to wait until for draining an ongoing API call for an actor instance. ActorRuntime.getInstance().getConfig().setDrainOngoingCallTimeout(Duration.ofSeconds(10)); // Determines whether to drain API calls for actors instances being balanced. ActorRuntime.getInstance().getConfig().setDrainBalancedActors(true); // Register the Actor class. ActorRuntime.getInstance().registerActor(DemoActorImpl.class); // Start Dapr's callback endpoint. DaprApplication.start(port); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/actors/README.md ================================================ # Dapr Actors Sample In this example, we'll use Dapr to test the actor pattern capabilities such as concurrency, state, life-cycle management for actor activation/deactivation, timers, and reminders to wake-up actors. Visit [this](https://docs.dapr.io/developing-applications/building-blocks/actors/) link for more information about the Actor pattern. This example contains the follow classes: * DemoActor: The interface for the actor. Exposes the different actor features. * DemoActorImpl: The implementation for the DemoActor interface. Handles the logic behind the different actor features. * DemoActorService: A Spring Boot application service that registers the actor into the Dapr actor runtime. * DemoActorClient: This class will create and execute actors and its capabilities by using Dapr. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Get into the examples directory. ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ### Running the Demo actor service The first Java class is `DemoActorService`. It's job is to register an implementation of `DemoActor` in the Dapr's Actor runtime. In the `DemoActorService.java` file, you will find the `DemoActorService` class and the `main` method. See the code snippet below: ```java public class DemoActorService { public static void main(String[] args) throws Exception { ///... // Register the Actor class. ActorRuntime.getInstance().registerActor(DemoActorImpl.class); // Start Dapr's callback endpoint. DaprApplication.start(port); } } ``` This application uses `ActorRuntime.getInstance().registerActor()` in order to register `DemoActorImpl` as an actor in the Dapr Actor runtime. Internally, it is using `DefaultObjectSerializer` for two properties: `objectSerializer` is for Dapr's sent and received objects, and `stateSerializer` is for objects to be persisted. `DaprApplication.start()` method will run the Spring Boot [DaprApplication](https://github.com/dapr/java-sdk/blob/master/sdk-tests/src/test/java/io/dapr/it/actors/services/springboot/DaprApplication.java), which registers the Dapr Spring Boot controller [DaprController](https://github.com/dapr/java-sdk/blob/master/sdk-springboot/src/main/java/io/dapr/springboot/DaprController.java). This controller contains all Actor methods implemented as endpoints. The Dapr's sidecar will call into the controller. See [DemoActorImpl](DemoActorImpl.java) for details on the implementation of an actor: ```java public class DemoActorImpl extends AbstractActor implements DemoActor, Remindable { //... public DemoActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); //... } @Override public void registerTimer(String state) { //... } @Override public void registerReminder(int index) { //... } @Override public String say(String something) { //... } @Override public Mono incrementAndGet(int delta) { //... } @Override public void clock(String message) { //... } @Override public Class getStateType() { return Integer.class; } @Override public Mono receiveReminder(String reminderName, Integer state, Duration dueTime, Duration period) { //... } } ``` An actor inherits from `AbstractActor` and implements the constructor to pass through `ActorRuntimeContext` and `ActorId`. By default, the actor's name will be the same as the class' name. Optionally, it can be annotated with `ActorType` and override the actor's name. The actor's methods can be synchronously or use [Project Reactor's Mono](https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Mono.html) return type. Finally, state management is done via methods in `super.getActorStateManager()`. The `DemoActor` interface is used by the Actor runtime and also client. See how the `DemoActor` interface can be annotated as a Dapr Actor. ```java import io.dapr.actors.ActorMethod; /** * Example of implementation of an Actor. */ @ActorType(name = "DemoActor") public interface DemoActor { void registerTimer(String state); void registerReminder(int index); @ActorMethod(name = "echo_message") String say(String something); void clock(String message); @ActorMethod(returns = Integer.class) Mono incrementAndGet(int delta); } ``` The `@ActorType` annotation indicates the Dapr Java SDK that this interface is an Actor Type, allowing a name for the type to be defined. The `@ActorMethod` annotation can be applied to an interface method to specify configuration for that method. In this example, the `say` method, is renamed to `echo_message` - this can be used when invoking an actor method implemented in a different programming language (like C# or Python) and the method name does not match Java's naming conventions. Some methods can return a `Mono` object. In these cases, the `@ActorMethod` annotation is used to hint the Dapr Java SDK of the type encapsulated in the `Mono` object. You can read more about Java generic type erasure [here](https://docs.oracle.com/javase/tutorial/java/generics/erasure.html). Now, execute the following script in order to run DemoActorService: ```sh dapr run --resources-path ./components/actors --app-id demoactorservice --app-port 3000 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.actors.DemoActorService -p 3000 ``` ### Running the Actor client The actor client is a simple java class with a main method that uses the Dapr Actor capabilities in order to create the actors and execute the different methods based on the Actor pattern. The `DemoActorClient.java` file contains the `DemoActorClient` class. See the code snippet below: ```java public class DemoActorClient { private static final int NUM_ACTORS = 3; public static void main(String[] args) throws InterruptedException { try (ActorClient client = new ActorClient()) { ActorProxyBuilder builder = new ActorProxyBuilder(DemoActor.class, client); ///... for (int i = 0; i < NUM_ACTORS; i++) { DemoActor actor = builder.build(ActorId.createRandom()); // Start a thread per actor. Thread thread = new Thread(() -> callActorForever(actorId.toString(), actor)); thread.start(); threads.add(thread); } ///... } } private static final void callActorForever(int index, String actorId, DemoActor actor) { // First, register reminder. actor.registerReminder(index); // Second register timer. actor.registerTimer("ping! {" + index + "} "); // Now, we run until thread is interrupted. while (!Thread.currentThread().isInterrupted()) { // Invoke actor method to increment counter by 1, then build message. int messageNumber = actor.incrementAndGet(1).block(); String message = String.format("Message #%d received from actor at index %d with ID %s", messageNumber, index, actorId); // Invoke the 'say' method in actor. String result = actor.say(message); System.out.println(String.format("Reply %s received from actor at index %d with ID %s ", result, index, actorId)); try { // Waits for up to 1 second. Thread.sleep((long) (1000 * Math.random())); } catch (InterruptedException e) { // We have been interrupted, so we set the interrupted flag to exit gracefully. Thread.currentThread().interrupt(); } } } } ``` First, the client defines how many actors it is going to create. The main method declares a `ActorClient` and `ActorProxyBuilder` to create instances of the `DemoActor` interface, which are implemented automatically by the SDK and make remote calls to the equivalent methods in Actor runtime. `ActorClient` is reusable for different actor types and should be instantiated only once in your code. `ActorClient` also implements `AutoCloseable`, which means it holds resources that need to be closed. In this example, we use the "try-resource" feature in Java. Then, the code executes the `callActorForever` private method once per actor. Initially, it will invoke `registerReminder()`, which sets the due time and period for the reminder. Then, `incrementAndGet()` increments a counter, persists it and sends it back as response. Finally, `say` method will print a message containing the received string along with the formatted server time. Use the following command to execute the DemoActorClient: ```sh dapr run --resources-path ./components/actors --app-id demoactorclient -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.actors.DemoActorClient ``` Once running, the `demoactorservice` logs will start displaying the different steps: First, we can see actors being activated and the `say` method being invoked: ```text 2023-05-23 11:04:47,348 {HH:mm:ss.SSS} [http-nio-3000-exec-5] INFO io.dapr.actors.ActorTrace - Actor:a855706e-f477-4530-9bff-d7b1cd2988f8 Activating ... 2023-05-23 11:04:47,348 {HH:mm:ss.SSS} [http-nio-3000-exec-6] INFO io.dapr.actors.ActorTrace - Actor:4720f646-baaa-4fae-86dd-aec2fc2ead6e Activating ... 2023-05-23 11:04:47,348 {HH:mm:ss.SSS} [http-nio-3000-exec-7] INFO io.dapr.actors.ActorTrace - Actor:d54592a5-5b5b-4925-8974-6cf309fbdbbf Activating ... 2023-05-23 11:04:47,348 {HH:mm:ss.SSS} [http-nio-3000-exec-5] INFO io.dapr.actors.ActorTrace - Actor:a855706e-f477-4530-9bff-d7b1cd2988f8 Activated 2023-05-23 11:04:47,348 {HH:mm:ss.SSS} [http-nio-3000-exec-7] INFO io.dapr.actors.ActorTrace - Actor:d54592a5-5b5b-4925-8974-6cf309fbdbbf Activated 2023-05-23 11:04:47,348 {HH:mm:ss.SSS} [http-nio-3000-exec-6] INFO io.dapr.actors.ActorTrace - Actor:4720f646-baaa-4fae-86dd-aec2fc2ead6e Activated Server say method for actor d54592a5-5b5b-4925-8974-6cf309fbdbbf: Message #2 received from actor at index 1 with ID d54592a5-5b5b-4925-8974-6cf309fbdbbf @ 2023-05-23 11:04:48.459 Server say method for actor 4720f646-baaa-4fae-86dd-aec2fc2ead6e: Message #4 received from actor at index 2 with ID 4720f646-baaa-4fae-86dd-aec2fc2ead6e @ 2023-05-23 11:04:48.695 Server say method for actor d54592a5-5b5b-4925-8974-6cf309fbdbbf: Message #3 received from actor at index 1 with ID d54592a5-5b5b-4925-8974-6cf309fbdbbf @ 2023-05-23 11:04:48.708 ``` Then we can see reminders and timers in action: ```text Server timer triggered with state ping! {0} for actor a855706e-f477-4530-9bff-d7b1cd2988f8@ 2023-05-23 11:04:49.021 Server timer triggered with state ping! {1} for actor d54592a5-5b5b-4925-8974-6cf309fbdbbf@ 2023-05-23 11:04:49.021 Reminder myremind with state {2} triggered for actor 4720f646-baaa-4fae-86dd-aec2fc2ead6e @ 2023-05-23 11:04:52.012 Reminder myremind with state {1} triggered for actor d54592a5-5b5b-4925-8974-6cf309fbdbbf @ 2023-05-23 11:04:52.012 Reminder myremind with state {0} triggered for actor a855706e-f477-4530-9bff-d7b1cd2988f8 @ 2023-05-23 11:04:52.012 ``` Finally, the console for `demoactorclient` got the service responses: ```text Reply 2023-05-23 11:04:49.288 received from actor at index 0 with ID a855706e-f477-4530-9bff-d7b1cd2988f8 Reply 2023-05-23 11:04:49.408 received from actor at index 0 with ID a855706e-f477-4530-9bff-d7b1cd2988f8 Reply 2023-05-23 11:04:49.515 received from actor at index 1 with ID d54592a5-5b5b-4925-8974-6cf309fbdbbf Reply 2023-05-23 11:04:49.740 received from actor at index 0 with ID a855706e-f477-4530-9bff-d7b1cd2988f8 Reply 2023-05-23 11:04:49.863 received from actor at index 2 with ID 4720f646-baaa-4fae-86dd-aec2fc2ead6e ``` For more details on Dapr SpringBoot integration, please refer to [Dapr Spring Boot](https://github.com/dapr/java-sdk/blob/master/sdk-tests/src/test/java/io/dapr/it/actors/services/springboot/DaprApplication.java) Application implementation. ### Limitations Currently, these are the limitations in the Java SDK for Dapr: * Actor interface cannot have overloaded methods (methods with same name, but different signature). * Actor methods can only have zero or one parameter. ================================================ FILE: examples/src/main/java/io/dapr/examples/baggage/BaggageClient.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.baggage; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.Headers; import io.dapr.client.domain.HttpExtension; import reactor.util.context.Context; /** * Example demonstrating W3C Baggage propagation with the Dapr Java SDK. * *

    Baggage allows propagating key-value pairs across service boundaries alongside * distributed traces. This is useful for passing contextual information (e.g., user IDs, * tenant IDs, feature flags) without modifying request payloads. * *

    The Dapr runtime supports baggage propagation as defined by the * W3C Baggage specification. * *

    Usage

    *
      *
    1. Build and install jars: {@code mvn clean install}
    2. *
    3. {@code cd [repo root]/examples}
    4. *
    5. Start the target service: * {@code dapr run --app-id target-service --app-port 3000 -- java -jar target/dapr-java-sdk-examples-exec.jar * io.dapr.examples.invoke.http.DemoService -p 3000}
    6. *
    7. Run the client: * {@code dapr run -- java -jar target/dapr-java-sdk-examples-exec.jar * io.dapr.examples.baggage.BaggageClient}
    8. *
    */ public class BaggageClient { /** * The main method to run the baggage example. * * @param args command line arguments (unused). * @throws Exception on any error. */ public static void main(String[] args) throws Exception { try (DaprClient client = new DaprClientBuilder().build()) { // Build the W3C Baggage header value. // Format: key1=value1,key2=value2 // See https://www.w3.org/TR/baggage/#header-content String baggageValue = "userId=alice,tenantId=acme-corp,featureFlag=new-ui"; System.out.println("Invoking service with baggage: " + baggageValue); // Propagate baggage via Reactor context. // The SDK automatically injects the "baggage" header into outgoing gRPC // and HTTP requests when present in the Reactor context. byte[] response = client.invokeMethod( "target-service", "say", "hello with baggage", HttpExtension.POST, null, byte[].class) .contextWrite(Context.of(Headers.BAGGAGE, baggageValue)) .block(); if (response != null) { System.out.println("Response: " + new String(response)); } // You can also combine baggage with tracing context. System.out.println("\nInvoking service with baggage and tracing context..."); response = client.invokeMethod( "target-service", "say", "hello with baggage and tracing", HttpExtension.POST, null, byte[].class) .contextWrite(Context.of(Headers.BAGGAGE, baggageValue) .put("traceparent", "00-0af7651916cd43dd8448eb211c80319c-b9c7c989f97918e1-01")) .block(); if (response != null) { System.out.println("Response: " + new String(response)); } System.out.println("Done."); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/baggage/README.md ================================================ # Baggage Propagation Example This example demonstrates [W3C Baggage](https://www.w3.org/TR/baggage/) propagation using the Dapr Java SDK. ## Overview Baggage allows you to propagate key-value pairs across service boundaries alongside distributed traces. This is useful for passing contextual information — such as user IDs, tenant IDs, or feature flags — without modifying request payloads. The Dapr runtime supports baggage propagation as described in [Dapr PR #8649](https://github.com/dapr/dapr/pull/8649). The Java SDK propagates the `baggage` header via both gRPC metadata and HTTP headers automatically when the value is present in Reactor's context. ## How It Works The SDK reads the `baggage` key from Reactor's `ContextView` and injects it into: - **gRPC metadata** via `DaprBaggageInterceptor` - **HTTP headers** via `DaprHttp` (added to the context-to-header allowlist) To propagate baggage, add it to the Reactor context using `.contextWrite()`: ```java import io.dapr.client.Headers; import reactor.util.context.Context; client.invokeMethod("target-service", "say", "hello", HttpExtension.POST, null, byte[].class) .contextWrite(Context.of(Headers.BAGGAGE, "userId=alice,tenantId=acme-corp")) .block(); ``` The baggage value follows the [W3C Baggage header format](https://www.w3.org/TR/baggage/#header-content): ``` key1=value1,key2=value2 ``` Each list-member can optionally include properties: ``` key1=value1;property1;property2,key2=value2 ``` ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/) * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ## Running the Example ### 1. Build and install jars ```sh # From the java-sdk root directory mvn clean install ``` ### 2. Start the target service In one terminal, start the demo service: ```sh cd examples dapr run --app-id target-service --app-port 3000 -- \ java -jar target/dapr-java-sdk-examples-exec.jar \ io.dapr.examples.invoke.http.DemoService -p 3000 ``` ### 3. Run the baggage client In another terminal: ```sh cd examples dapr run -- java -jar target/dapr-java-sdk-examples-exec.jar \ io.dapr.examples.baggage.BaggageClient ``` You should see output like: ``` Invoking service with baggage: userId=alice,tenantId=acme-corp,featureFlag=new-ui Response: ... Done. ``` ## Combining Baggage with Tracing You can propagate both baggage and tracing context together by adding multiple entries to the Reactor context: ```java client.invokeMethod("target-service", "say", "hello", HttpExtension.POST, null, byte[].class) .contextWrite(Context.of(Headers.BAGGAGE, "userId=alice") .put("traceparent", "00-0af7651916cd43dd8448eb211c80319c-b9c7c989f97918e1-01")) .block(); ``` Both the `baggage` and `traceparent` headers will be propagated to downstream services via Dapr. ================================================ FILE: examples/src/main/java/io/dapr/examples/bindings/http/InputBindingController.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.bindings.http; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; /** * SpringBoot Controller to handle input binding. */ @RestController public class InputBindingController { /** * Handles input binding from Dapr. * @param body Content from Dapr's sidecar. * @return Empty Mono. */ @PostMapping(path = "/sample123") public Mono handleInputBinding(@RequestBody(required = false) byte[] body) { return Mono.fromRunnable(() -> System.out.println("Received message through binding: " + (body == null ? "" : new String(body)))); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/bindings/http/InputBindingExample.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.bindings.http; import io.dapr.examples.DaprApplication; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Options; /** * Service for input binding example. * 1. From your repo root, build and install jars: * mvn clean install * 2. cd to [repo-root]/examples * 3. Run : * dapr run --resources-path ./components/bindings --app-id inputbinding --app-port 3000 \ * -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.bindings.http.InputBindingExample -p 3000 */ public class InputBindingExample { /** * The entry point of this app. * @param args The port this app will listen on. * @throws Exception The Exception. */ public static void main(String[] args) throws Exception { Options options = new Options(); options.addRequiredOption("p", "port", true, "The port this app will listen on."); CommandLineParser parser = new DefaultParser(); CommandLine cmd = parser.parse(options, args); // If port string is not valid, it will throw an exception. int port = Integer.parseInt(cmd.getOptionValue("port")); // Start Dapr's callback endpoint. DaprApplication.start(port); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/bindings/http/OutputBindingExample.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.bindings.http; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; /** * Service for output binding example. * 1. From your repo root, build and install jars: * mvn clean install * 2. cd to [repo-root]/examples * 3. Run the program: * dapr run --resources-path ./components/bindings --app-id outputbinding \ * -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.bindings.http.OutputBindingExample */ public class OutputBindingExample { public static class MyClass { public MyClass() { } public String message; } static final String BINDING_NAME = "sample123"; static final String BINDING_OPERATION = "create"; /** * The main method of this app. * * @param args Not used. */ @SuppressWarnings("checkstyle:AbbreviationAsWordInName") public static void main(String[] args) throws Exception { try (DaprClient client = new DaprClientBuilder().build()) { int count = 0; while (!Thread.currentThread().isInterrupted()) { String message = "Message #" + (count); // On even number, send class message if (count % 2 == 0) { // This is an example of sending data in a user-defined object. The input binding will receive: // {"message":"hello"} MyClass myClass = new MyClass(); myClass.message = message; System.out.println("sending a class with message: " + myClass.message); client.invokeBinding(BINDING_NAME, BINDING_OPERATION, myClass).block(); } else { System.out.println("sending a plain string: " + message); client.invokeBinding(BINDING_NAME, BINDING_OPERATION, message).block(); } count++; try { Thread.sleep((long) (10000 * Math.random())); } catch (InterruptedException e) { e.printStackTrace(); Thread.currentThread().interrupt(); } } System.out.println("Done."); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/bindings/http/README.md ================================================ # Dapr Bindings Sample In this sample, we'll create two java applications: an output binding application and an input binding application, using Dapr Java SDK. This sample includes two applications: * InputBindingExample (Initializes the Dapr Spring boot application client) * OutputBindingExample (pushes the event message) Visit [this](https://docs.dapr.io/developing-applications/building-blocks/bindings/bindings-overview/) link for more information about Dapr and bindings concepts. ## Binding sample using the Java-SDK In this example, the component used is Kafka, but others are also available. Visit [this](https://github.com/dapr/components-contrib/tree/master/bindings) link for more information about binding implementations. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then, go into the examples directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ### Setting Kafka locally Before getting into the application code, follow these steps in order to set up a local instance of Kafka. This is needed for the local instances. 1. Run the Kafka locally: ```bash docker compose -f ./src/main/java/io/dapr/examples/bindings/http/docker-compose-single-kafka.yml up -d ``` 2. Run `docker ps` to see the container running locally: ```bash 26966aaabd82 confluentinc/cp-kafka:7.4.4 "/etc/confluent/dock…" About a minute ago Up About a minute 9092/tcp, 0.0.0.0:29092->29092/tcp deploy-kafka-1 b95e7ad31707 confluentinc/cp-zookeeper:7.4.4 "/etc/confluent/dock…" 5 days ago Up 14 minutes 2888/tcp, 3888/tcp, 0.0.0.0:22181->2181/tcp deploy-zookeeper-1 ``` Click [here](https://github.com/wurstmeister/kafka-docker) for more information about the kafka broker server. ### App API Token Authentication (Optional) Dapr supports API token authentication to secure communication between Dapr and your application. When using input bindings, Dapr makes incoming calls to your app, and you can validate these requests using the `APP_API_TOKEN`. For detailed implementation with gRPC interceptors, see the [PubSub README App API Token Authentication section](../pubsub/README.md#app-api-token-authentication-optional). For HTTP-based apps, check the `dapr-api-token` header in incoming requests. For more details, see the [Dapr App API Token Authentication documentation](https://docs.dapr.io/operations/security/app-api-token/). **Quick setup:** ```bash # Export tokens before running the following `dapr run` commands. export APP_API_TOKEN="your-app-api-token" export DAPR_API_TOKEN="your-dapr-api-token" ``` ### Running the Input binding sample The input binding sample uses the Spring Boot´s DaprApplication class for initializing the `InputBindingController`. In `InputBindingExample.java` file, you will find the `InputBindingExample` class and the `main` method. See the code snippet below: ```java public class InputBindingExample { public static void main(String[] args) throws Exception { ///.. // If port string is not valid, it will throw an exception. int port = Integer.parseInt(cmd.getOptionValue("port")); // Start Dapr's callback endpoint. DaprApplication.start(port); } ///... } ``` `DaprApplication.start()` Method will run an Spring Boot application that registers the `InputBindingController`, which exposes the actual handling of the event message as a POST request. The Dapr's sidecar is the one that performs the actual call to this controller, based on the binding features and the output binding action. ```java @RestController public class InputBindingController { @PostMapping(path = "/bindingSample") public Mono handleInputBinding(@RequestBody(required = false) byte[] body) { return Mono.fromRunnable(() -> System.out.println("Received message through binding: " + (body == null ? "" : new String(body)))); } } ``` Execute the following command to run the Input Binding example: ```bash dapr run --resources-path ./components/bindings --app-id inputbinding --app-port 3000 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.bindings.http.InputBindingExample -p 3000 ``` ### Running the Output binding sample The output binding application is a simple Java class with a main method that uses the Dapr Client to invoke binding. In the `OutputBindingExample.java` file, you will find the `OutputBindingExample` class, containing the main method. The main method declares a Dapr Client using the `DaprClientBuilder` class. Notice that this builder gets two serializer implementations in the constructor: one is for Dapr's sent and recieved objects, and the second is for objects to be persisted. The client publishes events using the `invokeBinding` method. The Dapr client is also within a try-with-resource block to properly close the client at the end. See the code snippet below: ```java public class OutputBindingExample{ ///... static final String BINDING_NAME = "sample123"; static final String BINDING_OPERATION = "create"; ///... public static void main(String[] args) throws Exception { try (DaprClient client = new DaprClientBuilder().build()) { int count = 0; while (!Thread.currentThread().isInterrupted()) { String message = "Message #" + (count); // On even number, send class message if (count % 2 == 0) { // This is an example of sending data in a user-defined object. The input binding will receive: // {"message":"hello"} MyClass myClass = new MyClass(); myClass.message = message; System.out.println("sending a class with message: " + myClass.message); client.invokeBinding(BINDING_NAME, BINDING_OPERATION, myClass).block(); } else { System.out.println("sending a plain string: " + message); client.invokeBinding(BINDING_NAME, BINDING_OPERATION, message).block(); } count++; try { Thread.sleep((long) (10000 * Math.random())); } catch (InterruptedException e) { e.printStackTrace(); Thread.currentThread().interrupt(); } } System.out.println("Done."); } } ///... } ``` This example binds two events: A user-defined data object (using the `myClass` object as parameter) and a simple string using the same `invokeBinding` method. Execute the following command to run the Output Binding example: ```bash dapr run --resources-path ./components/bindings --app-id outputbinding -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.bindings.http.OutputBindingExample ``` Once running, the OutputBindingExample should print the output as follows: ```txt sending a class with message: Message #0 sending a plain string: Message #1 sending a class with message: Message #2 sending a plain string: Message #3 ``` Events have been sent. Once running, the InputBindingExample should print the output as follows: ```txt Received message through binding: {"message":"Message #0"} Received message through binding: "Message #1" Received message through binding: {"message":"Message #2"} Received message through binding: "Message #3" ``` Events have been retrieved from the binding. To stop both apps, press `CTRL+C` or run: ```bash dapr stop --app-id inputbinding dapr stop --app-id outputbinding ``` For bringing down the kafka cluster that was started in the beginning, run ```bash docker compose -f ./src/main/java/io/dapr/examples/bindings/http/docker-compose-single-kafka.yml down ``` For more details on the Dapr Spring Boot integration, please refer to the [Dapr Spring Boot](../../DaprApplication.java) Application implementation. ================================================ FILE: examples/src/main/java/io/dapr/examples/bindings/http/docker-compose-single-kafka.yml ================================================ services: zookeeper: image: confluentinc/cp-zookeeper:7.4.4 environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 ports: - 22181:2181 kafka: image: confluentinc/cp-kafka:7.4.4 depends_on: - zookeeper ports: - 9092:9092 environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 ================================================ FILE: examples/src/main/java/io/dapr/examples/configuration/ConfigurationClient.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.configuration; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.ConfigurationItem; import io.dapr.client.domain.GetConfigurationRequest; import io.dapr.client.domain.SubscribeConfigurationRequest; import io.dapr.client.domain.SubscribeConfigurationResponse; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; public class ConfigurationClient { private static final String CONFIG_STORE_NAME = "configstore"; private static final List keys = new ArrayList<>(Arrays.asList("myconfig1", "myconfig3", "myconfig2")); /** * Executes various methods to check the different apis. * @param args arguments * @throws Exception throws Exception */ public static void main(String[] args) throws Exception { try (DaprClient client = (new DaprClientBuilder()).build()) { System.out.println("Using Dapr client..."); getConfigurations(client); subscribeConfigurationRequest(client); } } /** * Gets configurations for a list of keys. * * @param client DaprClient object */ public static void getConfigurations(DaprClient client) { System.out.println("*******trying to retrieve configurations for a list of keys********"); List keys = new ArrayList<>(); keys.add("myconfig1"); keys.add("myconfig2"); keys.add("myconfig3"); GetConfigurationRequest req = new GetConfigurationRequest(CONFIG_STORE_NAME, keys); try { Mono> items = client.getConfiguration(req); items.block().forEach((k,v) -> print(v, k)); } catch (Exception ex) { System.out.println(ex.getMessage()); } } /** * Subscribe to a list of keys.Optional to above iterator way of retrieving the changes * * @param client DaprClient object */ public static void subscribeConfigurationRequest(DaprClient client) { System.out.println("Subscribing to key: myconfig1"); SubscribeConfigurationRequest req = new SubscribeConfigurationRequest( CONFIG_STORE_NAME, Collections.singletonList("myconfig1")); Flux outFlux = client.subscribeConfiguration(req); Runnable subscribeTask = () -> { outFlux.subscribe(cis -> { System.out.println("subscription ID : " + cis.getSubscriptionId()); System.out.println("subscribing to key myconfig1 is successful"); }); }; new Thread(subscribeTask).start(); // To ensure main thread does not die before outFlux subscribe gets called inducingSleepTime(5000); } private static void inducingSleepTime(int timeInMillis) { try { Thread.sleep(timeInMillis); } catch (InterruptedException e) { e.printStackTrace(); } } private static void print(ConfigurationItem item, String key) { System.out.println(item.getValue() + " : key ->" + key); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/configuration/README.md ================================================ ## Retrieve Configurations via Configuration API This example provides the different capabilities provided by Dapr Java SDK for Configuration. For further information about Configuration APIs please refer to [this link](https://docs.dapr.io/developing-applications/building-blocks/configuration/) ### Using the ConfigurationAPI The Java SDK exposes several methods for this - * `client.getConfiguration(...)` for getting configuration for a single/multiple key(s). * `client.subscribeConfiguration(...)` for subscribing to a list of keys for any change. * `client.unsubscribeConfiguration(...)` for unsubscribing to changes from subscribed items. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then get into the examples directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ## Store dummy configurations in configuration store ```bash docker exec dapr_redis redis-cli MSET myconfig1 "val1||1" myconfig2 "val2||1" myconfig3 "val3||1" ``` ### Running the example This example uses the Java SDK Dapr client in order to **Get, Subscribe and Unsubscribe** from configuration items, and utilizes `Redis` as configuration store. `ConfigurationClient.java` is the example class demonstrating all 3 features. Kindly check [DaprClient.java](https://github.com/dapr/java-sdk/blob/master/sdk/src/main/java/io/dapr/client/DaprClient.java) for a detailed description of the supported APIs. ```java public class ConfigurationClient { // ... /** * Executes various methods to check the different apis. * @param args arguments * @throws Exception throws Exception */ public static void main(String[] args) throws Exception { try (DaprClient client = (new DaprClientBuilder()).build()) { System.out.println("Using Dapr client..."); getConfigurations(client); subscribeConfigurationRequestWithSubscribe(client); unsubscribeConfigurationItems(client); } } /** * Gets configurations for a list of keys. * * @param client DaprClient object */ public static void getConfigurations(DaprClient client) { System.out.println("*******trying to retrieve configurations for a list of keys********"); List keys = new ArrayList<>(); // ... GetConfigurationRequest req = new GetConfigurationRequest(CONFIG_STORE_NAME, keys); try { Mono> items = client.getConfiguration(req); // .. } catch (Exception ex) {} } /** * Subscribe to a list of keys.Optional to above iterator way of retrieving the changes * * @param client DaprClient object */ public static void subscribeConfigurationRequestWithSubscribe(DaprClient client) { System.out.println("Subscribing to key: myconfig1"); // ... Runnable subscribeTask = () -> { Flux outFlux = client.subscribeConfiguration(req); // ... }; // .. } /** * Unsubscribe using subscription id. * * @param client DaprClient object */ public static void unsubscribeConfigurationItems(DaprClient client) { System.out.println("Subscribing to key: myconfig2"); // .. Runnable subscribeTask = () -> { Flux outFlux = client.subscribeConfiguration(CONFIG_STORE_NAME, "myconfig2"); // ... }; // ... UnsubscribeConfigurationResponse res = client.unsubscribeConfiguration( subscriptionId.get(), CONFIG_STORE_NAME ).block(); // .. } } ``` Get into the examples' directory: ```sh cd examples ``` Use the following command to run this example- ```bash dapr run --resources-path ./components/configuration --app-id configgrpc --log-level debug -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.configuration.ConfigurationClient ``` ### Sample output ``` Using Dapr client... *******trying to retrieve configurations for a list of keys******** val1 : key ->myconfig1 val2 : key ->myconfig2 val3 : key ->myconfig3 Subscribing to key: myconfig1 subscription ID : 82bb8e24-f69d-477a-9126-5ffaf995f498 subscribing to key myconfig1 is successful ``` ### Cleanup To stop the app, run (or press CTRL+C): ```bash dapr stop --app-id configgrpc ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/conversation/AssistantMessageDemo.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.conversation; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.AssistantMessage; import io.dapr.client.domain.ConversationInputAlpha2; import io.dapr.client.domain.ConversationMessage; import io.dapr.client.domain.ConversationMessageContent; import io.dapr.client.domain.ConversationRequestAlpha2; import io.dapr.client.domain.ConversationResponseAlpha2; import io.dapr.client.domain.ConversationResultAlpha2; import io.dapr.client.domain.ConversationResultChoices; import io.dapr.client.domain.ConversationToolCalls; import io.dapr.client.domain.ConversationToolCallsOfFunction; import io.dapr.client.domain.SystemMessage; import io.dapr.client.domain.ToolMessage; import io.dapr.client.domain.UserMessage; import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.List; public class AssistantMessageDemo { /** * The main method to demonstrate conversation AI with assistant messages and conversation history. * * @param args Input arguments (unused). */ public static void main(String[] args) { try (DaprPreviewClient client = new DaprClientBuilder().buildPreviewClient()) { System.out.println("Demonstrating Conversation AI with Assistant Messages and Conversation History"); // Create a conversation history with multiple message types List conversationHistory = new ArrayList<>(); // 1. System message to set context SystemMessage systemMessage = new SystemMessage(List.of( new ConversationMessageContent("You are a helpful assistant that can help with weather queries.") )); systemMessage.setName("WeatherBot"); conversationHistory.add(systemMessage); // 2. Initial user greeting UserMessage greeting = new UserMessage(List.of( new ConversationMessageContent("Hello! I need help with weather information.") )); greeting.setName("User123"); conversationHistory.add(greeting); // 3. Assistant response with tool call AssistantMessage assistantResponse = new AssistantMessage( List.of(new ConversationMessageContent("I'll help you with weather information. Let me check the weather for you.")), List.of(new ConversationToolCalls( new ConversationToolCallsOfFunction("get_weather", "{\"location\": \"San Francisco\", \"unit\": \"fahrenheit\"}") )) ); assistantResponse.setName("WeatherBot"); conversationHistory.add(assistantResponse); // 4. Tool response (simulating weather API response) ToolMessage toolResponse = new ToolMessage(List.of( new ConversationMessageContent("{\"temperature\": \"72F\", \"condition\": \"sunny\", \"humidity\": \"65%\"}") )); toolResponse.setName("weather_api"); conversationHistory.add(toolResponse); // 5. Current user question UserMessage currentQuestion = new UserMessage(List.of( new ConversationMessageContent("Based on that weather data, should I wear a jacket today?") )); currentQuestion.setName("User123"); conversationHistory.add(currentQuestion); // Create conversation input with the full history ConversationInputAlpha2 conversationInput = new ConversationInputAlpha2(conversationHistory); conversationInput.setScrubPii(false); // Create the conversation request ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(conversationInput)) .setContextId("assistant-demo-context") .setTemperature(0.8d); // Send the request System.out.println("Sending conversation with assistant messages and history..."); System.out.println("Conversation includes:"); System.out.println("- System message (context setting)"); System.out.println("- User greeting"); System.out.println("- Assistant response with tool call"); System.out.println("- Tool response with weather data"); System.out.println("- User follow-up question"); Mono responseMono = client.converseAlpha2(request); ConversationResponseAlpha2 response = responseMono.block(); // Process and display the response if (response != null && response.getOutputs() != null && !response.getOutputs().isEmpty()) { ConversationResultAlpha2 result = response.getOutputs().get(0); UsageUtils.printUsage(result); if (result.getChoices() != null && !result.getChoices().isEmpty()) { ConversationResultChoices choice = result.getChoices().get(0); if (choice.getMessage() != null && choice.getMessage().getContent() != null) { System.out.printf("Assistant Response: %s%n", choice.getMessage().getContent()); } // Check for additional tool calls in the response if (choice.getMessage() != null && choice.getMessage().getToolCalls() != null) { System.out.println("Assistant requested additional tool calls:"); choice.getMessage().getToolCalls().forEach(toolCall -> { System.out.printf("Tool: %s, Arguments: %s%n", toolCall.getFunction().getName(), toolCall.getFunction().getArguments()); }); } } } System.out.println("Assistant message demonstration completed."); } catch (Exception e) { throw new RuntimeException(e); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/conversation/README.md ================================================ ## Manage Dapr via the Conversation API This example provides the different capabilities provided by Dapr Java SDK for Conversation. For further information about Conversation APIs please refer to [this link](https://docs.dapr.io/developing-applications/building-blocks/conversation/conversation-overview/) ### Using the Conversation API The Java SDK exposes several methods for this - * `client.converse(...)` for conversing with an LLM through Dapr. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory mvn install ``` Then get into the examples directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ### Running the example This example uses the Java SDK Dapr client in order to **Converse** with an LLM. `UserMessageDemo.java` is the example class demonstrating these features. Kindly check [DaprPreviewClient.java](https://github.com/dapr/java-sdk/blob/master/sdk/src/main/java/io/dapr/client/DaprPreviewClient.java) for a detailed description of the supported APIs. ```java public class UserMessageDemo { /** * The main method to start the client. * * @param args Input arguments (unused). */ public static void main(String[] args) { Map, String> overrides = Map.of( Properties.HTTP_PORT, "3500", Properties.GRPC_PORT, "50001" ); try (DaprPreviewClient client = new DaprClientBuilder().withPropertyOverrides(overrides).buildPreviewClient()) { System.out.println("Sending the following input to LLM: Hello How are you? This is the my number 672-123-4567"); // Create user message with content UserMessage userMessage = new UserMessage(List.of(new ConversationMessageContent("Hello How are you? " + "This is the my number 672-123-4567"))); // Create conversation input with the user message ConversationInputAlpha2 daprConversationInput = new ConversationInputAlpha2(List.of(userMessage)); // Component name is the name provided in the metadata block of the conversation.yaml file. Mono responseMono = client.converseAlpha2(new ConversationRequestAlpha2("echo", List.of(daprConversationInput)) .setContextId("contextId") .setScrubPii(true) .setTemperature(1.1d)); ConversationResponseAlpha2 response = responseMono.block(); // Extract and print the conversation result if (response != null && response.getOutputs() != null && !response.getOutputs().isEmpty()) { ConversationResultAlpha2 result = response.getOutputs().get(0); if (result.getChoices() != null && !result.getChoices().isEmpty()) { ConversationResultChoices choice = result.getChoices().get(0); if (choice.getMessage() != null && choice.getMessage().getContent() != null) { System.out.printf("Conversation output: %s", choice.getMessage().getContent()); } } } } catch (Exception e) { throw new RuntimeException(e); } } } ``` Use the following command to run this example- ```bash dapr run --resources-path ./components/conversation --app-id myapp --app-port 8080 --dapr-http-port 3500 --dapr-grpc-port 51439 --log-level debug -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.conversation.UserMessageDemo ``` ### Sample output ``` Conversation output: Hello How are you? This is the my number ``` ### Cleanup To stop the app, run (or press CTRL+C): ```bash dapr stop --app-id myapp ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/conversation/ToolsCallDemo.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.conversation; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.ConversationInputAlpha2; import io.dapr.client.domain.ConversationMessageContent; import io.dapr.client.domain.ConversationRequestAlpha2; import io.dapr.client.domain.ConversationResponseAlpha2; import io.dapr.client.domain.ConversationResultAlpha2; import io.dapr.client.domain.ConversationResultChoices; import io.dapr.client.domain.ConversationTools; import io.dapr.client.domain.ConversationToolsFunction; import io.dapr.client.domain.SystemMessage; import io.dapr.client.domain.UserMessage; import reactor.core.publisher.Mono; import java.util.HashMap; import java.util.List; import java.util.Map; public class ToolsCallDemo { /** * The main method to demonstrate conversation AI with tools/function calling. * * @param args Input arguments (unused). */ public static void main(String[] args) { try (DaprPreviewClient client = new DaprClientBuilder().buildPreviewClient()) { System.out.println("Demonstrating Conversation AI with Tools/Function Calling"); // Create system message to set context SystemMessage systemMessage = new SystemMessage(List.of( new ConversationMessageContent("You are a helpful weather assistant. Use the provided tools to get weather information.") )); // Create user message asking for weather UserMessage userMessage = new UserMessage(List.of( new ConversationMessageContent("What's the weather like in San Francisco?") )); // Create conversation input with messages ConversationInputAlpha2 conversationInput = new ConversationInputAlpha2(List.of(systemMessage, userMessage)); // Define function parameters for the weather tool Map functionParams = new HashMap<>(); functionParams.put("location", "string"); functionParams.put("unit", "string"); // Create the weather function definition ConversationToolsFunction weatherFunction = new ConversationToolsFunction("get_current_weather", functionParams); weatherFunction.setDescription("Get the current weather for a specified location"); // Create the tool wrapper ConversationTools weatherTool = new ConversationTools(weatherFunction); // Create the conversation request with tools ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(conversationInput)) .setContextId("weather-demo-context") .setTemperature(0.7d) .setTools(List.of(weatherTool)); // Send the request System.out.println("Sending request to AI with weather tool available..."); Mono responseMono = client.converseAlpha2(request); ConversationResponseAlpha2 response = responseMono.block(); // Process and display the response if (response != null && response.getOutputs() != null && !response.getOutputs().isEmpty()) { ConversationResultAlpha2 result = response.getOutputs().get(0); UsageUtils.printUsage(result); if (result.getChoices() != null && !result.getChoices().isEmpty()) { ConversationResultChoices choice = result.getChoices().get(0); // Check if the AI wants to call a tool if (choice.getMessage() != null && choice.getMessage().getToolCalls() != null) { System.out.println("AI requested to call tools:"); choice.getMessage().getToolCalls().forEach(toolCall -> { System.out.printf("Tool: %s, Arguments: %s%n", toolCall.getFunction().getName(), toolCall.getFunction().getArguments()); }); } // Display the message content if available if (choice.getMessage() != null && choice.getMessage().getContent() != null) { System.out.printf("AI Response: %s%n", choice.getMessage().getContent()); } } } System.out.println("Tools call demonstration completed."); } catch (Exception e) { throw new RuntimeException(e); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/conversation/UsageUtils.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.conversation; import io.dapr.client.domain.ConversationResultAlpha2; import io.dapr.client.domain.ConversationResultCompletionUsage; import org.springframework.util.StringUtils; public class UsageUtils { static void printUsage(ConversationResultAlpha2 result) { if (!StringUtils.hasText(result.getModel())){ return; } System.out.printf("Conversation model : %s\n", result.getModel()); var usage = result.getUsage(); printUsage(usage); printCompletionDetails(usage); printPromptDetails(usage); } private static void printUsage(ConversationResultCompletionUsage usage) { System.out.println("Token Usage Details:"); System.out.printf(" Completion tokens: %d\n", usage.getCompletionTokens()); System.out.printf(" Prompt tokens: %d\n", usage.getPromptTokens()); System.out.printf(" Total tokens: %d\n", usage.getTotalTokens()); System.out.println(); } private static void printPromptDetails(ConversationResultCompletionUsage usage) { var completionDetails = usage.getCompletionTokenDetails(); // Display completion token breakdown if available System.out.println("Prompt Token Details:"); if (completionDetails.getReasoningTokens() > 0) { System.out.printf(" Reasoning tokens: %d\n", completionDetails.getReasoningTokens()); } if (completionDetails.getAudioTokens() > 0) { System.out.printf(" Audio tokens: %d\n", completionDetails.getAudioTokens()); } System.out.println(); } private static void printCompletionDetails(ConversationResultCompletionUsage usage) { // Print detailed token usage information var completionDetails = usage.getCompletionTokenDetails(); System.out.println("Completion Token Details:"); // If audio tokens are available, display them if ( completionDetails.getAudioTokens() > 0) { System.out.printf(" Audio tokens: %d\n", completionDetails.getAudioTokens()); } // Display completion token breakdown if available if (completionDetails.getReasoningTokens() > 0) { System.out.printf(" Reasoning tokens: %d\n", completionDetails.getReasoningTokens()); } // Display completion token breakdown if available if (completionDetails.getAcceptedPredictionTokens() > 0) { System.out.printf(" Accepted prediction tokens: %d\n", completionDetails.getAcceptedPredictionTokens()); } // Display completion token breakdown if available if (completionDetails.getRejectedPredictionTokens() > 0) { System.out.printf(" Rejected prediction tokens: %d\n", completionDetails.getRejectedPredictionTokens()); } System.out.println(); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/conversation/UserMessageDemo.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.conversation; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.ConversationInputAlpha2; import io.dapr.client.domain.ConversationMessageContent; import io.dapr.client.domain.ConversationRequestAlpha2; import io.dapr.client.domain.ConversationResponseAlpha2; import io.dapr.client.domain.ConversationResultAlpha2; import io.dapr.client.domain.ConversationResultChoices; import io.dapr.client.domain.UserMessage; import reactor.core.publisher.Mono; import java.util.List; public class UserMessageDemo { /** * The main method to start the client. * * @param args Input arguments (unused). */ public static void main(String[] args) { try (DaprPreviewClient client = new DaprClientBuilder().buildPreviewClient()) { System.out.println("Sending the following input to LLM: Hello How are you? This is the my number 672-123-4567"); // Create user message with content UserMessage userMessage = new UserMessage(List.of(new ConversationMessageContent("Hello How are you? " + "This is the my number 672-123-4567"))); // Create conversation input with the user message ConversationInputAlpha2 daprConversationInput = new ConversationInputAlpha2(List.of(userMessage)); // Define the JSON schema for the response format String responseSchema = """ { "type": "object", "properties": { "greeting": { "type": "string", "description": "A friendly greeting response" }, "phone_number_detected": { "type": "boolean", "description": "Whether a phone number was detected in the input" }, "detected_number": { "type": "string", "description": "The phone number that was detected, if any" } }, "required": ["greeting", "phone_number_detected"], "additionalProperties": false } """; // Component name is the name provided in the metadata block of the conversation.yaml file. Mono responseMono = client.converseAlpha2(new ConversationRequestAlpha2("echo", List.of(daprConversationInput)) .setContextId("contextId") .setScrubPii(true) .setTemperature(1.1d).setResponseFormat(responseSchema)); ConversationResponseAlpha2 response = responseMono.block(); // Extract and print the conversation result if (response != null && response.getOutputs() != null && !response.getOutputs().isEmpty()) { ConversationResultAlpha2 result = response.getOutputs().get(0); UsageUtils.printUsage(result); if (result.getChoices() != null && !result.getChoices().isEmpty()) { ConversationResultChoices choice = result.getChoices().get(0); if (choice.getMessage() != null && choice.getMessage().getContent() != null) { System.out.printf("Conversation output: %s", choice.getMessage().getContent()); } } } } catch (Exception e) { throw new RuntimeException(e); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/crypto/CryptoExample.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.crypto; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.DecryptRequestAlpha1; import io.dapr.client.domain.EncryptRequestAlpha1; import io.dapr.config.Properties; import io.dapr.config.Property; import reactor.core.publisher.Flux; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.util.Base64; import java.util.Map; /** * CryptoExample demonstrates using the Dapr Cryptography building block * to encrypt and decrypt data using a cryptography component. * *

    This example shows: *

      *
    • Encrypting plaintext data with a specified key and algorithm
    • *
    • Decrypting ciphertext data back to plaintext
    • *
    • Automatic key generation if keys don't exist
    • *
    * *

    Prerequisites: *

      *
    • Dapr installed and initialized
    • *
    • A cryptography component configured (e.g., local storage crypto)
    • *
    */ public class CryptoExample { private static final String CRYPTO_COMPONENT_NAME = "localstoragecrypto"; private static final String KEY_NAME = "rsa-private-key"; private static final String KEY_WRAP_ALGORITHM = "RSA"; private static final String KEYS_DIR = "components/crypto/keys"; /** * The main method demonstrating encryption and decryption with Dapr. * * @param args Command line arguments (unused). */ public static void main(String[] args) throws Exception { // Generate keys if they don't exist generateKeysIfNeeded(); Map, String> overrides = Map.of( Properties.HTTP_PORT, "3500", Properties.GRPC_PORT, "50001" ); try (DaprPreviewClient client = new DaprClientBuilder().withPropertyOverrides(overrides).buildPreviewClient()) { String originalMessage = "This is a secret message"; byte[] plainText = originalMessage.getBytes(StandardCharsets.UTF_8); System.out.println("=== Dapr Cryptography Example ==="); System.out.println("Original message: " + originalMessage); System.out.println(); // Encrypt the message System.out.println("Encrypting message..."); EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(plainText), KEY_NAME, KEY_WRAP_ALGORITHM ); byte[] encryptedData = client.encrypt(encryptRequest) .collectList() .map(CryptoExample::combineChunks) .block(); System.out.println("Encryption successful!"); System.out.println("Encrypted data length: " + encryptedData.length + " bytes"); System.out.println(); // Decrypt the message System.out.println("Decrypting message..."); DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = client.decrypt(decryptRequest) .collectList() .map(CryptoExample::combineChunks) .block(); String decryptedMessage = new String(decryptedData, StandardCharsets.UTF_8); System.out.println("Decryption successful!"); System.out.println("Decrypted message: " + decryptedMessage); System.out.println(); if (originalMessage.equals(decryptedMessage)) { System.out.println("SUCCESS: The decrypted message matches the original."); } else { System.out.println("ERROR: The decrypted message does not match the original."); } } catch (Exception e) { System.err.println("Error during crypto operations: " + e.getMessage()); throw new RuntimeException(e); } } /** * Generates RSA key pair if the key file doesn't exist. */ private static void generateKeysIfNeeded() throws NoSuchAlgorithmException, IOException { Path keysDir = Paths.get(KEYS_DIR); Path keyFile = keysDir.resolve(KEY_NAME + ".pem"); if (Files.exists(keyFile)) { System.out.println("Using existing key: " + keyFile.toAbsolutePath()); return; } System.out.println("Generating RSA key pair..."); Files.createDirectories(keysDir); KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA"); keyGen.initialize(4096); KeyPair keyPair = keyGen.generateKeyPair(); String privateKeyPem = "-----BEGIN PRIVATE KEY-----\n" + Base64.getMimeEncoder(64, "\n".getBytes()).encodeToString(keyPair.getPrivate().getEncoded()) + "\n-----END PRIVATE KEY-----\n"; String publicKeyPem = "-----BEGIN PUBLIC KEY-----\n" + Base64.getMimeEncoder(64, "\n".getBytes()).encodeToString(keyPair.getPublic().getEncoded()) + "\n-----END PUBLIC KEY-----\n"; Files.writeString(keyFile, privateKeyPem + publicKeyPem); System.out.println("Key generated: " + keyFile.toAbsolutePath()); } /** * Combines byte array chunks into a single byte array. */ private static byte[] combineChunks(java.util.List chunks) { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/crypto/README.md ================================================ ## Dapr Cryptography API Examples This example provides the different capabilities provided by Dapr Java SDK for Cryptography. For further information about Cryptography APIs please refer to [this link](https://docs.dapr.io/developing-applications/building-blocks/cryptography/cryptography-overview/) ### Using the Cryptography API The Java SDK exposes several methods for this - * `client.encrypt(...)` for encrypting data using a cryptography component. * `client.decrypt(...)` for decrypting data using a cryptography component. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then get into the examples directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ### Running the Example This example uses the Java SDK Dapr client to **Encrypt and Decrypt** data. The example automatically generates RSA keys if they don't exist. #### Example 1: Basic Crypto Example `CryptoExample.java` demonstrates basic encryption and decryption of a simple message. ```java public class CryptoExample { private static final String CRYPTO_COMPONENT_NAME = "localstoragecrypto"; private static final String KEY_NAME = "rsa-private-key"; private static final String KEY_WRAP_ALGORITHM = "RSA"; public static void main(String[] args) { try (DaprPreviewClient client = new DaprClientBuilder().buildPreviewClient()) { String originalMessage = "This is a secret message"; byte[] plainText = originalMessage.getBytes(StandardCharsets.UTF_8); // Encrypt the message EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(plainText), KEY_NAME, KEY_WRAP_ALGORITHM ); byte[] encryptedData = client.encrypt(encryptRequest) .collectList() .map(chunks -> /* combine chunks */) .block(); // Decrypt the message DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = client.decrypt(decryptRequest) .collectList() .map(chunks -> /* combine chunks */) .block(); } } } ``` Use the following command to run this example: ```bash mkdir -p ./components/crypto/keys && openssl genrsa -out ./components/crypto/keys/rsa-private-key.pem 4096 && openssl rsa -in ./components/crypto/keys/rsa-private-key.pem -pubout -out ./components/crypto/keys/rsa-private-key.pub.pem && cp ./components/crypto/keys/rsa-private-key.pem ./components/crypto/keys/rsa-private-key && echo "Keys generated successfully" ``` ```bash dapr run --resources-path ./components/crypto --app-id crypto-app --dapr-http-port 3500 --dapr-grpc-port 50001 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.crypto.CryptoExample ``` #### Example 2: Streaming Crypto Example `StreamingCryptoExample.java` demonstrates advanced scenarios including: - Multi-chunk data encryption - Large data encryption (100KB+) - Custom encryption ciphers ```bash dapr run --resources-path ./components/crypto --app-id crypto-app --dapr-http-port 3500 --dapr-grpc-port 50001 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.crypto.StreamingCryptoExample ``` ### Sample Output ``` === Dapr Cryptography Example === Original message: This is a secret message Encrypting message... Encryption successful! Encrypted data length: 512 bytes Decrypting message... Decryption successful! Decrypted message: This is a secret message SUCCESS: The decrypted message matches the original. ``` ### Supported Key Wrap Algorithms The following key wrap algorithms are supported: - `A256KW` (alias: `AES`) - AES key wrap - `A128CBC`, `A192CBC`, `A256CBC` - AES CBC modes - `RSA-OAEP-256` (alias: `RSA`) - RSA OAEP with SHA-256 ### Supported Data Encryption Ciphers Optional data encryption ciphers: - `aes-gcm` (default) - AES in GCM mode - `chacha20-poly1305` - ChaCha20-Poly1305 cipher ### Cleanup To stop the app, run (or press CTRL+C): ```bash dapr stop --app-id crypto-app ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/crypto/StreamingCryptoExample.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.crypto; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.DecryptRequestAlpha1; import io.dapr.client.domain.EncryptRequestAlpha1; import io.dapr.config.Properties; import io.dapr.config.Property; import reactor.core.publisher.Flux; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.util.Base64; import java.util.Map; import java.util.Random; /** * StreamingCryptoExample demonstrates using the Dapr Cryptography building block * with streaming data for handling large payloads efficiently. * *

    This example shows: *

      *
    • Encrypting large data using streaming
    • *
    • Using optional parameters like data encryption cipher
    • *
    • Handling chunked data for encryption/decryption
    • *
    */ public class StreamingCryptoExample { private static final String CRYPTO_COMPONENT_NAME = "localstoragecrypto"; private static final String KEY_NAME = "rsa-private-key"; private static final String KEY_WRAP_ALGORITHM = "RSA"; private static final String KEYS_DIR = "components/crypto/keys"; /** * The main method demonstrating streaming encryption and decryption with Dapr. * * @param args Command line arguments (unused). */ public static void main(String[] args) throws Exception { // Generate keys if they don't exist generateKeysIfNeeded(); Map, String> overrides = Map.of( Properties.HTTP_PORT, "3500", Properties.GRPC_PORT, "50001" ); try (DaprPreviewClient client = new DaprClientBuilder().withPropertyOverrides(overrides).buildPreviewClient()) { System.out.println("=== Dapr Streaming Cryptography Example ==="); System.out.println(); // Example 1: Streaming multiple chunks System.out.println("--- Example 1: Multi-chunk Encryption ---"); demonstrateChunkedEncryption(client); System.out.println(); // Example 2: Large data encryption System.out.println("--- Example 2: Large Data Encryption ---"); demonstrateLargeDataEncryption(client); System.out.println(); // Example 3: Custom encryption cipher System.out.println("--- Example 3: Custom Encryption Cipher ---"); demonstrateCustomCipher(client); } catch (Exception e) { System.err.println("Error during crypto operations: " + e.getMessage()); throw new RuntimeException(e); } } /** * Generates RSA key pair if the key file doesn't exist. */ private static void generateKeysIfNeeded() throws NoSuchAlgorithmException, IOException { Path keysDir = Paths.get(KEYS_DIR); Path keyFile = keysDir.resolve(KEY_NAME + ".pem"); if (Files.exists(keyFile)) { System.out.println("Using existing key: " + keyFile.toAbsolutePath()); return; } System.out.println("Generating RSA key pair..."); Files.createDirectories(keysDir); KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA"); keyGen.initialize(4096); KeyPair keyPair = keyGen.generateKeyPair(); String privateKeyPem = "-----BEGIN PRIVATE KEY-----\n" + Base64.getMimeEncoder(64, "\n".getBytes()).encodeToString(keyPair.getPrivate().getEncoded()) + "\n-----END PRIVATE KEY-----\n"; String publicKeyPem = "-----BEGIN PUBLIC KEY-----\n" + Base64.getMimeEncoder(64, "\n".getBytes()).encodeToString(keyPair.getPublic().getEncoded()) + "\n-----END PUBLIC KEY-----\n"; Files.writeString(keyFile, privateKeyPem + publicKeyPem); System.out.println("Key generated: " + keyFile.toAbsolutePath()); } /** * Demonstrates encrypting data sent in multiple chunks. */ private static void demonstrateChunkedEncryption(DaprPreviewClient client) { byte[] chunk1 = "First chunk of data. ".getBytes(StandardCharsets.UTF_8); byte[] chunk2 = "Second chunk of data. ".getBytes(StandardCharsets.UTF_8); byte[] chunk3 = "Third and final chunk.".getBytes(StandardCharsets.UTF_8); byte[] fullData = new byte[chunk1.length + chunk2.length + chunk3.length]; System.arraycopy(chunk1, 0, fullData, 0, chunk1.length); System.arraycopy(chunk2, 0, fullData, chunk1.length, chunk2.length); System.arraycopy(chunk3, 0, fullData, chunk1.length + chunk2.length, chunk3.length); System.out.println("Original data: " + new String(fullData, StandardCharsets.UTF_8)); System.out.println("Sending as 3 chunks..."); EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(chunk1, chunk2, chunk3), KEY_NAME, KEY_WRAP_ALGORITHM ); byte[] encryptedData = collectBytes(client.encrypt(encryptRequest)); System.out.println("Encrypted data size: " + encryptedData.length + " bytes"); DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = collectBytes(client.decrypt(decryptRequest)); String decryptedMessage = new String(decryptedData, StandardCharsets.UTF_8); System.out.println("Decrypted data: " + decryptedMessage); System.out.println("Verification: " + (new String(fullData, StandardCharsets.UTF_8).equals(decryptedMessage) ? "SUCCESS" : "FAILED")); } /** * Demonstrates encrypting a large data payload. */ private static void demonstrateLargeDataEncryption(DaprPreviewClient client) { int size = 100 * 1024; byte[] largeData = new byte[size]; new Random().nextBytes(largeData); System.out.println("Original data size: " + size + " bytes (100KB)"); EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(largeData), KEY_NAME, KEY_WRAP_ALGORITHM ); long startTime = System.currentTimeMillis(); byte[] encryptedData = collectBytes(client.encrypt(encryptRequest)); long encryptTime = System.currentTimeMillis() - startTime; System.out.println("Encrypted data size: " + encryptedData.length + " bytes (took " + encryptTime + "ms)"); DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); startTime = System.currentTimeMillis(); byte[] decryptedData = collectBytes(client.decrypt(decryptRequest)); long decryptTime = System.currentTimeMillis() - startTime; System.out.println("Decrypted data size: " + decryptedData.length + " bytes (took " + decryptTime + "ms)"); boolean matches = java.util.Arrays.equals(largeData, decryptedData); System.out.println("Verification: " + (matches ? "SUCCESS" : "FAILED")); } /** * Demonstrates using a custom data encryption cipher. */ private static void demonstrateCustomCipher(DaprPreviewClient client) { String message = "Message encrypted with custom cipher (aes-gcm)"; byte[] plainText = message.getBytes(StandardCharsets.UTF_8); System.out.println("Original message: " + message); EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(plainText), KEY_NAME, KEY_WRAP_ALGORITHM ).setDataEncryptionCipher("aes-gcm"); byte[] encryptedData = collectBytes(client.encrypt(encryptRequest)); System.out.println("Encrypted with aes-gcm cipher, size: " + encryptedData.length + " bytes"); DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = collectBytes(client.decrypt(decryptRequest)); String decryptedMessage = new String(decryptedData, StandardCharsets.UTF_8); System.out.println("Decrypted message: " + decryptedMessage); System.out.println("Verification: " + (message.equals(decryptedMessage) ? "SUCCESS" : "FAILED")); } /** * Helper method to collect streaming bytes into a single byte array. */ private static byte[] collectBytes(Flux stream) { return stream.collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/exception/Client.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.exception; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.exceptions.DaprErrorDetails; import io.dapr.exceptions.DaprException; import io.dapr.utils.TypeRef; /** * 1. Build and install jars: * mvn clean install * 2. Go into examples: * cd examples * 3. send a message to be saved as state: * dapr run -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.exception.Client */ public class Client { /** * Executes the sate actions. * @param args messages to be sent as state value. */ public static void main(String[] args) throws Exception { try (DaprClient client = new DaprClientBuilder().build()) { try { client.publishEvent("unknown_pubsub", "mytopic", "mydata").block(); } catch (DaprException exception) { System.out.println("Error code: " + exception.getErrorCode()); System.out.println("Error message: " + exception.getMessage()); System.out.println("Reason: " + exception.getErrorDetails().get( DaprErrorDetails.ErrorDetailType.ERROR_INFO, "reason", TypeRef.STRING)); System.out.println("Error payload size: " + exception.getPayload().length); } } System.out.println("Done"); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/exception/README.md ================================================ ## Exception handling sample This sample illustrates how to handle exceptions in Dapr. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` (root) directory. ./mvnw clean install ``` Then get into the examples directory: ```sh cd examples ``` ### Understanding the code This example uses the Java SDK Dapr client in order to perform an invalid operation, causing Dapr runtime to return an error. See the code snippet below, from `Client.java`: ```java public class Client { public static void main(String[] args) throws Exception { try (DaprClient client = new DaprClientBuilder().build()) { try { client.publishEvent("unknown_pubsub", "mytopic", "mydata").block(); } catch (DaprException exception) { System.out.println("Dapr exception's error code: " + exception.getErrorCode()); System.out.println("Dapr exception's message: " + exception.getMessage()); System.out.println("Dapr exception's reason: " + exception.getStatusDetails().get( DaprErrorDetails.ErrorDetailType.ERROR_INFO, "reason", TypeRef.STRING)); System.out.println("Error's payload size: " + exception.getPayload().length); } } System.out.println("Done"); } } ``` ### Running the example ```bash dapr run --app-id exception-example -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.exception.Client ``` Once running, the State Client Example should print the output as follows: ```txt Error code: ERR_PUBSUB_NOT_FOUND Error message: ERR_PUBSUB_NOT_FOUND: pubsub unknown_pubsub is not found Reason: DAPR_PUBSUB_NOT_FOUND Error payload size: 116 ... ``` ### Debug You can further explore all the error details returned in the `DaprException` class. Before running it in your favorite IDE (like IntelliJ), compile and run the Dapr sidecar first. 1. Pre-req: ```sh # make sure you are in the `java-sdk` (root) directory. ./mvnw clean install ``` 2. From the examples directory, run: `dapr run --app-id exception-example --dapr-grpc-port=50001 --dapr-http-port=3500` 3. From your IDE click the play button on the client code and put break points where desired. ### Cleanup To stop the app run (or press `CTRL+C`): ```bash dapr stop --app-id exception-example ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/invoke/grpc/HelloWorldClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.invoke.grpc; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.examples.DaprExamplesProtos.HelloReply; import io.dapr.examples.DaprExamplesProtos.HelloRequest; import io.dapr.examples.HelloWorldGrpc; import io.grpc.StatusRuntimeException; import java.util.logging.Level; import java.util.logging.Logger; /** * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 2. Send messages to the server: * dapr run -- java -jar target/dapr-java-sdk-examples-exec.jar * io.dapr.examples.invoke.grpc.HelloWorldClient */ public class HelloWorldClient { private static final Logger logger = Logger.getLogger(HelloWorldClient.class.getName()); /** * The main method of the client app. * * @param args Array of messages to be sent. */ public static void main(String[] args) throws Exception { String user = "World"; try (DaprClient client = new DaprClientBuilder().build()) { HelloWorldGrpc.HelloWorldBlockingStub blockingStub = client.newGrpcStub( "hellogrpc", channel -> HelloWorldGrpc.newBlockingStub(channel)); logger.info("Will try to greet " + user + " ..."); try { HelloRequest request = HelloRequest.newBuilder().setName(user).build(); HelloReply response = blockingStub.sayHello(request); logger.info("Greeting: " + response.getMessage()); } catch (StatusRuntimeException e) { logger.log(Level.WARNING, "RPC failed: {0}", e.getStatus()); } } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/invoke/grpc/HelloWorldService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.invoke.grpc; import io.dapr.examples.DaprExamplesProtos.HelloReply; import io.dapr.examples.DaprExamplesProtos.HelloRequest; import io.dapr.examples.HelloWorldGrpc; import io.grpc.Grpc; import io.grpc.InsecureServerCredentials; import io.grpc.Server; import io.grpc.stub.StreamObserver; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Options; import java.io.IOException; import java.util.concurrent.TimeUnit; import java.util.logging.Logger; /** * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Run in server mode: * dapr run --app-id hellogrpc --app-port 5000 --app-protocol grpc \ * -- java -jar target/dapr-java-sdk-examples-exec.jar * io.dapr.examples.invoke.grpc.HelloWorldService -p 5000 */ public class HelloWorldService { private static final Logger logger = Logger.getLogger(HelloWorldService.class.getName()); /** * Server mode: Grpc server. */ private Server server; /** * Server mode: class that encapsulates server-side handling logic for Grpc. */ static class HelloWorldImpl extends HelloWorldGrpc.HelloWorldImplBase { /** * Handling of the 'sayHello' method. * * @param req Request to say something. * @return Response with when it was said. */ @Override public void sayHello(HelloRequest req, StreamObserver responseObserver) { logger.info("greet to " + req.getName()); HelloReply reply = HelloReply.newBuilder().setMessage("Hello " + req.getName()).build(); responseObserver.onNext(reply); responseObserver.onCompleted(); } } /** * Server mode: starts listening on given port. * * @param port Port to listen on. * @throws IOException Errors while trying to start service. */ private void start(int port) throws IOException { server = Grpc.newServerBuilderForPort(port, InsecureServerCredentials.create()) .addService(new HelloWorldImpl()) .build() .start(); logger.info("Server started, listening on " + port); Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { // Use stderr here since the logger may have been reset by its JVM shutdown // hook. System.err.println("*** shutting down gRPC server since JVM is shutting down"); try { HelloWorldService.this.stop(); } catch (InterruptedException e) { e.printStackTrace(System.err); } System.err.println("*** server shut down"); } }); } /** * Server mode: waits for shutdown trigger. * * @throws InterruptedException Propagated interrupted exception. */ private void stop() throws InterruptedException { if (server != null) { server.shutdown().awaitTermination(30, TimeUnit.SECONDS); } } /** * Await termination on the main thread since the grpc library uses daemon * threads. */ private void blockUntilShutdown() throws InterruptedException { if (server != null) { server.awaitTermination(); } } /** * This is the main method of this app. * * @param args The port to listen on. * @throws Exception An Exception. */ public static void main(String[] args) throws Exception { Options options = new Options(); options.addRequiredOption("p", "port", true, "Port to listen to."); CommandLineParser parser = new DefaultParser(); CommandLine cmd = parser.parse(options, args); // If port string is not valid, it will throw an exception. int port = Integer.parseInt(cmd.getOptionValue("port")); final HelloWorldService service = new HelloWorldService(); service.start(port); service.blockUntilShutdown(); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/invoke/grpc/README.md ================================================ ## Invoking a Grpc endpoint using the Java-SDK In this example, you will run a Grpc service and client using Dapr's invoke feature. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Get into the examples' directory: ```sh cd examples ``` ### Running the example's service The first component is the service. It has a simple API with the `SayHello` method. This method will print out each message received from the client. The proto file below contains the description of the HelloWorld service found in the `./proto/examples/helloworld.proto` file: ```text service HelloWorld { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {} } // The request message containing the user's name. message HelloRequest { string name = 1; } // The response message containing the greetings message HelloReply { string message = 1; } ``` In the `HelloWorldService.java` file, you will find the `HelloWorldService` class, containing the main method and handling logic. You can see that it extends `HelloWorldImplBase` automatically generated by proto to implement `sayhello` method. ```java static class HelloWorldImpl extends HelloWorldGrpc.HelloWorldImplBase { /** * Handling of the 'sayHello' method. * * @param req Request to say something. * @return Response with when it was said. */ @Override public void sayHello(HelloRequest req, StreamObserver responseObserver) { HelloReply reply = HelloReply.newBuilder().setMessage("Hello " + req.getName()).build(); responseObserver.onNext(reply); responseObserver.onCompleted(); } } ``` Now run the service code: ```bash dapr run --app-id hellogrpc --app-port 5000 --app-protocol grpc -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.invoke.grpc.HelloWorldService -p 5000 ``` The `app-id` argument is used to identify this service in Dapr's runtime. The `app-port` determines which port Dapr's runtime should call into this service. The `protocol` argument informs Dapr which protocol it should use to invoke the application: `grpc` or `http`(default). ### Running the example's client The other component is the client. It will add user name to the grpc request and send it to the server. Open the `HelloWorldClient.java` file, it uses the DaprClient's grpc channel and sends request directly to the dapr side car through it, including necessary headers. ```java private static class HelloWorldClient { ///... public static void main(String[] args) throws Exception { String user = "World"; try (DaprClient client = new DaprClientBuilder().build()) { HelloWorldGrpc.HelloWorldBlockingStub blockingStub = HelloWorldGrpc.newBlockingStub(client.getGrpcChannel()); // Adds Dapr interceptors to populate gRPC metadata automatically. blockingStub = DaprClientGrpcInterceptors.intercept("hellogrpc", blockingStub); logger.info("Will try to greet " + user + " ..."); try { HelloRequest request = HelloRequest.newBuilder().setName(user).build(); HelloReply response = blockingStub.sayHello(request); logger.info("Greeting: " + response.getMessage()); } catch (StatusRuntimeException e) { logger.log(Level.WARNING, "RPC failed: {0}", e.getStatus()); } } } ///... } ``` Finally, open a new command line terminal and run the client code to send some messages. ```bash dapr run --app-id invokegrpc --app-protocol grpc -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.invoke.grpc.HelloWorldClient ``` ### Cleanup To stop the apps run (or press CTRL+C): ```bash dapr stop --app-id hellogrpc dapr stop --app-id invokegrpc ``` Thanks for playing. ================================================ FILE: examples/src/main/java/io/dapr/examples/invoke/http/DemoService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.invoke.http; import io.dapr.examples.DaprApplication; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Options; /** * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Run in server mode: * dapr run --app-id invokedemo --app-port 3000 \ * -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.invoke.http.DemoService -p 3000 */ public class DemoService { /** * Starts the service. * @param args Expects the port: -p PORT * @throws Exception If cannot start service. */ public static void main(String[] args) throws Exception { Options options = new Options(); options.addRequiredOption("p", "port", true, "Port to listen to."); CommandLineParser parser = new DefaultParser(); CommandLine cmd = parser.parse(options, args); // If port string is not valid, it will throw an exception. int port = Integer.parseInt(cmd.getOptionValue("port")); DaprApplication.start(port); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/invoke/http/DemoServiceController.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.invoke.http; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; import java.nio.charset.StandardCharsets; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Map; import java.util.TimeZone; /** * SpringBoot Controller to handle input binding. */ @RestController public class DemoServiceController { /** * Json serializer/deserializer. */ private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); /** * Format to output date and time. */ private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); /** * Handles a dapr service invocation endpoint on this app. * @param body The body of the http message. * @param headers The headers of the http message. * @return A message containing the time. */ @PostMapping(path = "/say") public Mono handleMethod(@RequestBody(required = false) byte[] body, @RequestHeader Map headers) { return Mono.fromSupplier(() -> { try { String message = body == null ? "" : new String(body, StandardCharsets.UTF_8); Calendar utcNow = Calendar.getInstance(TimeZone.getTimeZone("GMT")); String utcNowAsString = DATE_FORMAT.format(utcNow.getTime()); String metadataString = headers == null ? "" : OBJECT_MAPPER.writeValueAsString(headers); // Handles the request by printing message. System.out.println("Server: " + message); System.out.println("@ " + utcNowAsString + " and metadata: " + metadataString); return message + " received"; } catch (Exception e) { throw new RuntimeException(e); } }); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/invoke/http/InvokeClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.invoke.http; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.HttpExtension; /** * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Send messages to the server: * dapr run -- java -jar target/dapr-java-sdk-examples-exec.jar \ * io.dapr.examples.invoke.http.InvokeClient 'message one' 'message two' */ public class InvokeClient { /** * Identifier in Dapr for the service this client will invoke. */ private static final String SERVICE_APP_ID = "invokedemo"; /** * Starts the invoke client. * * @param args Messages to be sent as request for the invoke API. */ public static void main(String[] args) throws Exception { try (DaprClient client = (new DaprClientBuilder()).build()) { for (String message : args) { byte[] response = client.invokeMethod(SERVICE_APP_ID, "say", message, HttpExtension.POST, null, byte[].class).block(); System.out.println(new String(response)); } // This is an example, so for simplicity we are just exiting here. // Normally a dapr app would be a web service and not exit main. System.out.println("Done"); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/invoke/http/README.md ================================================ # Method invocation Sample In this sample, we'll create two java applications: a service application which exposes a method and a client application which will invoke the method from the service using Dapr. This sample includes: * DemoService (Exposes the method to be remotely accessed) * InvokeClient (Invokes the exposed method from DemoService) Visit [this](https://docs.dapr.io/developing-applications/building-blocks/service-invocation/service-invocation-overview/) link for more information about Dapr and service invocation. ## Remote invocation using the Java-SDK This sample uses the Client provided in Dapr Java SDK invoking a remote method. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then get into the examples directory: ```sh cd examples ``` ### Initialize Dapr Initialize Dapr in Self-Hosted Mode by running: `dapr init` ### Running the Demo service sample The Demo service application is meant to expose a method that can be remotely invoked. In this example, the service code has two parts: In the `DemoService.java` file, you will find the `DemoService` class, containing the main method. The main method uses the Spring Boot´s DaprApplication class for initializing the `ExposerServiceController`. See the code snippet below: ```java public class DemoService { ///... public static void main(String[] args) throws Exception { ///... // If port string is not valid, it will throw an exception. int port = Integer.parseInt(cmd.getOptionValue("port")); DaprApplication.start(port); } } ``` `DaprApplication.start()` Method will run an Spring Boot application that registers the `DemoServiceController`, which exposes the invoking action as a POST request. The Dapr's sidecar is the one that performs the actual call to the controller, triggered by client invocations or [bindings](https://docs.dapr.io/developing-applications/building-blocks/bindings/bindings-overview/). This Spring Controller exposes the `say` method. The method retrieves metadata from the headers and prints them along with the current date in console. The actual response from method is the formatted current date. See the code snippet below: ```java @RestController public class DemoServiceController { ///... @PostMapping(path = "/say") public Mono handleMethod(@RequestBody(required = false) byte[] body, @RequestHeader Map headers) { return Mono.fromSupplier(() -> { try { String message = body == null ? "" : new String(body, StandardCharsets.UTF_8); Calendar utcNow = Calendar.getInstance(TimeZone.getTimeZone("GMT")); String utcNowAsString = DATE_FORMAT.format(utcNow.getTime()); String metadataString = headers == null ? "" : OBJECT_MAPPER.writeValueAsString(headers); // Handles the request by printing message. System.out.println( "Server: " + message + " @ " + utcNowAsString + " and metadata: " + metadataString); return utcNowAsString; } catch (Exception e) { throw new RuntimeException(e); } }); } } ``` Use the following command to execute the demo service example: ```sh dapr run --app-id invokedemo --app-port 3000 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.invoke.http.DemoService -p 3000 ``` Once running, the ExposerService is now ready to be invoked by Dapr. ### Running the InvokeClient sample The Invoke client sample uses the Dapr SDK for invoking the remote method. The main method declares a Dapr Client using the `DaprClientBuilder` class. Notice that [DaprClientBuilder](https://github.com/dapr/java-sdk/blob/master/sdk/src/main/java/io/dapr/client/DaprClientBuilder.java) can receive two optional serializers: `withObjectSerializer()` is for Dapr's sent and received objects, and `withStateSerializer()` is for objects to be persisted. It needs to know the method name to invoke as well as the application id for the remote application. This example, we stick to the [default serializer](https://github.com/dapr/java-sdk/blob/master/sdk/src/main/java/io/dapr/serializer/DefaultObjectSerializer.java). In `InvokeClient.java` file, you will find the `InvokeClient` class and the `main` method. See the code snippet below: ```java public class InvokeClient { private static final String SERVICE_APP_ID = "invokedemo"; ///... public static void main(String[] args) throws Exception { try (DaprClient client = (new DaprClientBuilder()).build()) { for (String message : args) { byte[] response = client.invokeMethod(SERVICE_APP_ID, "say", message, HttpExtension.POST, null, byte[].class).block(); System.out.println(new String(response)); } // This is an example, so for simplicity we are just exiting here. // Normally a dapr app would be a web service and not exit main. System.out.println("Done"); } } ///... } ``` The class knows the app id for the remote application. It uses the the static `Dapr.getInstance().invokeMethod` method to invoke the remote method defining the parameters: The verb, application id, method name, and proper data and metadata, as well as the type of the expected return type. The returned payload for this method invocation is plain text and not a [JSON String](https://www.w3schools.com/js/js_json_datatypes.asp), so we expect `byte[]` to get the raw response and not try to deserialize it. Execute the follow script in order to run the InvokeClient example, passing two messages for the remote method: ```sh dapr run --app-id invokeclient -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.invoke.http.InvokeClient "message one" "message two" ``` Finally, the console for `invokeclient` should output: ```text "message one" received "message two" received Done ``` For more details on Dapr Spring Boot integration, please refer to [Dapr Spring Boot](../../DaprApplication.java) Application implementation. ### Cleanup To stop the apps run (or press CTRL+C): ```bash dapr stop --app-id invokedemo dapr stop --app-id invokeclient ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/jobs/DemoJobsClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.jobs; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.GetJobRequest; import io.dapr.client.domain.GetJobResponse; import io.dapr.client.domain.JobSchedule; import io.dapr.client.domain.ScheduleJobRequest; import io.dapr.config.Properties; import io.dapr.config.Property; import java.util.Map; public class DemoJobsClient { /** * The main method of this app to register and fetch jobs. */ public static void main(String[] args) throws Exception { Map, String> overrides = Map.of( Properties.HTTP_PORT, "3500", Properties.GRPC_PORT, "51439" ); try (DaprClient client = new DaprClientBuilder().withPropertyOverrides(overrides).build()) { // Schedule a job. System.out.println("**** Scheduling a Job with name dapr-jobs-1 *****"); ScheduleJobRequest scheduleJobRequest = new ScheduleJobRequest("dapr-job-1", JobSchedule.fromString("* * * * * *")).setData("Hello World!".getBytes()); client.scheduleJob(scheduleJobRequest).block(); System.out.println("**** Scheduling job dapr-jobs-1 completed *****"); // Get a job. System.out.println("**** Retrieving a Job with name dapr-jobs-1 *****"); GetJobResponse getJobResponse = client.getJob(new GetJobRequest("dapr-job-1")).block(); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/jobs/DemoJobsSpringApplication.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.jobs; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Spring Boot application to demonstrate Dapr Jobs callback API. *

    * This application demonstrates how to use Dapr Jobs API with Spring Boot. *

    */ @SpringBootApplication public class DemoJobsSpringApplication { public static void main(String[] args) throws Exception { SpringApplication.run(DemoJobsSpringApplication.class, args); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/jobs/JobsController.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.jobs; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; /** * SpringBoot Controller to handle jobs callback. */ @RestController public class JobsController { /** * Handles jobs callback from Dapr. * * @param jobName name of the job. * @param payload data from the job if payload exists. * @return Empty Mono. */ @PostMapping("/job/{jobName}") public Mono handleJob(@PathVariable("jobName") String jobName, @RequestBody(required = false) byte[] payload) { System.out.println("Job Name: " + jobName); System.out.println("Job Payload: " + new String(payload)); return Mono.empty(); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/jobs/README.md ================================================ ## Manage Dapr Jobs via the Jobs API This example provides the different capabilities provided by Dapr Java SDK for Jobs. For further information about Job APIs please refer to [this link](https://docs.dapr.io/developing-applications/building-blocks/jobs/jobs-overview/) ### Using the Jobs API The Java SDK exposes several methods for this - * `client.scheduleJob(...)` for scheduling a job. * `client.getJob(...)` for retrieving a scheduled job. * `client.deleteJob(...)` for deleting a job. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then get into the examples directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ### App API Token Authentication (Optional) Dapr supports API token authentication to secure communication between Dapr and your application. When using the Jobs API, Dapr makes incoming calls to your app at job trigger time, and you can validate these requests using the `APP_API_TOKEN`. For detailed implementation with gRPC interceptors, see the [PubSub README App API Token Authentication section](../pubsub/README.md#app-api-token-authentication-optional). For more details, see the [Dapr App API Token Authentication documentation](https://docs.dapr.io/operations/security/app-api-token/). **Quick setup:** ```bash # Export tokens before running the following `dapr run` commands. export APP_API_TOKEN="your-app-api-token" export DAPR_API_TOKEN="your-dapr-api-token" ``` ### Running the example This example uses the Java SDK Dapr client in order to **Schedule and Get** Jobs. `DemoJobsClient.java` is the example class demonstrating these features. Kindly check [DaprClient.java](https://github.com/dapr/java-sdk/blob/master/sdk/src/main/java/io/dapr/client/DaprClient.java) for a detailed description of the supported APIs. ```java public class DemoJobsClient { /** * The main method of this app to register and fetch jobs. */ public static void main(String[] args) throws Exception { Map, String> overrides = Map.of( Properties.HTTP_PORT, "3500", Properties.GRPC_PORT, "51439" ); try (DaprClient client = new DaprClientBuilder().withPropertyOverrides(overrides).build()) { // Schedule a job. ScheduleJobRequest scheduleJobRequest = new ScheduleJobRequest("dapr-job-1", JobSchedule.fromString("* * * * * *")).setData("Hello World!".getBytes()); client.scheduleJob(scheduleJobRequest).block(); // Get a job. GetJobResponse getJobResponse = client.getJob(new GetJobRequest("dapr-job-1")).block(); } } } ``` Use the following command to run this example- ```bash dapr run --resources-path ./components/configuration --app-id myapp --app-port 8080 --dapr-http-port 3500 --dapr-grpc-port 51439 --log-level debug -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.jobs.DemoJobsSpringApplication ``` ```bash java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.jobs.DemoJobsClient ``` ### Sample output ``` Job Name: dapr-job-1 Job Payload: Hello World! ``` ### Cleanup To stop the app, run (or press CTRL+C): ```bash dapr stop --app-id myapp ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/lock/DistributedLockGrpcClient.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.lock; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.LockRequest; import io.dapr.client.domain.UnlockRequest; import io.dapr.client.domain.UnlockResponseStatus; import reactor.core.publisher.Mono; /** * DistributedLockGrpcClient. */ public class DistributedLockGrpcClient { private static final String LOCK_STORE_NAME = "lockstore"; /** * Executes various methods to check the different apis. * * @param args arguments * @throws Exception throws Exception */ public static void main(String[] args) throws Exception { try (DaprPreviewClient client = (new DaprClientBuilder()).buildPreviewClient()) { System.out.println("Using preview client..."); tryLock(client); unlock(client); } } /** * Trying to get lock. * * @param client DaprPreviewClient object */ public static void tryLock(DaprPreviewClient client) { System.out.println("*******trying to get a free distributed lock********"); try { LockRequest lockRequest = new LockRequest(LOCK_STORE_NAME, "resouce1", "owner1", 5); Mono result = client.tryLock(lockRequest); System.out.println("Lock result -> " + (Boolean.TRUE.equals(result.block()) ? "SUCCESS" : "FAIL")); } catch (Exception ex) { System.out.println(ex.getMessage()); } } /** * Unlock a lock. * * @param client DaprPreviewClient object */ public static void unlock(DaprPreviewClient client) { System.out.println("*******unlock a distributed lock********"); try { UnlockRequest unlockRequest = new UnlockRequest(LOCK_STORE_NAME, "resouce1", "owner1"); Mono result = client.unlock(unlockRequest); System.out.println("Unlock result ->" + result.block().name()); } catch (Exception ex) { System.out.println(ex.getMessage()); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/lock/README.md ================================================ ## Distributed Lock API Example This example provides the different capabilities provided by Dapr Java SDK for Distributed Lock. For further information about Distributed Lock APIs please refer to [this link](https://docs.dapr.io/developing-applications/building-blocks/distributed-lock/) **This API is available in Preview Mode**. ### Using the Distributed Lock API The java SDK exposes several methods for this - * `client.tryLock(...)` for getting a free distributed lock * `client.unlock(...)` for unlocking a lock ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` ### Running the example Get into the examples' directory: ```sh cd examples ``` Use the following command to run this example- ```bash dapr run --resources-path ./components/lock --app-id lockgrpc --log-level debug -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.lock.DistributedLockGrpcClient ``` ### Sample output ``` Using preview client... *******trying to get a free distributed lock******** Lock result -> SUCCESS *******unlock a distributed lock******** Unlock result -> SUCCESS ``` ### Cleanup To stop the app, run (or press CTRL+C): ```bash dapr stop --app-id lockgrpc ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/BulkPublisher.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.pubsub; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.BulkPublishResponse; import io.dapr.client.domain.BulkPublishResponseFailedEntry; import io.dapr.examples.OpenTelemetryConfig; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.context.Scope; import io.opentelemetry.sdk.OpenTelemetrySdk; import java.util.ArrayList; import java.util.List; import static io.dapr.examples.OpenTelemetryConfig.getReactorContext; /** * Message publisher. * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Run the program: * dapr run --resources-path ./components/pubsub --app-id bulk-publisher -- \ * java -Ddapr.grpc.port="50010" -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.BulkPublisher */ public class BulkPublisher { private static final int NUM_MESSAGES = 10; private static final String TOPIC_NAME = "bulkpublishtesting"; //The name of the pubsub private static final String PUBSUB_NAME = "messagebus"; /** * main method. * * @param args incoming args * @throws Exception any exception */ public static void main(String[] args) throws Exception { OpenTelemetrySdk openTelemetrySdk = OpenTelemetryConfig.createOpenTelemetry(); Tracer tracer = openTelemetrySdk.getTracer(BulkPublisher.class.getCanonicalName()); Span span = tracer.spanBuilder("Bulk Publisher's Main").setSpanKind(SpanKind.CLIENT).startSpan(); try (DaprClient client = (new DaprClientBuilder()).build()) { client.waitForSidecar(10000); try (Scope scope = span.makeCurrent()) { System.out.println("Using Dapr client..."); List messages = new ArrayList<>(); System.out.println("Constructing the list of messages to publish"); for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d", i); messages.add(message); System.out.println("Going to publish message : " + message); } BulkPublishResponse res = client .publishEvents(PUBSUB_NAME, TOPIC_NAME, "text/plain", messages) .contextWrite(getReactorContext()).block(); System.out.println("Published the set of messages in a single call to Dapr"); if (res != null) { if (res.getFailedEntries().size() > 0) { // Ideally this condition will not happen in examples System.out.println("Some events failed to be published"); for (BulkPublishResponseFailedEntry entry : res.getFailedEntries()) { System.out.println("EntryId : " + entry.getEntry().getEntryId() + " Error message : " + entry.getErrorMessage()); } } } else { throw new Exception("null response from dapr"); } } span.end(); Thread.sleep(10000); openTelemetrySdk.getSdkTracerProvider().shutdown(); System.out.println("Done"); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/CloudEventBulkPublisher.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.pubsub; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.BulkPublishEntry; import io.dapr.client.domain.BulkPublishRequest; import io.dapr.client.domain.BulkPublishResponse; import io.dapr.client.domain.BulkPublishResponseFailedEntry; import io.dapr.client.domain.CloudEvent; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; /** * Message publisher. * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Run the program: * dapr run --resources-path ./components/pubsub --app-id publisher -- \ * java -Ddapr.grpc.port="50010" \ * -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.CloudEventBulkPublisher */ public class CloudEventBulkPublisher { private static final int NUM_MESSAGES = 10; private static final String TOPIC_NAME = "bulkpublishtesting"; //The name of the pubsub private static final String PUBSUB_NAME = "messagebus"; /** * main method. * * @param args incoming args * @throws Exception any exception */ public static void main(String[] args) throws Exception { try (DaprClient client = (new DaprClientBuilder()).build()) { System.out.println("Using Dapr client..."); List>>> entries = new ArrayList<>(); for (int i = 0; i < NUM_MESSAGES; i++) { CloudEvent> cloudEvent = new CloudEvent<>(); cloudEvent.setId(UUID.randomUUID().toString()); cloudEvent.setType("example"); cloudEvent.setSpecversion("1"); cloudEvent.setDatacontenttype("application/json"); String val = String.format("This is message #%d", i); cloudEvent.setData(new HashMap<>() { { put("dataKey", val); } }); BulkPublishEntry>> entry = new BulkPublishEntry<>( "" + (i + 1), cloudEvent, CloudEvent.CONTENT_TYPE, null); entries.add(entry); } BulkPublishRequest>> request = new BulkPublishRequest<>(PUBSUB_NAME, TOPIC_NAME, entries); BulkPublishResponse res = client.publishEvents(request).block(); if (res != null) { if (res.getFailedEntries().size() > 0) { // Ideally this condition will not happen in examples System.out.println("Some events failed to be published"); for (BulkPublishResponseFailedEntry entry : res.getFailedEntries()) { System.out.println("EntryId : " + entry.getEntry().getEntryId() + " Error message : " + entry.getErrorMessage()); } } } else { throw new Exception("null response"); } System.out.println("Done"); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/CloudEventPublisher.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.pubsub; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.CloudEvent; import io.dapr.client.domain.Metadata; import io.dapr.client.domain.PublishEventRequest; import java.util.Map; import java.util.UUID; import static java.util.Collections.singletonMap; /** * Message publisher. * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Run the program: * dapr run --resources-path ./components/pubsub --app-id publisher -- \ * java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.CloudEventPublisher */ public class CloudEventPublisher { //Number of messages to be sent. private static final int NUM_MESSAGES = 10; //Time-to-live for messages published. private static final String MESSAGE_TTL_IN_SECONDS = "1000"; //The title of the topic to be used for publishing private static final String TOPIC_NAME = "testingtopic"; //The name of the pubsub private static final String PUBSUB_NAME = "messagebus"; /** * This is the entry point of the publisher app example. * @param args Args, unused. * @throws Exception A startup Exception. */ public static void main(String[] args) throws Exception { //Creating the DaprClient: Using the default builder client produces an HTTP Dapr Client try (DaprClient client = new DaprClientBuilder().build()) { for (int i = 0; i < NUM_MESSAGES; i++) { CloudEvent cloudEvent = new CloudEvent<>(); cloudEvent.setId(UUID.randomUUID().toString()); cloudEvent.setType("example"); cloudEvent.setSpecversion("1"); cloudEvent.setDatacontenttype("text/plain"); cloudEvent.setData(String.format("This is message #%d", i)); //Publishing messages client.publishEvent( new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEvent) .setContentType(CloudEvent.CONTENT_TYPE) .setMetadata(Map.of(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS))).block(); System.out.println("Published cloud event with message: " + cloudEvent.getData()); try { Thread.sleep((long) (1000 * Math.random())); } catch (InterruptedException e) { e.printStackTrace(); Thread.currentThread().interrupt(); return; } } // This is an example, so for simplicity we are just exiting here. // Normally a dapr app would be a web service and not exit main. System.out.println("Done."); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/Publisher.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.pubsub; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.Metadata; import static java.util.Collections.singletonMap; /** * Message publisher. * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Run the program: * dapr run --resources-path ./components/pubsub --app-id publisher -- \ * java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.Publisher */ public class Publisher { //Number of messages to be sent. private static final int NUM_MESSAGES = 10; //Time-to-live for messages published. private static final String MESSAGE_TTL_IN_SECONDS = "1000"; //The title of the topic to be used for publishing private static final String DEFAULT_TOPIC_NAME = "testingtopic"; //The name of the pubsub private static final String PUBSUB_NAME = "messagebus"; /** * This is the entry point of the publisher app example. * @param args Args, unused. * @throws Exception A startup Exception. */ public static void main(String[] args) throws Exception { String topicName = getTopicName(args); try (DaprClient client = new DaprClientBuilder().build()) { for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d", i); // Publishing messages client.publishEvent( PUBSUB_NAME, topicName, message, singletonMap(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS)).block(); System.out.println("Published message: " + message); try { Thread.sleep((long) (1000 * Math.random())); } catch (InterruptedException e) { e.printStackTrace(); Thread.currentThread().interrupt(); return; } } // This is an example, so for simplicity we are just exiting here. // Normally a dapr app would be a web service and not exit main. System.out.println("Done."); } } /** * If a topic is specified in args, use that. * Else, fallback to the default topic. * @param args program arguments * @return name of the topic to publish messages to. */ private static String getTopicName(String[] args) { if (args.length >= 1) { return args[0]; } return DEFAULT_TOPIC_NAME; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/PublisherWithTracing.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.pubsub; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.examples.OpenTelemetryConfig; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.context.Scope; import io.opentelemetry.sdk.OpenTelemetrySdk; import static io.dapr.examples.OpenTelemetryConfig.getReactorContext; /** * Message publisher. * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Run the program: * dapr run --resources-path ./components/pubsub --app-id publisher-tracing -- \ * java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.PublisherWithTracing */ public class PublisherWithTracing { //Number of messages to be sent. private static final int NUM_MESSAGES = 10; //The title of the topic to be used for publishing private static final String TOPIC_NAME = "testingtopic"; //The name of the pubsub private static final String PUBSUB_NAME = "messagebus"; /** * This is the entry point of the publisher app example. * * @param args Args, unused. * @throws Exception A startup Exception. */ public static void main(String[] args) throws Exception { OpenTelemetrySdk openTelemetrySdk = OpenTelemetryConfig.createOpenTelemetry(); Tracer tracer = openTelemetrySdk.getTracer(PublisherWithTracing.class.getCanonicalName()); Span span = tracer.spanBuilder("Publisher's Main").setSpanKind(SpanKind.CLIENT).startSpan(); try (DaprClient client = new DaprClientBuilder().build()) { try (Scope scope = span.makeCurrent()) { for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d", i); // Publishing messages, notice the use of subscriberContext() for tracing. client.publishEvent( PUBSUB_NAME, TOPIC_NAME, message).contextWrite(getReactorContext()).block(); System.out.println("Published message: " + message); try { Thread.sleep((long) (1000 * Math.random())); } catch (InterruptedException e) { e.printStackTrace(); Thread.currentThread().interrupt(); return; } } } span.end(); openTelemetrySdk.getSdkTracerProvider().shutdown(); System.out.println("Done."); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/README.md ================================================ # Dapr Pub-Sub Sample In this sample, we'll create a publisher and a subscriber java applications using Dapr, based on the publish-subscribe pattern. The publisher will generate messages of a specific topic, while a subscriber will listen for messages of specific topic. See the [Dapr Pub-Sub docs](https://docs.dapr.io/developing-applications/building-blocks/pubsub/) to understand when this pattern might be a good choice for your software architecture. Visit [this](https://docs.dapr.io/developing-applications/building-blocks/pubsub/pubsub-overview/) link for more information about Dapr and Pub-Sub. ## Pub-Sub Sample using the Java-SDK This sample uses the HTTP Springboot integration provided in Dapr Java SDK for subscribing, and gRPC client for publishing. This example uses Redis Streams (enabled in Redis versions => 5). ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then get into the examples directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ### App API Token Authentication (Optional) Dapr supports API token authentication to secure communication between Dapr and your application. This feature is useful for numerous APIs like pubsub, bindings, and jobs building blocks where Dapr makes incoming calls to your app. For more details, see the [Dapr App API Token Authentication documentation](https://docs.dapr.io/operations/security/app-api-token/). #### How it works When `APP_API_TOKEN` is set, Dapr includes the token in the gRPC metadata header `dapr-api-token` when calling your app. Your app can validate this token to authenticate requests from Dapr. #### Setting up tokens Set a dapr annotation or simply export the environment variables before running your Dapr applications: ```bash # Token for your app to authenticate requests FROM Dapr export APP_API_TOKEN="your-app-api-token" # Token for Dapr client to authenticate requests TO Dapr sidecar export DAPR_API_TOKEN="your-dapr-api-token" ``` #### Using with gRPC Subscriber The gRPC subscriber example includes a `MetadataInterceptor` (see `SubscriberGrpcService.java`) that captures the `dapr-api-token` from incoming requests: ```java public class SubscriberGrpcService extends AppCallbackGrpc.AppCallbackImplBase { public static final Context.Key METADATA_KEY = Context.key("grpc-metadata"); // gRPC interceptor to capture metadata public static class MetadataInterceptor implements ServerInterceptor { @Override public ServerCall.Listener interceptCall( ServerCall call, Metadata headers, ServerCallHandler next) { Context contextWithMetadata = Context.current().withValue(METADATA_KEY, headers); return Contexts.interceptCall(contextWithMetadata, call, headers, next); } } } ``` Then in your service methods, you can extract and validate the token: ```java Context context = Context.current(); Metadata metadata = METADATA_KEY.get(context); String apiToken = metadata.get(Metadata.Key.of("dapr-api-token", Metadata.ASCII_STRING_MARSHALLER)); // Validate token accordingly ``` #### Using with HTTP Subscriber For HTTP-based endpoints, extract the token from the headers: ```java @RestController public class SubscriberController { @PostMapping(path = "/endpoint") public Mono handleRequest( @RequestBody(required = false) byte[] body, @RequestHeader Map headers) { return Mono.fromRunnable(() -> { try { // Extract the token from headers String apiToken = headers.get("dapr-api-token"); // Validate token accordingly // Process the request } catch (Exception e) { throw new RuntimeException(e); } }); } } ``` Then use the standard `dapr run` commands shown in the sections below. The subscriber will validate incoming requests from Dapr using `APP_API_TOKEN`, and both applications will authenticate to Dapr using `DAPR_API_TOKEN`. ### Running the publisher The publisher is a simple Java application with a main method that uses the Dapr gRPC Client to publish 10 messages to a specific topic. In the `Publisher.java` file, you will find the `Publisher` class, containing the main method. The main method declares a Dapr Client using the `DaprClientBuilder` class. Notice that this builder gets two serializer implementations in the constructor: one is for Dapr's sent and received objects, and the second is for objects to be persisted. The client publishes messages using the `publishEvent` method. The Dapr client is also within a try-with-resource block to properly close the client at the end. See the code snippet below: Dapr's sidecar will automatically wrap the payload received into a CloudEvent object, which will later on be parsed by the subscriber. ```java public class Publisher { private static final int NUM_MESSAGES = 10; private static final String DEFAULT_TOPIC_NAME = "testingtopic"; private static final String PUBSUB_NAME = "messagebus"; ///... public static void main(String[] args) throws Exception { String topicName = getTopicName(args); // Topic can be configured by args. // Creating the DaprClient: Using the default builder client produces an HTTP Dapr Client try (DaprClient client = new DaprClientBuilder().build()) { for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d", i); // Publishing messages client.publishEvent( PUBSUB_NAME, topicName, message, singletonMap(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS)).block(); System.out.println("Published message: " + message); //... } ///... } } } ``` The `CloudEventPublisher.java` file shows how the same can be accomplished if the application must send a CloudEvent object instead of relying on Dapr's automatic CloudEvent "wrapping". In this case, the app MUST override the content-type parameter via `withContentType()`, so that Dapr's sidecar knows that the payload is already a CloudEvent object. ```java public class CloudEventPublisher { ///... public static void main(String[] args) throws Exception { //Creating the DaprClient: Using the default builder client produces an HTTP Dapr Client try (DaprClient client = new DaprClientBuilder().build()) { for (int i = 0; i < NUM_MESSAGES; i++) { CloudEvent cloudEvent = new CloudEvent(); cloudEvent.setId(UUID.randomUUID().toString()); cloudEvent.setType("example"); cloudEvent.setSpecversion("1"); cloudEvent.setDatacontenttype("text/plain"); cloudEvent.setData(String.format("This is message #%d", i)); //Publishing messages client.publishEvent( new PublishEventRequestBuilder(PUBSUB_NAME, TOPIC_NAME, cloudEvent) .withContentType(CloudEvent.CONTENT_TYPE) .withMetadata(singletonMap(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS)) .build()).block(); System.out.println("Published cloud event with message: " + cloudEvent.getData()); //... } //... } } } ``` Execute the following command to run the Publisher example: ```bash dapr run --resources-path ./components/pubsub --app-id publisher -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.Publisher ``` Once running, the Publisher should print the output as follows: ```txt ✅ You're up and running! Both Dapr and your app logs will appear here. Published message: This is message #0 Published message: This is message #1 Published message: This is message #2 Published message: This is message #3 Published message: This is message #4 Published message: This is message #5 Published message: This is message #6 Published message: This is message #7 Published message: This is message #8 Published message: This is message #9 Done. ``` Messages have been published in the topic. Once running, the Subscriber should print the output as follows: ```txt Subscriber got: This is message #3 Subscriber got: {"id":"1f646657-0032-4797-b59b-c57b4f40743b","source":"publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"application/json","data":"This is message #3","expiration":"2020-12-24T05:29:12Z"} Subscriber got: This is message #8 Subscriber got: {"id":"a22b97ce-9008-4fba-8b57-c3c3e1f031b6","source":"publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"application/json","data":"This is message #8","expiration":"2020-12-24T05:29:15Z"} Subscriber got: This is message #0 Subscriber got: {"id":"abb2f110-6862-49f7-8c8d-189f6dcd177d","source":"publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"application/json","data":"This is message #0","expiration":"2020-12-24T05:29:11Z"} Subscriber got: This is message #7 Subscriber got: {"id":"043f31d3-c13a-4a02-ac89-64ecca946598","source":"publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"application/json","data":"This is message #7","expiration":"2020-12-24T05:29:14Z"} Subscriber got: This is message #2 Subscriber got: {"id":"acc554f4-7109-4c31-9374-0e5936b90180","source":"publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"application/json","data":"This is message #2","expiration":"2020-12-24T05:29:12Z"} Subscriber got: This is message #9 Subscriber got: {"id":"8b3ad160-368d-4b0f-9925-8fa2a2fbf5ca","source":"publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"application/json","data":"This is message #9","expiration":"2020-12-24T05:29:15Z"} Subscriber got: This is message #1 Subscriber got: {"id":"e41d4512-511a-4a2b-80f3-a0a4d091c9a5","source":"publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"application/json","data":"This is message #1","expiration":"2020-12-24T05:29:11Z"} Subscriber got: This is message #4 Subscriber got: {"id":"33e21664-128e-4fc4-b5c4-ed257f758336","source":"publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"application/json","data":"This is message #4","expiration":"2020-12-24T05:29:13Z"} Subscriber got: This is message #6 Subscriber got: {"id":"bd14f1ee-ca6b-47f7-8130-dd1e6de5b03c","source":"publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"application/json","data":"This is message #6","expiration":"2020-12-24T05:29:14Z"} Subscriber got: This is message #5 Subscriber got: {"id":"acc57cd6-71da-4ba3-9a12-9c921ca49af7","source":"publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"application/json","data":"This is message #5","expiration":"2020-12-24T05:29:13Z"} ``` Messages have been retrieved from the topic. ### Bulk Publish Messages Another feature provided by the SDK is to allow users to publish multiple messages in a single call to the Dapr sidecar. For this example, we have a simple Java application with a main method that uses the Dapr Client to publish 10 messages to a specific topic in a single call. In the `BulkPublisher.java` file, you will find the `BulkPublisher` class, containing the main method. The main method declares a Dapr Client using the `DaprClientBuilder` class. Notice that this builder gets two serializer implementations in the constructor: one is for Dapr's sent and recieved objects, and the second is for objects to be persisted. The client publishes messages using `publishEvents` method. The Dapr client is also within a try-with-resource block to properly close the client at the end. See the code snippet below: Dapr's sidecar will automatically wrap the payload received into a CloudEvent object, which will later on be parsed by the subscriber. ```java public class BulkPublisher { private static final int NUM_MESSAGES = 10; private static final String TOPIC_NAME = "kafkatestingtopic"; private static final String PUBSUB_NAME = "kafka-pubsub"; ///... public static void main(String[] args) throws Exception { OpenTelemetry openTelemetry = OpenTelemetryConfig.createOpenTelemetry(); Tracer tracer = openTelemetry.getTracer(BulkPublisher.class.getCanonicalName()); Span span = tracer.spanBuilder("Bulk Publisher's Main").setSpanKind(Span.Kind.CLIENT).startSpan(); try (DaprClient client = (new DaprClientBuilder()).build()) { client.waitForSidecar(10000); try (Scope scope = span.makeCurrent()) { System.out.println("Using Dapr client..."); List messages = new ArrayList<>(); System.out.println("Constructing the list of messages to publish"); for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d", i); messages.add(message); System.out.println("Going to publish message : " + message); } BulkPublishResponse res = client.publishEvents(PUBSUB_NAME, TOPIC_NAME, messages, "text/plain") .subscriberContext(getReactorContext()).block(); System.out.println("Published the set of messages in a single call to Dapr"); if (res != null) { if (res.getFailedEntries().size() > 0) { // Ideally this condition will not happen in examples System.out.println("Some events failed to be published"); for (BulkPublishResponseFailedEntry entry : res.getFailedEntries()) { System.out.println("EntryId : " + entry.getEntryId() + " Error message : " + entry.getErrorMessage()); } } } else { throw new Exception("null response from dapr"); } } // Close the span. span.end(); // Allow plenty of time for Dapr to export all relevant spans to the tracing infra. Thread.sleep(10000); // Shutdown the OpenTelemetry tracer. OpenTelemetrySdk.getGlobalTracerManagement().shutdown(); } } ``` The code uses the `DaprClient` created by the `DaprClientBuilder` for the `publishEvents` (BulkPublish) API. In this case, when the `publishEvents` call is made, one of the arguments to the method is the content type of data, this being `text/plain` in the example. In this case, when parsing and printing the response, there is a concept of EntryID, which is automatically generated or can be set manually when using the `BulkPublishRequest` object. The EntryID is a request scoped ID, in this case automatically generated as the index of the message in the list of messages in the `publishEvents` call. The response, will be empty if all events are published successfully or it will contain the list of events that have failed. The code also shows the scenario where it is possible to start tracing in code and pass on that tracing context to Dapr. The `CloudEventBulkPublisher.java` file shows how the same can be accomplished if the application must send a CloudEvent object instead of relying on Dapr's automatic CloudEvent "wrapping". In this case, the application **MUST** override the content-type parameter via `withContentType()`, so Dapr's sidecar knows that the payload is already a CloudEvent object. ```java public class CloudEventBulkPublisher { ///... public static void main(String[] args) throws Exception { try (DaprClient client = (new DaprClientBuilder()).build()) { // Construct request BulkPublishRequest>> request = new BulkPublishRequest<>(PUBSUB_NAME, TOPIC_NAME); List>>> entries = new ArrayList<>(); for (int i = 0; i < NUM_MESSAGES; i++) { CloudEvent> cloudEvent = new CloudEvent<>(); cloudEvent.setId(UUID.randomUUID().toString()); cloudEvent.setType("example"); cloudEvent.setSpecversion("1"); cloudEvent.setDatacontenttype("application/json"); String val = String.format("This is message #%d", i); cloudEvent.setData(new HashMap<>() { { put("dataKey", val); } }); BulkPublishRequestEntry>> entry = new BulkPublishRequestEntry<>(); entry.setEntryID("" + (i + 1)) .setEvent(cloudEvent) .setContentType(CloudEvent.CONTENT_TYPE); entries.add(entry); } request.setEntries(entries); // Publish events BulkPublishResponse res = client.publishEvents(request).block(); if (res != null) { if (res.getFailedEntries().size() > 0) { // Ideally this condition will not happen in examples System.out.println("Some events failed to be published"); for (BulkPublishResponseFailedEntry entry : res.getFailedEntries()) { System.out.println("EntryId : " + entry.getEntryId() + " Error message : " + entry.getErrorMessage()); } } } else { throw new Exception("null response"); } System.out.println("Done"); } } } ``` Execute the following command to run the BulkPublisher example: ```bash dapr run --resources-path ./components/pubsub --app-id bulk-publisher -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.BulkPublisher ``` Once running, the BulkPublisher should print the output as follows: ```txt ✅ You're up and running! Both Dapr and your app logs will appear here. Using Dapr client... Constructing the list of messages to publish Going to publish message : This is message #0 Going to publish message : This is message #1 Going to publish message : This is message #2 Going to publish message : This is message #3 Going to publish message : This is message #4 Going to publish message : This is message #5 Going to publish message : This is message #6 Going to publish message : This is message #7 Going to publish message : This is message #8 Going to publish message : This is message #9 Published the set of messages in a single call to Dapr Done ``` Messages have been published in the topic. The Subscriber started previously [here](#running-the-subscriber) should print the output as follows: ```txt Subscriber got from bulk published topic: This is message #1 Subscriber got: {"id":"323935ed-d8db-4ea2-ba28-52352b1d1b34","source":"bulk-publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"text/plain","data":"This is message #1","data_base64":null} Subscriber got from bulk published topic: This is message #0 Subscriber got: {"id":"bb2f4833-0473-446b-a6cc-04a36de5ac0a","source":"bulk-publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"text/plain","data":"This is message #0","data_base64":null} Subscriber got from bulk published topic: This is message #5 Subscriber got: {"id":"07bad175-4be4-4beb-a983-4def2eba5768","source":"bulk-publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"text/plain","data":"This is message #5","data_base64":null} Subscriber got from bulk published topic: This is message #6 Subscriber got: {"id":"b99fba4d-732a-4d18-bf10-b37916dedfb1","source":"bulk-publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"text/plain","data":"This is message #6","data_base64":null} Subscriber got from bulk published topic: This is message #2 Subscriber got: {"id":"2976f254-7859-449e-b66c-57fab4a72aef","source":"bulk-publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"text/plain","data":"This is message #2","data_base64":null} Subscriber got from bulk published topic: This is message #3 Subscriber got: {"id":"f21ff2b5-4842-481d-9a96-e4c299d1c463","source":"bulk-publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"text/plain","data":"This is message #3","data_base64":null} Subscriber got from bulk published topic: This is message #4 Subscriber got: {"id":"4bf50438-e576-4f5f-bb40-bd31c716ad02","source":"bulk-publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"text/plain","data":"This is message #4","data_base64":null} Subscriber got from bulk published topic: This is message #7 Subscriber got: {"id":"f0c8b53b-7935-478e-856b-164d329d25ab","source":"bulk-publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"text/plain","data":"This is message #7","data_base64":null} Subscriber got from bulk published topic: This is message #9 Subscriber got: {"id":"b280569f-cc29-471f-9cb7-682d8d6bd553","source":"bulk-publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"text/plain","data":"This is message #9","data_base64":null} Subscriber got from bulk published topic: This is message #8 Subscriber got: {"id":"df20d841-296e-4c6b-9dcb-dd17920538e7","source":"bulk-publisher","type":"com.dapr.event.sent","specversion":"1.0","datacontenttype":"text/plain","data":"This is message #8","data_base64":null} ``` > Note: the Redis pubsub component does not have a native bulk publish implementation, and uses Dapr runtime's default bulk publish implementation which is concurrent. Therefore, the order of the events that are published are not guaranteed. Messages have been retrieved from the topic. You can also run the publisher to publish messages to `testingtopicbulk` topic, so that it can receive messages using the bulk subscription. ```bash dapr run --resources-path ./components/pubsub --app-id publisher -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.Publisher testingtopicbulk ``` Once running, the Publisher should print the same output as seen [above](#running-the-publisher). The Subscriber should print the output as follows: ```txt Bulk Subscriber got 10 messages. Bulk Subscriber message has entry ID: d4d81c57-d75c-4a22-a747-e907099ca135 Bulk Subscriber got: This is message #0 Bulk Subscriber message has entry ID: f109c837-f7c8-4839-8d71-2df9c467875c Bulk Subscriber got: This is message #1 Bulk Subscriber message has entry ID: d735044f-1320-43e1-bd41-787ad9d26427 Bulk Subscriber got: This is message #2 Bulk Subscriber message has entry ID: afe74e5a-1a2b-498a-beca-7a6383141ccf Bulk Subscriber got: This is message #3 Bulk Subscriber message has entry ID: 1df3fa51-d137-4749-891d-973ce58f1e1c Bulk Subscriber got: This is message #4 Bulk Subscriber message has entry ID: ecab82bd-77be-40a1-8b62-2dbb3388d726 Bulk Subscriber got: This is message #5 Bulk Subscriber message has entry ID: 49a63916-ed09-4101-969e-13a860e35c55 Bulk Subscriber got: This is message #6 Bulk Subscriber message has entry ID: 897ec32c-ad74-4512-8979-ee0a455433e8 Bulk Subscriber got: This is message #7 Bulk Subscriber message has entry ID: 67367edc-27a6-4c8c-9e39-31caa0f74b2d Bulk Subscriber got: This is message #8 Bulk Subscriber message has entry ID: f134d21f-0a05-408d-977c-1397b999e908 Bulk Subscriber got: This is message #9 ``` ### Running the subscriber The subscriber will subscribe to the topic to be used by the publisher and read the messages published. The subscriber uses the Spring Boot´s DaprApplication class for initializing the `SubscriberController`. There is a gRPC version and HTTP version of the subscriber in the grpc and http folders. In `Subscriber.java` file, you will find the `Subscriber` class and the `main` method. See the code snippet below: ```java public class Subscriber { public static void main(String[] args) throws Exception { ///... // Start Dapr's callback endpoint. DaprApplication.start([PROTOCAL],port); } } ``` `DaprApplication.start()` Method will run a Spring Boot application that registers the `SubscriberController`, which exposes the message retrieval as a POST request, or the `SubscriberGrpcService`, which implement the grpc methods that the sidecar will call. **HTTP Version** The Dapr sidecar is the one that performs the actual call to the controller, based on the pubsub features. This Spring Controller handles the message endpoint, printing the message which is received as the POST body. The subscription's topic in Dapr is handled automatically via the `@Topic` annotation - which also supports the same expressions in [Spring's @Value annotations](https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-value-annotations). The code snippet below shows how to create a subscription using the `@Topic` annotation showcasing expression support. In this case, `myAppProperty` is a Java property that does not exist, so the expression resolves to the default value (`messagebus`). ```java @RestController public class SubscriberController { ///... @Topic(name = "testingtopic", pubsubName = "${myAppProperty:messagebus}") @PostMapping(path = "/testingtopic") public Mono handleMessage(@RequestBody(required = false) byte[] body, @RequestHeader Map headers) { return Mono.fromRunnable(() -> { try { // Dapr's event is compliant to CloudEvent. CloudEventEnvelope envelope = SERIALIZER.deserialize(body, CloudEventEnvelope.class); String message = envelope.getData() == null ? "" : envelope.getData(); System.out.println("Subscriber got message: " + message); } catch (Exception e) { throw new RuntimeException(e); } }); } } ``` The `@BulkSubscribe` annotation can be used with `@Topic` to receive multiple messages at once. See the example below on how to handle the bulk messages and respond correctly. ```java @RestController public class SubscriberController { ///... @BulkSubscribe() @Topic(name = "testingtopicbulk", pubsubName = "${myAppProperty:messagebus}") @PostMapping(path = "/testingtopicbulk") public Mono handleBulkMessage( @RequestBody(required = false) BulkSubscribeMessage> bulkMessage) { return Mono.fromCallable(() -> { System.out.println("Bulk Subscriber received " + bulkMessage.getEntries().size() + " messages."); List entries = new ArrayList(); for (BulkSubscribeMessageEntry entry : bulkMessage.getEntries()) { try { System.out.printf("Bulk Subscriber message has entry ID: %s\n", entry.getEntryId()); CloudEvent cloudEvent = (CloudEvent) entry.getEvent(); System.out.printf("Bulk Subscriber got: %s\n", cloudEvent.getData()); entries.add(new BulkSubscribeAppResponseEntry(entry.getEntryId(), BulkSubscribeAppResponseStatus.SUCCESS)); } catch (Exception e) { e.printStackTrace(); entries.add(new BulkSubscribeAppResponseEntry(entry.getEntryId(), BulkSubscribeAppResponseStatus.RETRY)); } } return new BulkSubscribeAppResponse(entries); }); } } ``` Execute the following command to run the HTTP Subscriber example: ```bash dapr run --resources-path ./components/pubsub --app-id subscriber --app-port 3000 --app-protocol http -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.http.Subscriber -p 3000 ``` **gRPC Version** The Spring GrpcService implements the methods required for gRPC communication with Dapr\`s sidecar. The `SubscriberGrpcService.java` snippet below shows the details. Dapr\`s sidecar will call `listTopicSubscriptions` to get the topic and pubsub name that are contained in the response before the subscription starts. After the pubsub component in the sidecar subscribes successfully to the specified topic, a message will be sent to the method `onTopicEvent` in the request parameter. ```java @GrpcService public class SubscriberGrpcService extends AppCallbackGrpc.AppCallbackImplBase { private final List topicSubscriptionList = new ArrayList<>(); private final DaprObjectSerializer objectSerializer = new DefaultObjectSerializer(); @Override public void listTopicSubscriptions(Empty request, StreamObserver responseObserver) { registerConsumer("messagebus", "testingtopic", false); registerConsumer("messagebus", "testingtopicbulk", true); try { DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder builder = DaprAppCallbackProtos .ListTopicSubscriptionsResponse.newBuilder(); topicSubscriptionList.forEach(builder::addSubscriptions); DaprAppCallbackProtos.ListTopicSubscriptionsResponse response = builder.build(); responseObserver.onNext(response); } catch (Throwable e) { responseObserver.onError(e); } finally { responseObserver.onCompleted(); } } @Override public void onTopicEvent(DaprAppCallbackProtos.TopicEventRequest request, StreamObserver responseObserver) { try { String data = request.getData().toStringUtf8().replace("\"", ""); System.out.println("Subscriber got: " + data); DaprAppCallbackProtos.TopicEventResponse response = DaprAppCallbackProtos.TopicEventResponse.newBuilder() .setStatus(DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.SUCCESS) .build(); responseObserver.onNext(response); responseObserver.onCompleted(); } catch (Throwable e) { responseObserver.onError(e); } } ///... } ``` The `SubscriberGrpcService.java` now handles both regular and bulk message subscriptions since bulk pubsub is now stable. When Dapr's sidecar successfully subscribes to messages, it will call either `onTopicEvent` for regular messages or `onBulkTopicEvent` for bulk messages. Below is an example of the bulk handler: ```java public class SubscriberGrpcService extends AppCallbackGrpc.AppCallbackImplBase { // ... onTopicEvent method shown above ... @Override public void onBulkTopicEvent(io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequest request, io.grpc.stub.StreamObserver responseObserver) { try { TopicEventBulkResponse.Builder responseBuilder = TopicEventBulkResponse.newBuilder(); if (request.getEntriesCount() == 0) { responseObserver.onNext(responseBuilder.build()); responseObserver.onCompleted(); return; } System.out.println("Bulk Subscriber received " + request.getEntriesCount() + " messages."); for (TopicEventBulkRequestEntry entry : request.getEntriesList()) { try { System.out.printf("Bulk Subscriber message has entry ID: %s\n", entry.getEntryId()); System.out.printf("Bulk Subscriber got: %s\n", entry.getCloudEvent().getData().toStringUtf8()); TopicEventBulkResponseEntry.Builder responseEntryBuilder = TopicEventBulkResponseEntry .newBuilder() .setEntryId(entry.getEntryId()) .setStatusValue(TopicEventResponseStatus.SUCCESS_VALUE); responseBuilder.addStatuses(responseEntryBuilder); } catch (Throwable e) { TopicEventBulkResponseEntry.Builder responseEntryBuilder = TopicEventBulkResponseEntry .newBuilder() .setEntryId(entry.getEntryId()) .setStatusValue(TopicEventResponseStatus.RETRY_VALUE); responseBuilder.addStatuses(responseEntryBuilder); } } TopicEventBulkResponse response = responseBuilder.build(); responseObserver.onNext(response); responseObserver.onCompleted(); } catch (Throwable e) { responseObserver.onError(e); } } } ``` Execute the following command to run the gRPC Subscriber example: ```bash # stop http subscriber if you have started one. dapr stop --app-id subscriber # start a grpc subscriber dapr run --resources-path ./components/pubsub --app-id subscriber --app-port 3000 --app-protocol grpc -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.grpc.Subscriber -p 3000 ``` Use the follow command to start a publisher ```bash dapr run --resources-path ./components/pubsub --app-id publisher -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.Publisher ``` Messages will be subscribed by the gRPC Subscriber and will print the output as follows: ``` Subscriber got: This is message #0 Subscriber got: This is message #1 Subscriber got: This is message #2 Subscriber got: This is message #3 Subscriber got: This is message #4 Subscriber got: This is message #5 Subscriber got: This is message #6 Subscriber got: This is message #7 Subscriber got: This is message #8 Subscriber got: This is message #9 ``` If you run a bulk publisher using following command ```bash dapr run --resources-path ./components/pubsub --app-id publisher -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.Publisher testingtopicbulk ``` The console will print the output: ``` Bulk Subscriber received 2 messages. Bulk Subscriber message has entry ID: 0c917871-557c-41db-b038-a250d23ee07c Bulk Subscriber got: "This is message #0" Bulk Subscriber message has entry ID: df114819-0db9-4a04-b06b-d5844d3ff731 Bulk Subscriber got: "This is message #1" Bulk Subscriber received 2 messages. Bulk Subscriber message has entry ID: 8161f1e2-caf0-446a-81f7-0b40e7350e19 Bulk Subscriber got: "This is message #2" Bulk Subscriber message has entry ID: 173fafa1-d187-4b2d-83bf-b4da00616a3a Bulk Subscriber got: "This is message #3" Bulk Subscriber received 2 messages. Bulk Subscriber message has entry ID: 94f89996-155d-4b52-8a8c-c268662ff3a2 Bulk Subscriber got: "This is message #4" Bulk Subscriber message has entry ID: 497c47a4-e4f7-4aeb-abde-099068dea30c Bulk Subscriber got: "This is message #5" Bulk Subscriber received 1 messages. Bulk Subscriber message has entry ID: 892fb1ae-b027-457a-860e-52b9c3219270 Bulk Subscriber got: "This is message #6" Bulk Subscriber received 2 messages. Bulk Subscriber message has entry ID: 95abf8cc-e033-483d-9a55-e0491bd97930 Bulk Subscriber got: "This is message #7" Bulk Subscriber message has entry ID: eaf75a31-335e-4c1a-b19a-6aa1710f625a Bulk Subscriber got: "This is message #8" Bulk Subscriber received 1 messages. Bulk Subscriber message has entry ID: 9836ef69-6d3c-4738-ba99-1d0ce68ec06b Bulk Subscriber got: "This is message #9" ``` >The order of the events that are published are not guaranteed if use redis. ### Tracing Dapr handles tracing in PubSub automatically. Open Zipkin on [http://localhost:9411/zipkin](http://localhost:9411/zipkin). You should see a screen like the one below: ![zipking-landing](https://raw.githubusercontent.com/dapr/java-sdk/master/examples/src/main/resources/img/zipkin-pubsub-landing.png) Click on the search icon to see the latest query results. You should see a tracing diagram similar to the one below: ![zipking-landing](https://raw.githubusercontent.com/dapr/java-sdk/master/examples/src/main/resources/img/zipkin-pubsub-result.png) Once you click on the tracing event, you will see the details of the call stack starting in the client and then showing the service API calls right below. ![zipking-details](https://raw.githubusercontent.com/dapr/java-sdk/master/examples/src/main/resources/img/zipkin-pubsub-details.png) Once you click on the bulk publisher tracing event, you will see the details of the call stack starting in the client and then showing the service API calls right below. ![zipking-details](../../../../../../resources/img/zipkin-bulk-publish-details.png) If you would like to add a tracing span as a parent of the span created by Dapr, change the publisher to handle that. See `PublisherWithTracing.java` to see the difference and run it with: ```bash dapr run --resources-path ./components/pubsub --app-id publisher-tracing -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.PublisherWithTracing ``` Now, repeat the search on Zipkin website. All the publisher and subscriber spans are under the same parent span, like in the screen below: ![zipking-details-custom-span](https://raw.githubusercontent.com/dapr/java-sdk/master/examples/src/main/resources/img/zipkin-pubsub-details-custom-span.png) ### Message expiration (Optional) Optionally, you can see how Dapr can automatically drop expired messages on behalf of the subscriber. First, make sure the publisher and the subscriber applications are stopped. Then, change the TTL constant in the `Publisher.java` file from: ```java private static final String MESSAGE_TTL_IN_SECONDS = "1000"; ``` To: ```java private static final String MESSAGE_TTL_IN_SECONDS = "1"; ``` Now rebuild the example: ```sh mvn install ``` Run the publisher app: ```sh dapr run --resources-path ./components/pubsub --app-id publisher -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.Publisher ``` Wait until all 10 messages are published like before, then wait for a few more seconds and run the subscriber app: ```sh dapr run --resources-path ./components/pubsub --app-id subscriber --app-port 3000 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.Subscriber -p 3000 ``` No message is consumed by the subscriber app and warnings messages are emitted from Dapr sidecar: ```txt == DAPR == time="2020-12-23T21:21:59.085797-08:00" level=warning msg="dropping expired pub/sub event 461546c1-d2df-42bd-a6b8-3beeb952fe1e as of 2020-12-24T05:21:50Z" app_id=subscriber instance=myhost scope=dapr.runtime type=log ver=edge == DAPR == time="2020-12-23T21:21:59.085841-08:00" level=warning msg="dropping expired pub/sub event 2d8cf9a6-4019-4dda-95fd-59218a19381b as of 2020-12-24T05:21:48Z" app_id=subscriber instance=myhost scope=dapr.runtime type=log ver=edge == DAPR == time="2020-12-23T21:21:59.085871-08:00" level=warning msg="dropping expired pub/sub event d2a199e0-a4b8-4067-9618-6688391ad68f as of 2020-12-24T05:21:53Z" app_id=subscriber instance=myhost scope=dapr.runtime type=log ver=edge == DAPR == time="2020-12-23T21:21:59.085894-08:00" level=warning msg="dropping expired pub/sub event 30719f17-ad8f-4dea-91b5-b77958f360d4 as of 2020-12-24T05:21:49Z" app_id=subscriber instance=myhost scope=dapr.runtime type=log ver=edge == DAPR == time="2020-12-23T21:21:59.085797-08:00" level=warning msg="dropping expired pub/sub event d136d5ae-5561-418c-a850-9d1698bc8840 as of 2020-12-24T05:21:51Z" app_id=subscriber instance=myhost scope=dapr.runtime type=log ver=edge == DAPR == time="2020-12-23T21:21:59.085958-08:00" level=warning msg="dropping expired pub/sub event 82b334a2-e295-48ea-8c6c-c45b1c4fcd2d as of 2020-12-24T05:21:50Z" app_id=subscriber instance=myhost scope=dapr.runtime type=log ver=edge == DAPR == time="2020-12-23T21:21:59.085973-08:00" level=warning msg="dropping expired pub/sub event f6eb3f9f-185f-492f-9df9-45af8c91932b as of 2020-12-24T05:21:53Z" app_id=subscriber instance=myhost scope=dapr.runtime type=log ver=edge == DAPR == time="2020-12-23T21:21:59.086041-08:00" level=warning msg="dropping expired pub/sub event a536eb9f-34e0-49fc-ba29-a34854398d96 as of 2020-12-24T05:21:52Z" app_id=subscriber instance=myhost scope=dapr.runtime type=log ver=edge == DAPR == time="2020-12-23T21:21:59.085995-08:00" level=warning msg="dropping expired pub/sub event 52cc9528-f9d4-44f4-8f78-8f32341a743a as of 2020-12-24T05:21:49Z" app_id=subscriber instance=myhost scope=dapr.runtime type=log ver=edge == DAPR == time="2020-12-23T21:21:59.085797-08:00" level=warning msg="dropping expired pub/sub event 7cf927e8-e832-4f8a-911a-1cae5a1369d2 as of 2020-12-24T05:21:48Z" app_id=subscriber instance=myhost scope=dapr.runtime type=log ver=edge ``` For more details on Dapr Spring Boot integration, please refer to [Dapr Spring Boot](../DaprApplication.java) Application implementation. ### Cleanup Use the following command to stop your running http subscriber or gRPC subscriber. ```bash dapr stop --app-id subscriber ``` After completing publish , the application will automatically exit. However, you can still use the following command to stop your running publisher. ```bash dapr stop --app-id publisher dapr stop --app-id bulk-publisher ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/grpc/Subscriber.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.pubsub.grpc; import io.dapr.examples.DaprApplication; import io.grpc.Server; import io.grpc.ServerBuilder; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Options; /** * Service for subscriber. * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Run the server: * dapr run --resources-path ./components/pubsub --app-id subscriber --app-port 3000 -- \ * java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.grpc.Subscriber -p 3000 */ public class Subscriber { /** * This is the entry point for this example app, which subscribes to a topic. * @param args The port this app will listen on. * @throws Exception An Exception on startup. */ public static void main(String[] args) throws Exception { Options options = new Options(); options.addRequiredOption("p", "port", true, "The port this app will listen on"); CommandLineParser parser = new DefaultParser(); CommandLine cmd = parser.parse(options, args); // If port string is not valid, it will throw an exception. int port = Integer.parseInt(cmd.getOptionValue("port")); //start a grpc server Server server = ServerBuilder.forPort(port) .intercept(new SubscriberGrpcService.MetadataInterceptor()) .addService(new SubscriberGrpcService()) .build(); server.start(); server.awaitTermination(); // Start Dapr's callback endpoint. DaprApplication.start("grpc",port); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/grpc/SubscriberGrpcService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.pubsub.grpc; import com.google.protobuf.Empty; import io.dapr.v1.AppCallbackGrpc; import io.dapr.v1.DaprAppCallbackProtos; import io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkRequestEntry; import io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponse; import io.dapr.v1.DaprAppCallbackProtos.TopicEventBulkResponseEntry; import io.dapr.v1.DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus; import io.grpc.Context; import io.grpc.Contexts; import io.grpc.Metadata; import io.grpc.ServerCall; import io.grpc.ServerCallHandler; import io.grpc.ServerInterceptor; import io.grpc.stub.StreamObserver; import java.util.ArrayList; import java.util.List; /** * Class that encapsulates all client-side logic for Grpc. */ public class SubscriberGrpcService extends AppCallbackGrpc.AppCallbackImplBase { private final List topicSubscriptionList = new ArrayList<>(); public static final Context.Key METADATA_KEY = Context.key("grpc-metadata"); // gRPC interceptor to capture metadata public static class MetadataInterceptor implements ServerInterceptor { @Override public ServerCall.Listener interceptCall( ServerCall call, Metadata headers, ServerCallHandler next) { Context contextWithMetadata = Context.current().withValue(METADATA_KEY, headers); return Contexts.interceptCall(contextWithMetadata, call, headers, next); } } @Override public void listTopicSubscriptions(Empty request, StreamObserver responseObserver) { registerConsumer("messagebus", "testingtopic", false); registerConsumer("messagebus", "bulkpublishtesting", false); registerConsumer("messagebus", "testingtopicbulk", true); try { DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder builder = DaprAppCallbackProtos .ListTopicSubscriptionsResponse.newBuilder(); topicSubscriptionList.forEach(builder::addSubscriptions); DaprAppCallbackProtos.ListTopicSubscriptionsResponse response = builder.build(); responseObserver.onNext(response); } catch (Throwable e) { responseObserver.onError(e); } finally { responseObserver.onCompleted(); } } @Override public void onTopicEvent(DaprAppCallbackProtos.TopicEventRequest request, StreamObserver responseObserver) { try { try { Context context = Context.current(); Metadata metadata = METADATA_KEY.get(context); if (metadata != null) { System.out.println("Metadata found in context"); String apiToken = metadata.get(Metadata.Key.of("dapr-api-token", Metadata.ASCII_STRING_MARSHALLER)); if (apiToken != null) { System.out.println("API Token extracted: " + apiToken); } else { System.out.println("No 'dapr-api-token' found in metadata"); } System.out.println("All metadata:"); for (String key : metadata.keys()) { String value = metadata.get(Metadata.Key.of(key, Metadata.ASCII_STRING_MARSHALLER)); System.out.println("key: " + key + ": " + value); } } else { System.out.println("No metadata found in context"); } } catch (Exception e) { System.out.println(" Error extracting metadata: " + e.getMessage()); } String data = request.getData().toStringUtf8().replace("\"", ""); System.out.println("Subscriber got: " + data); DaprAppCallbackProtos.TopicEventResponse response = DaprAppCallbackProtos.TopicEventResponse.newBuilder() .setStatus(DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.SUCCESS) .build(); responseObserver.onNext(response); responseObserver.onCompleted(); } catch (Throwable e) { responseObserver.onError(e); } } @Override public void onBulkTopicEvent(DaprAppCallbackProtos.TopicEventBulkRequest request, StreamObserver responseObserver) { try { TopicEventBulkResponse.Builder responseBuilder = TopicEventBulkResponse.newBuilder(); if (request.getEntriesCount() == 0) { responseObserver.onNext(responseBuilder.build()); responseObserver.onCompleted(); return; } System.out.println("Bulk Subscriber received " + request.getEntriesCount() + " messages."); for (TopicEventBulkRequestEntry entry : request.getEntriesList()) { try { System.out.printf("Bulk Subscriber message has entry ID: %s\n", entry.getEntryId()); System.out.printf("Bulk Subscriber got: %s\n", entry.getCloudEvent().getData().toStringUtf8()); TopicEventBulkResponseEntry.Builder responseEntryBuilder = TopicEventBulkResponseEntry .newBuilder() .setEntryId(entry.getEntryId()) .setStatusValue(TopicEventResponseStatus.SUCCESS_VALUE); responseBuilder.addStatuses(responseEntryBuilder); } catch (Throwable e) { TopicEventBulkResponseEntry.Builder responseEntryBuilder = TopicEventBulkResponseEntry .newBuilder() .setEntryId(entry.getEntryId()) .setStatusValue(TopicEventResponseStatus.RETRY_VALUE); responseBuilder.addStatuses(responseEntryBuilder); } } TopicEventBulkResponse response = responseBuilder.build(); responseObserver.onNext(response); responseObserver.onCompleted(); } catch (Throwable e) { responseObserver.onError(e); } } /** * Add pubsub name and topic to topicSubscriptionList. * * @param topic the topic * @param pubsubName the pubsub name * @param isBulkMessage flag to enable/disable bulk subscribe */ public void registerConsumer(String pubsubName, String topic, boolean isBulkMessage) { topicSubscriptionList.add(DaprAppCallbackProtos.TopicSubscription .newBuilder() .setPubsubName(pubsubName) .setTopic(topic) .setBulkSubscribe(DaprAppCallbackProtos.BulkSubscribeConfig.newBuilder().setEnabled(isBulkMessage)) .build()); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/http/Subscriber.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.pubsub.http; import io.dapr.examples.DaprApplication; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Options; /** * Service for subscriber. * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Run the server: * dapr run --resources-path ./components/pubsub --app-id subscriber --app-port 3000 -- \ * java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.http.Subscriber -p 3000 */ public class Subscriber { /** * This is the entry point for this example app, which subscribes to a topic. * @param args The port this app will listen on. * @throws Exception An Exception on startup. */ public static void main(String[] args) throws Exception { Options options = new Options(); options.addRequiredOption("p", "port", true, "The port this app will listen on"); CommandLineParser parser = new DefaultParser(); CommandLine cmd = parser.parse(options, args); // If port string is not valid, it will throw an exception. int port = Integer.parseInt(cmd.getOptionValue("port")); // Start Dapr's callback endpoint. DaprApplication.start("http",port); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/http/SubscriberController.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.pubsub.http; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.Rule; import io.dapr.Topic; import io.dapr.client.domain.BulkSubscribeAppResponse; import io.dapr.client.domain.BulkSubscribeAppResponseEntry; import io.dapr.client.domain.BulkSubscribeAppResponseStatus; import io.dapr.client.domain.BulkSubscribeMessage; import io.dapr.client.domain.BulkSubscribeMessageEntry; import io.dapr.client.domain.CloudEvent; import io.dapr.springboot.annotations.BulkSubscribe; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.List; /** * SpringBoot Controller to handle input binding. */ @RestController public class SubscriberController { private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); /** * Handles a registered publish endpoint on this app. * * @param cloudEvent The cloud event received. * @return A message containing the time. */ @Topic(name = "testingtopic", pubsubName = "${myAppProperty:messagebus}") @PostMapping(path = "/testingtopic") public Mono handleMessage(@RequestBody(required = false) CloudEvent cloudEvent) { return Mono.fromRunnable(() -> { try { System.out.println("Subscriber got: " + cloudEvent.getData()); System.out.println("Subscriber got: " + OBJECT_MAPPER.writeValueAsString(cloudEvent)); } catch (Exception e) { throw new RuntimeException(e); } }); } /** * Handles a registered publish endpoint on this app adding a topic which manage to forward undeliverable messages. * * @param cloudEvent The cloud event received. * @return A message containing the time. */ @Topic(name = "testingtopic1", pubsubName = "${myAppProperty:messagebus}", deadLetterTopic = "${deadLetterProperty:deadTopic}") @PostMapping(path = "/testingtopic1") public Mono handleMessageWithErrorHandler(@RequestBody(required = false) CloudEvent cloudEvent) { return Mono.fromRunnable(() -> { try { System.out.println("Subscriber got: " + cloudEvent.getData()); System.out.println("Subscriber got: " + OBJECT_MAPPER.writeValueAsString(cloudEvent)); } catch (Exception e) { throw new RuntimeException(e); } }); } /** * Handles a registered publish endpoint on this app (version 2 of a cloud * event). * * @param cloudEvent The cloud event received. * @return A message containing the time. */ @Topic(name = "testingtopic", pubsubName = "${myAppProperty:messagebus}", deadLetterTopic = "${deadLetterProperty:deadTopic}", rule = @Rule(match = "event.type == \"v2\"", priority = 1)) @PostMapping(path = "/testingtopicV2") public Mono handleMessageV2(@RequestBody(required = false) CloudEvent cloudEvent) { return Mono.fromRunnable(() -> { try { System.out.println("Subscriber got: " + cloudEvent.getData()); System.out.println("Subscriber got: " + OBJECT_MAPPER.writeValueAsString(cloudEvent)); } catch (Exception e) { throw new RuntimeException(e); } }); } /** * Handles a registered publish endpoint on this app (bulk published events). * @param cloudEvent The cloud event received. * @return A message containing the time. */ @Topic(name = "bulkpublishtesting", pubsubName = "${myAppProperty:messagebus}", deadLetterTopic = "${deadLetterProperty:deadTopic}") @PostMapping(path = "/bulkpublishtesting") public Mono handleBulkPublishMessage(@RequestBody(required = false) CloudEvent cloudEvent) { return Mono.fromRunnable(() -> { try { System.out.println("Subscriber got from bulk published topic: " + cloudEvent.getData()); System.out.println("Subscriber got: " + OBJECT_MAPPER.writeValueAsString(cloudEvent)); } catch (Exception e) { throw new RuntimeException(e); } }); } /** * Handles a registered subscribe endpoint on this app using bulk subscribe. * * @param bulkMessage The bulk pubSub message received. * @return A list of responses for each event. */ @BulkSubscribe() @Topic(name = "testingtopicbulk", pubsubName = "${myAppProperty:messagebus}", deadLetterTopic = "${deadLetterProperty:deadTopic}") @PostMapping(path = "/testingtopicbulk") public Mono handleBulkMessage( @RequestBody(required = false) BulkSubscribeMessage> bulkMessage) { return Mono.fromCallable(() -> { if (bulkMessage.getEntries().size() == 0) { return new BulkSubscribeAppResponse(new ArrayList()); } System.out.println("Bulk Subscriber received " + bulkMessage.getEntries().size() + " messages."); List entries = new ArrayList(); for (BulkSubscribeMessageEntry entry : bulkMessage.getEntries()) { try { System.out.printf("Bulk Subscriber message has entry ID: %s\n", entry.getEntryId()); CloudEvent cloudEvent = (CloudEvent) entry.getEvent(); System.out.printf("Bulk Subscriber got: %s\n", cloudEvent.getData()); entries.add(new BulkSubscribeAppResponseEntry(entry.getEntryId(), BulkSubscribeAppResponseStatus.SUCCESS)); } catch (Exception e) { e.printStackTrace(); entries.add(new BulkSubscribeAppResponseEntry(entry.getEntryId(), BulkSubscribeAppResponseStatus.RETRY)); } } return new BulkSubscribeAppResponse(entries); }); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/stream/README.md ================================================ # Dapr Streaming Subscription Sample In this sample, we'll create a publisher and a subscriber java applications using Dapr, based on the publish-subscribe pattern. The publisher will generate messages of a specific topic, while a subscriber will listen for messages of a specific topic via a bi-directional stream. All is abstracted by the SDK. See the [Dapr Pub-Sub docs](https://docs.dapr.io/developing-applications/building-blocks/pubsub/) to understand when this pattern might be a good choice for your software architecture. Visit [this](https://docs.dapr.io/developing-applications/building-blocks/pubsub/pubsub-overview/) link for more information about Dapr and Pub-Sub. ## Pub-Sub Sample using the Java-SDK This sample shows how the subscription to events no longer requires the application to listen to an HTTP or gRPC port. This example uses Redis Streams (enabled in Redis versions => 5). ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then get into the examples directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ## Running the Subscriber The subscriber uses the `DaprPreviewClient` interface to subscribe to events via streaming and process them using reactive operators. The SDK provides two ways to subscribe to events: ### Option 1: Raw Data Subscription Use `TypeRef.STRING` (or any other type) to receive the deserialized message data directly: ```java public class Subscriber { public static void main(String[] args) throws Exception { try (var client = new DaprClientBuilder().buildPreviewClient()) { // Subscribe to topic - receives raw String data directly client.subscribeToTopic(PUBSUB_NAME, topicName, TypeRef.STRING) .doOnNext(message -> { System.out.println("Subscriber got: " + message); }) .doOnError(throwable -> { System.out.println("Subscriber got exception: " + throwable.getMessage()); }) .blockLast(); } } } ``` ### Option 2: CloudEvent Subscription Use `TypeRef>` to receive the full CloudEvent with metadata (ID, source, type, etc.): ```java public class SubscriberCloudEvent { public static void main(String[] args) throws Exception { try (var client = new DaprClientBuilder().buildPreviewClient()) { // Subscribe to topic - receives CloudEvent with full metadata client.subscribeToTopic(PUBSUB_NAME, topicName, new TypeRef>() {}) .doOnNext(cloudEvent -> { System.out.println("Received CloudEvent:"); System.out.println(" ID: " + cloudEvent.getId()); System.out.println(" Type: " + cloudEvent.getType()); System.out.println(" Data: " + cloudEvent.getData()); }) .doOnError(throwable -> { System.out.println("Subscriber got exception: " + throwable.getMessage()); }) .blockLast(); } } } ``` ### Subscription with Metadata You can also pass metadata to the subscription, for example to enable raw payload mode: ```java client.subscribeToTopic(PUBSUB_NAME, topicName, TypeRef.STRING, Map.of("rawPayload", "true")) .doOnNext(message -> { System.out.println("Subscriber got: " + message); }) .blockLast(); ``` ### Subscription Lifecycle The examples use `blockLast()` to keep the subscriber running indefinitely. For production use cases requiring explicit subscription lifecycle control, you can use `.subscribe()` which returns a `Disposable` that can be disposed via `disposable.dispose()`. ## Running the Examples Execute the following command to run the raw data Subscriber example: ```bash dapr run --resources-path ./components/pubsub --app-id subscriber -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.stream.Subscriber ``` Or run the CloudEvent Subscriber example: ```bash dapr run --resources-path ./components/pubsub --app-id subscriber -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.stream.SubscriberCloudEvent ``` Once the subscriber is running, run the publisher in a new terminal to see the events in the subscriber's side: ```bash dapr run --resources-path ./components/pubsub --app-id publisher -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.Publisher ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/stream/Subscriber.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.pubsub.stream; import io.dapr.client.DaprClientBuilder; import io.dapr.utils.TypeRef; /** * Subscriber using bi-directional gRPC streaming, which does not require an app port. * *

    This example demonstrates subscribing to raw message data directly. * For CloudEvent subscription with metadata, see {@link SubscriberCloudEvent}. * *

    Usage: *

      *
    1. Build and install jars: {@code mvn clean install} *
    2. cd [repo root]/examples *
    3. Run the subscriber: * {@code dapr run --resources-path ./components/pubsub --app-id subscriber -- \ * java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.pubsub.stream.Subscriber} *
    */ public class Subscriber { private static final String DEFAULT_TOPIC_NAME = "testingtopic"; private static final String PUBSUB_NAME = "messagebus"; /** * Main entry point for the raw data subscriber example. * * @param args Used to optionally pass a topic name. * @throws Exception An Exception on startup. */ public static void main(String[] args) throws Exception { String topicName = getTopicName(args); try (var client = new DaprClientBuilder().buildPreviewClient()) { System.out.println("Subscribing to topic: " + topicName); // Subscribe to topic - receives raw String data directly client.subscribeToTopic(PUBSUB_NAME, topicName, TypeRef.STRING) .doOnNext(message -> { System.out.println("Subscriber got: " + message); }) .doOnError(throwable -> { System.out.println("Subscriber got exception: " + throwable.getMessage()); }) .blockLast(); } } private static String getTopicName(String[] args) { if (args.length >= 1) { return args[0]; } return DEFAULT_TOPIC_NAME; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/pubsub/stream/SubscriberCloudEvent.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.pubsub.stream; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.CloudEvent; import io.dapr.utils.TypeRef; /** * Subscriber using bi-directional gRPC streaming with CloudEvent metadata. * *

    This example demonstrates subscribing to CloudEvent objects which include * metadata like event ID, source, type, and other CloudEvents specification fields. * For raw message data subscription, see {@link Subscriber}. * *

    Usage: *

      *
    1. Build and install jars: {@code mvn clean install} *
    2. cd [repo root]/examples *
    3. Run the subscriber: * {@code dapr run --resources-path ./components/pubsub --app-id subscriber -- \ * java -jar target/dapr-java-sdk-examples-exec.jar \ * io.dapr.examples.pubsub.stream.SubscriberCloudEvent} *
    */ public class SubscriberCloudEvent { private static final String DEFAULT_TOPIC_NAME = "testingtopic"; private static final String PUBSUB_NAME = "messagebus"; /** * Main entry point for the CloudEvent subscriber example. * * @param args Used to optionally pass a topic name. * @throws Exception An Exception on startup. */ public static void main(String[] args) throws Exception { String topicName = getTopicName(args); try (var client = new DaprClientBuilder().buildPreviewClient()) { System.out.println("Subscribing to topic: " + topicName + " (CloudEvent mode)"); // Subscribe to topic - receives CloudEvent with full metadata // Use TypeRef> to get CloudEvent wrapper with metadata client.subscribeToTopic(PUBSUB_NAME, topicName, new TypeRef>() {}) .doOnNext(cloudEvent -> { System.out.println("Received CloudEvent:"); System.out.println(" ID: " + cloudEvent.getId()); System.out.println(" Source: " + cloudEvent.getSource()); System.out.println(" Type: " + cloudEvent.getType()); System.out.println(" Topic: " + cloudEvent.getTopic()); System.out.println(" PubSub: " + cloudEvent.getPubsubName()); System.out.println(" Data: " + cloudEvent.getData()); }) .doOnError(throwable -> { System.out.println("Subscriber got exception: " + throwable.getMessage()); }) .blockLast(); } } private static String getTopicName(String[] args) { if (args.length >= 1) { return args[0]; } return DEFAULT_TOPIC_NAME; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/querystate/Listing.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.querystate; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects; public class Listing { @JsonProperty private String propertyType; @JsonProperty private String id; @JsonProperty private String city; @JsonProperty private String state; public Listing() { } public String getPropertyType() { return propertyType; } public void setPropertyType(String propertyType) { this.propertyType = propertyType; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getState() { return state; } public void setState(String state) { this.state = state; } @Override public String toString() { return "Listing{" + "propertyType='" + propertyType + '\'' + ", id=" + id + ", city='" + city + '\'' + ", state='" + state + '\'' + '}'; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Listing listing = (Listing) o; return id == listing.id && propertyType.equals(listing.propertyType) && Objects.equals(city, listing.city) && Objects.equals(state, listing.state); } @Override public int hashCode() { return Objects.hash(propertyType, id, city, state); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/querystate/QuerySavedState.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.querystate; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.QueryStateItem; import io.dapr.client.domain.QueryStateRequest; import io.dapr.client.domain.QueryStateResponse; import io.dapr.client.domain.SaveStateRequest; import io.dapr.client.domain.State; import io.dapr.client.domain.query.Query; import io.dapr.client.domain.query.Sorting; import io.dapr.client.domain.query.filters.EqFilter; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. send a message to be saved as state: * dapr run --resources-path ./components/state -- \ * java -Ddapr.api.protocol=HTTP -jar target/dapr-java-sdk-examples-exec.jar \ * io.dapr.examples.querystate.QuerySavedState 'my message' */ public class QuerySavedState { private static final String STATE_STORE_NAME = "mongo-statestore"; /** * Executes the state actions. * @param args messages to be sent as state value. */ public static void main(String[] args) throws Exception { DaprClientBuilder builder = new DaprClientBuilder(); try (DaprClient client = builder.build(); DaprPreviewClient previewClient = builder.buildPreviewClient()) { System.out.println("Waiting for Dapr sidecar ..."); client.waitForSidecar(10000).block(); System.out.println("Dapr sidecar is ready."); Listing first = new Listing(); first.setPropertyType("apartment"); first.setId("1000"); first.setCity("Seattle"); first.setState("WA"); Listing second = new Listing(); second.setPropertyType("row-house"); second.setId("1002"); second.setCity("Seattle"); second.setState("WA"); Listing third = new Listing(); third.setPropertyType("apartment"); third.setId("1003"); third.setCity("Portland"); third.setState("OR"); Listing fourth = new Listing(); fourth.setPropertyType("apartment"); fourth.setId("1001"); fourth.setCity("Portland"); fourth.setState("OR"); Map meta = new HashMap<>(); meta.put("contentType", "application/json"); SaveStateRequest request = new SaveStateRequest(STATE_STORE_NAME).setStates( new State<>("1", first, null, meta, null), new State<>("2", second, null, meta, null), new State<>("3", third, null, meta, null), new State<>("4", fourth, null, meta, null) ); client.saveBulkState(request).block(); System.out.println("Insert key: 1" + ", data: " + first); System.out.println("Insert key: 2" + ", data: " + second); System.out.println("Insert key: 3" + ", data: " + third); System.out.println("Insert key: 4" + ", data: " + fourth); Query query = new Query() .setFilter(new EqFilter<>("propertyType", "apartment")) .setSort(Arrays.asList(new Sorting("id", Sorting.Order.DESC))); QueryStateRequest queryStateRequest = new QueryStateRequest(STATE_STORE_NAME) .setQuery(query); QueryStateResponse result = previewClient.queryState(queryStateRequest, Listing.class).block(); System.out.println("Found " + result.getResults().size() + " items."); for (QueryStateItem item : result.getResults()) { System.out.println("Key: " + item.getKey()); System.out.println("Data: " + item.getValue()); } // This is an example, so for simplicity we are just exiting here. // Normally a dapr app would be a web service and not exit main. System.out.println("Done"); System.exit(0); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/querystate/README.md ================================================ ## State management sample This sample illustrates the capabilities provided by Dapr Java SDK for querying states. For further information about querying saved state please refer to [this link](https://docs.dapr.io/developing-applications/building-blocks/state-management/howto-state-query-api/) ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then change into the `examples` directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ### Run MongoDB ```bash docker compose -f ./src/main/java/io/dapr/examples/querystate/docker-compose-single-mongo.yml up -d ``` ### Running the State Client This example uses the Java SDK Dapr client in order to save bulk state and query state, in this case, an instance of a class. See the code snippets below: The class saved and queried for is as below: ```java public class Listing { @JsonProperty private String propertyType; @JsonProperty private String id; @JsonProperty private String city; @JsonProperty private String state; public Listing() { } public String getPropertyType() { return propertyType; } public void setPropertyType(String propertyType) { this.propertyType = propertyType; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getState() { return state; } public void setState(String state) { this.state = state; } @Override public String toString() { return "Listing{" + "propertyType='" + propertyType + '\'' + ", id=" + id + ", city='" + city + '\'' + ", state='" + state + '\'' + '}'; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Listing listing = (Listing) o; return id == listing.id && propertyType.equals(listing.propertyType) && Objects.equals(city, listing.city) && Objects.equals(state, listing.state); } @Override public int hashCode() { return Objects.hash(propertyType, id, city, state); } } ``` The main application class for the example is as follows: ```java public class QuerySavedState { public static class MyData { ///... } private static final String STATE_STORE_NAME = "querystatestore"; private static final String FIRST_KEY_NAME = "key1"; private static final String SECOND_KEY_NAME = "key2"; private static final String THIRD_KEY_NAME = "key3"; /** * Executes the state actions. * @param args messages to be sent as state value. */ public static void main(String[] args) throws Exception { DaprClientBuilder builder = new DaprClientBuilder(); try (DaprClient client = builder.build(); DaprPreviewClient previewClient = builder.buildPreviewClient()) { System.out.println("Waiting for Dapr sidecar ..."); client.waitForSidecar(10000).block(); System.out.println("Dapr sidecar is ready."); Listing first = new Listing(); first.setPropertyType("apartment"); first.setId("1000"); first.setCity("Seattle"); first.setState("WA"); Listing second = new Listing(); second.setPropertyType("row-house"); second.setId("1002"); second.setCity("Seattle"); second.setState("WA"); Listing third = new Listing(); third.setPropertyType("apartment"); third.setId("1003"); third.setCity("Portland"); third.setState("OR"); Listing fourth = new Listing(); fourth.setPropertyType("apartment"); fourth.setId("1001"); fourth.setCity("Portland"); fourth.setState("OR"); Map meta = new HashMap<>(); meta.put("contentType", "application/json"); SaveStateRequest request = new SaveStateRequest(STATE_STORE_NAME).setStates( new State<>("1", first, null, meta, null), new State<>("2", second, null, meta, null), new State<>("3", third, null, meta, null), new State<>("4", fourth, null, meta, null) ); client.saveBulkState(request).block(); System.out.println("Insert key: 1" + ", data: " + first); System.out.println("Insert key: 2" + ", data: " + second); System.out.println("Insert key: 3" + ", data: " + third); System.out.println("Insert key: 4" + ", data: " + fourth); Query query = new Query() .setFilter(new EqFilter<>("propertyType", "apartment")) .setSort(Arrays.asList(new Sorting("id", Sorting.Order.DESC))); QueryStateRequest queryStateRequest = new QueryStateRequest(STATE_STORE_NAME) .setQuery(query); QueryStateResponse result = previewClient.queryState(queryStateRequest, Listing.class).block(); System.out.println("Found " + result.getResults().size() + " items."); for (QueryStateItem item : result.getResults()) { System.out.println("Key: " + item.getKey()); System.out.println("Data: " + item.getValue()); } // This is an example, so for simplicity we are just exiting here. // Normally a dapr app would be a web service and not exit main. System.out.println("Done"); System.exit(0); } } } ``` The code uses the `DaprClient` created by the `DaprClientBuilder` for waiting for the sidecar to start as well as to save state. Notice that this builder uses default settings. Internally, it is using `DefaultObjectSerializer` for two properties: `objectSerializer` is for Dapr's sent and received objects, and `stateSerializer` is for objects to be persisted. The code uses the `DaprPreviewClient` created by the `DaprClientBuilder` which is used for the `queryState` preview API. This example performs multiple operations: * `client.waitForSidecar(...)` for waiting until Dapr's sidecar is ready. * `client.saveBulkState(...)` for persisting an instance of `Listing`. * `client.query(...)` operation in order to query for persisted state. The Dapr clients are also within a try-with-resource block to properly close the clients at the end. ### Running the example Run this example with the following command: ```bash dapr run --resources-path ./components/state --app-id query-state-example -H 3600 -- java -Ddapr.api.protocol=HTTP -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.querystate.QuerySavedState ``` Once running, the QuerySaveState example should print the output as follows: ```txt Waiting for Dapr sidecar ... Dapr sidecar is ready. Insert key: 1, data: Listing{propertyType='apartment', id=1000, city='Seattle', state='WA'} Insert key: 2, data: Listing{propertyType='row-house', id=1002, city='Seattle', state='WA'} Insert key: 3, data: Listing{propertyType='apartment', id=1003, city='Portland', state='OR'} Insert key: 4, data: Listing{propertyType='apartment', id=1001, city='Portland', state='OR'} Found 3 items. Key: 3 Data: Listing{propertyType='apartment', id=1003, city='Portland', state='OR'} Key: 4 Data: Listing{propertyType='apartment', id=1001, city='Portland', state='OR'} Key: 1 Data: Listing{propertyType='apartment', id=1000, city='Seattle', state='WA'} Done ``` Note that the output is in descending order of the field `id`, and all the `propertyType` field values are the same `apartment`. ### Cleanup To close the app either press `CTRL+C` or run ```bash dapr stop --app-id query-state-example ``` Then, stop MongoDB container. ```bash docker compose -f ./src/main/java/io/dapr/examples/querystate/docker-compose-single-mongo.yml down ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/querystate/docker-compose-single-mongo.yml ================================================ services: mongo: image: mongo ports: - "27017:27017" ================================================ FILE: examples/src/main/java/io/dapr/examples/secrets/README.md ================================================ # Dapr's Secret Store Sample In this sample, we'll see how to retrieve a secret using Dapr's Java SDK. This sample includes two files: * SecretClient.java (Reads a secret from Dapr's Secret Store) * Existing Dapr component file in `< repo dir >/examples/components/local_file.yaml` Visit [this](https://docs.dapr.io/developing-applications/building-blocks/secrets/secrets-overview/) link for more information about secret stores in Dapr. ## Secret store sample using the Java-SDK In this example, the component used is a local file (not recommended for production use), but others are also available. Visit [this](https://github.com/dapr/components-contrib/tree/master/secretstores) link for more information about secret store implementations. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then get into the examples directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ### Creating a JSON secret file locally Dapr's API for secret store only support read operations. For this sample to run, we will first create a secret file with a JSON string that contains two keys: `redisPassword` and `randomKey`. ```bash echo '{"redisPassword":"root123","randomKey":"value"}' > ./components/secrets/secret.json ``` ### Running the secret store sample The example's main function is in `SecretClient.java`. ```java public class SecretClient { /** * JSON Serializer to print output. */ private static final ObjectMapper JSON_SERIALIZER = new ObjectMapper(); /** * Client to read a secret. * * @param args Unused arguments. */ public static void main(String[] args) throws Exception { if (args.length < 2) { throw new IllegalArgumentException("Required two argument at least: " + "one's the secret store name, and the others are secret keys."); } final String secretStoreName = args[0]; try (DaprClient client = (new DaprClientBuilder()).build()) { for (int i = 1; i < args.length; i++) { String secretKey = args[i]; try { Map secret = client.getSecret(secretStoreName, secretKey).block(); System.out.println(JSON_SERIALIZER.writeValueAsString(secret)); } catch (Exception ex) { System.out.println(ex.getMessage()); } } } catch (Exception ex) { System.out.println(ex.getMessage()); } } } ``` The program receives two arguments at least: one's the secret store name and the others are secret's keys to be fetched. After identifying the secret store name that's created and the keys to be fetched, it will retrieve them from the pre-defined secret store: `< repo dir >/examples/components/secrets/secret.json`. The secret store's name **must** match the component's name defined in `< repo dir >/examples/components/secrets/local_file.yaml`. The Dapr client is also within a try-with-resource block to properly close the client at the end. Execute the following script in order to run the example: ```bash dapr run --resources-path ./components/secrets --app-id secrets1 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.secrets.SecretClient localSecretStore redisPassword randomKey ``` Once running, the program should print the output as follows: ``` {"redisPassword":"root123"} {"randomKey":"value"} ``` To close the app either press `CTRL+C` or run ```bash dapr stop --app-id secrets1 ``` The example's `config.yaml` is as follows: ```yaml apiVersion: dapr.io/v1alpha1 kind: Configuration metadata: name: daprConfig spec: secrets: scopes: - storeName: "localSecretStore" defaultAccess: "deny" allowedSecrets: ["redisPassword",] ``` The configuration defines, that the only allowed secret is `redisPassword` and all other secrets are denied. Execute the following script in order to run this example with additional secret scoping: ```sh dapr run --resources-path ./components/secrets --config ./src/main/java/io/dapr/examples/secrets/config.yaml --app-id secrets2 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.secrets.SecretClient localSecretStore redisPassword randomKey ``` Once running, the program should print the output as follows: ``` {"redisPassword":"root123"} PERMISSION_DENIED: access denied by policy to get "randomKey" from "localSecretStore" ``` To close the app either press `CTRL+C` or run ```bash dapr stop --app-id secrets2 ``` To clean up the local secret file ```sh rm -rf ./components/secrets/secret.json ``` Thanks for playing. ================================================ FILE: examples/src/main/java/io/dapr/examples/secrets/SecretClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.secrets; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import java.util.Map; /** * 1. Build and install jars: * mvn clean install * 2. cd to [repo-root]/examples * 3. Creating a JSON secret file that contains two keys: redisPassword and randomKey locally: * 4. Read secret from example: * dapr run --resources-path ./components/secrets -- \ * java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.secrets.SecretClient \ * localSecretStore redisPassword randomKey */ public class SecretClient { /** * JSON Serializer to print output. */ private static final ObjectMapper JSON_SERIALIZER = new ObjectMapper(); /** * Client to read a secret. * * @param args Unused arguments. */ public static void main(String[] args) throws Exception { if (args.length < 2) { throw new IllegalArgumentException("Required two argument at least: " + "one's the secret store name, and the others are secret keys."); } final String secretStoreName = args[0]; try (DaprClient client = (new DaprClientBuilder()).build()) { for (int i = 1; i < args.length; i++) { String secretKey = args[i]; try { Map secret = client.getSecret(secretStoreName, secretKey).block(); System.out.println(JSON_SERIALIZER.writeValueAsString(secret)); } catch (Exception ex) { System.out.println(ex.getMessage()); } } } catch (Exception ex) { System.out.println(ex.getMessage()); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/secrets/config.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Configuration metadata: name: daprConfig spec: secrets: scopes: - storeName: "localSecretStore" defaultAccess: "deny" allowedSecrets: ["redisPassword"] ================================================ FILE: examples/src/main/java/io/dapr/examples/state/README.md ================================================ ## State management sample This sample illustrates the capabilities provided by Dapr Java SDK for state management. For further information about state management please refer to [this link](https://docs.dapr.io/developing-applications/building-blocks/state-management/state-management-overview/) ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then change into the `examples` directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ### Run MongoDB ```bash docker compose -f ./src/main/java/io/dapr/examples/state/docker-compose-single-mongo.yml up -d ``` ### Running the StateClient This example uses the Java SDK Dapr client in order to save, retrieve and delete a state, in this case, an instance of a class. Multiple state stores are supported since Dapr 0.4. See the code snippet bellow: ```java public class StateClient { ///... private static final String STATE_STORE_NAME = "statestore"; private static final String FIRST_KEY_NAME = "myKey"; private static final String SECOND_KEY_NAME = "myKey2"; ///... public static void main(String[] args) throws Exception { try (DaprClient client = new DaprClientBuilder().build()) { System.out.println("Waiting for Dapr sidecar ..."); client.waitForSidecar(10000).block(); System.out.println("Dapr sidecar is ready."); String message = args.length == 0 ? " " : args[0]; MyClass myClass = new MyClass(); myClass.message = message; MyClass secondState = new MyClass(); secondState.message = "test message"; client.saveState(STATE_STORE_NAME, FIRST_KEY_NAME, myClass).block(); System.out.println("Saving class with message: " + message); Mono> retrievedMessageMono = client.getState(STATE_STORE_NAME, FIRST_KEY_NAME, MyClass.class); System.out.println("Retrieved class message from state: " + (retrievedMessageMono.block().getValue()).message); System.out.println("Updating previous state and adding another state 'test state'... "); myClass.message = message + " updated"; System.out.println("Saving updated class with message: " + myClass.message); // execute transaction List> operationList = new ArrayList<>(); operationList.add(new TransactionalStateOperation<>(TransactionalStateOperation.OperationType.UPSERT, new State<>(FIRST_KEY_NAME, myClass, ""))); operationList.add(new TransactionalStateOperation<>(TransactionalStateOperation.OperationType.UPSERT, new State<>(SECOND_KEY_NAME, secondState, ""))); client.executeStateTransaction(STATE_STORE_NAME, operationList).block(); // get multiple states Mono>> retrievedMessagesMono = client.getStates(STATE_STORE_NAME, Arrays.asList(FIRST_KEY_NAME, SECOND_KEY_NAME), MyClass.class); System.out.println("Retrieved messages using bulk get:"); retrievedMessagesMono.block().forEach(System.out::println); System.out.println("Deleting states..."); System.out.println("Verify delete key request is aborted if an etag different from stored is passed."); // delete state API try { client.deleteState(STATE_STORE_NAME, FIRST_KEY_NAME, "100", null).block(); } catch (DaprException ex) { if (ex.getErrorCode().equals(Status.Code.ABORTED.toString())) { // Expected error due to etag mismatch. System.out.println(String.format("Expected failure. %s ", ex.getMessage())); } else { System.out.println("Unexpected exception."); throw ex; } } System.out.println("Trying to delete again with correct etag."); String storedEtag = client.getState(STATE_STORE_NAME, FIRST_KEY_NAME, MyClass.class).block().getEtag(); client.deleteState(STATE_STORE_NAME, FIRST_KEY_NAME, storedEtag, null).block(); // Delete operation using transaction API operationList.clear(); operationList.add(new TransactionalStateOperation<>(TransactionalStateOperation.OperationType.DELETE, new State<>(SECOND_KEY_NAME))); client.executeStateTransaction(STATE_STORE_NAME, operationList).block(); Mono>> retrievedDeletedMessageMono = client.getStates(STATE_STORE_NAME, Arrays.asList(FIRST_KEY_NAME, SECOND_KEY_NAME), MyClass.class); System.out.println("Trying to retrieve deleted states: "); retrievedDeletedMessageMono.block().forEach(System.out::println); // This is an example, so for simplicity we are just exiting here. // Normally a dapr app would be a web service and not exit main. System.out.println("Done"); } } } ``` The code uses the `DaprClient` created by the `DaprClientBuilder`. Notice that this builder uses default settings. Internally, it is using `DefaultObjectSerializer` for two properties: `objectSerializer` is for Dapr's sent and received objects, and `stateSerializer` is for objects to be persisted. This example performs multiple operations: * `client.waitForSidecar(...)` for waiting until Dapr sidecar is ready. * `client.saveState(...)` for persisting an instance of `MyClass`. * `client.getState(...)` operation in order to retrieve back the persisted state using the same key. * `client.executeStateTransaction(...)` operation in order to update existing state and add new state. * `client.getBulkState(...)` operation in order to retrieve back the persisted states using the same keys. * `client.deleteState(...)` operation to remove one of the persisted states. An example of etag mismatch error is if something other than the current etag is added to request. * `client.executeStateTransaction(...)` operation in order to remove the other persisted state. Finally, the code tries to retrieve the deleted states, which should not be found. The Dapr client is also within a try-with-resource block to properly close the client at the end. ### Running the example Run this example with the following command: ```bash dapr run --resources-path ./components/state --app-id state-example -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.state.StateClient 'my message' ``` Once running, the StateClient should print the output as follows: ```txt Waiting for Dapr sidecar ... Dapr sidecar is ready. Saving class with message: my message Retrieved class message from state: my message Updating previous state and adding another state 'test state'... Saving updated class with message: my message updated Retrieved messages using bulk get: StateKeyValue{key='myKey', value=my message updated, etag='2', metadata={'{}'}, error='null', options={'null'}} StateKeyValue{key='myKey2', value=test message, etag='1', metadata={'{}'}, error='null', options={'null'}} Deleting states... Verify delete key request is aborted if an etag different from stored is passed. Expected failure. ABORTED: failed deleting state with key myKey: possible etag mismatch. error from state store: ERR Error running script (call to f_9b5da7354cb61e2ca9faff50f6c43b81c73c0b94): @user_script:1: user_script:1: failed to delete Tailmad-Fang||myKey Trying to delete again with correct etag. Trying to retrieve deleted states: StateKeyValue{key='myKey', value=null, etag='null', metadata={'{}'}, error='null', options={'null'}} StateKeyValue{key='myKey2', value=null, etag='null', metadata={'{}'}, error='null', options={'null'}} Done ``` ### Cleanup To close the app either press `CTRL+C` or run ```bash dapr stop --app-id state-example ``` Then, stop MongoDB container. ```bash docker compose -f ./src/main/java/io/dapr/examples/state/docker-compose-single-mongo.yml down ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/state/StateClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.state; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.State; import io.dapr.client.domain.TransactionalStateOperation; import io.dapr.exceptions.DaprException; import io.grpc.Status; import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. send a message to be saved as state: * dapr run --resources-path ./components/state -- \ * java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.state.StateClient 'my message' */ public class StateClient { public static class MyClass { public String message; @Override public String toString() { return message; } } private static final String STATE_STORE_NAME = "statestore"; private static final String FIRST_KEY_NAME = "myKey"; private static final String SECOND_KEY_NAME = "myKey2"; /** * Executes the sate actions. * @param args messages to be sent as state value. */ public static void main(String[] args) throws Exception { try (DaprClient client = new DaprClientBuilder().build()) { System.out.println("Waiting for Dapr sidecar ..."); client.waitForSidecar(10000).block(); System.out.println("Dapr sidecar is ready."); String message = args.length == 0 ? " " : args[0]; MyClass myClass = new MyClass(); myClass.message = message; MyClass secondState = new MyClass(); secondState.message = "test message"; client.saveState(STATE_STORE_NAME, FIRST_KEY_NAME, myClass).block(); System.out.println("Saving class with message: " + message); Mono> retrievedMessageMono = client.getState(STATE_STORE_NAME, FIRST_KEY_NAME, MyClass.class); System.out.println("Retrieved class message from state: " + (retrievedMessageMono.block().getValue()).message); System.out.println("Updating previous state and adding another state 'test state'... "); myClass.message = message + " updated"; System.out.println("Saving updated class with message: " + myClass.message); // execute transaction List> operationList = new ArrayList<>(); operationList.add(new TransactionalStateOperation<>(TransactionalStateOperation.OperationType.UPSERT, new State<>(FIRST_KEY_NAME, myClass, ""))); operationList.add(new TransactionalStateOperation<>(TransactionalStateOperation.OperationType.UPSERT, new State<>(SECOND_KEY_NAME, secondState, ""))); client.executeStateTransaction(STATE_STORE_NAME, operationList).block(); // get multiple states Mono>> retrievedMessagesMono = client.getBulkState(STATE_STORE_NAME, Arrays.asList(FIRST_KEY_NAME, SECOND_KEY_NAME), MyClass.class); System.out.println("Retrieved messages using bulk get:"); retrievedMessagesMono.block().forEach(System.out::println); System.out.println("Deleting states..."); System.out.println("Verify delete key request is aborted if an etag different from stored is passed."); // delete state API try { client.deleteState(STATE_STORE_NAME, FIRST_KEY_NAME, "100", null).block(); } catch (DaprException ex) { if (ex.getErrorCode().equals(Status.Code.ABORTED.toString())) { // Expected error due to etag mismatch. System.out.println(String.format("Expected failure. %s", ex.getErrorCode())); } else { System.out.println("Unexpected exception."); throw ex; } } System.out.println("Trying to delete again with correct etag."); String storedEtag = client.getState(STATE_STORE_NAME, FIRST_KEY_NAME, MyClass.class).block().getEtag(); client.deleteState(STATE_STORE_NAME, FIRST_KEY_NAME, storedEtag, null).block(); // Delete operation using transaction API operationList.clear(); operationList.add(new TransactionalStateOperation<>(TransactionalStateOperation.OperationType.DELETE, new State<>(SECOND_KEY_NAME))); client.executeStateTransaction(STATE_STORE_NAME, operationList).block(); Mono>> retrievedDeletedMessageMono = client.getBulkState(STATE_STORE_NAME, Arrays.asList(FIRST_KEY_NAME, SECOND_KEY_NAME), MyClass.class); System.out.println("Trying to retrieve deleted states:"); retrievedDeletedMessageMono.block().forEach(System.out::println); // This is an example, so for simplicity we are just exiting here. // Normally a dapr app would be a web service and not exit main. System.out.println("Done"); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/state/docker-compose-single-mongo.yml ================================================ services: mongo: image: mongo ports: - "27017:27017" ================================================ FILE: examples/src/main/java/io/dapr/examples/tracing/InvokeClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.tracing; import io.dapr.config.Properties; import io.dapr.examples.OpenTelemetryConfig; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; import io.opentelemetry.context.propagation.TextMapSetter; import io.opentelemetry.sdk.OpenTelemetrySdk; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; /** * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Send messages to the server: * dapr run -- java -jar target/dapr-java-sdk-examples-exec.jar \ * io.dapr.examples.tracing.InvokeClient 'message one' 'message two' */ public class InvokeClient { /** * Identifier in Dapr for the service this client will invoke. */ private static final String SERVICE_APP_ID = "tracingdemoproxy"; /** * Starts the invoke client. * * @param args Messages to be sent as request for the invoke API. */ public static void main(String[] args) throws Exception { OpenTelemetrySdk openTelemetrySdk = OpenTelemetryConfig.createOpenTelemetry(); Tracer tracer = openTelemetrySdk.getTracer(InvokeClient.class.getCanonicalName()); Span span = tracer.spanBuilder("Example's Main").setSpanKind(SpanKind.CLIENT).startSpan(); int port = Properties.HTTP_PORT.get(); String baseUrl = "http://localhost:" + port + "/v1.0/invoke/" + SERVICE_APP_ID + "/method/"; HttpClient httpClient = HttpClient.newHttpClient(); for (String message : args) { try (Scope scope = span.makeCurrent()) { // Call proxy_echo HttpRequest.Builder echoBuilder = HttpRequest.newBuilder() .uri(URI.create(baseUrl + "proxy_echo")) .POST(HttpRequest.BodyPublishers.ofString(message)); injectTraceContext(echoBuilder); addDaprApiToken(echoBuilder); HttpResponse echoResponse = httpClient.send(echoBuilder.build(), HttpResponse.BodyHandlers.ofByteArray()); System.out.println(new String(echoResponse.body())); // Call proxy_sleep HttpRequest.Builder sleepBuilder = HttpRequest.newBuilder() .uri(URI.create(baseUrl + "proxy_sleep")) .POST(HttpRequest.BodyPublishers.noBody()); injectTraceContext(sleepBuilder); addDaprApiToken(sleepBuilder); httpClient.send(sleepBuilder.build(), HttpResponse.BodyHandlers.discarding()); } } span.end(); openTelemetrySdk.getSdkTracerProvider().shutdown(); Validation.validate(); System.out.println("Done"); System.exit(0); } private static void injectTraceContext(HttpRequest.Builder builder) { TextMapSetter setter = HttpRequest.Builder::header; GlobalOpenTelemetry.getPropagators().getTextMapPropagator() .inject(Context.current(), builder, setter); } private static void addDaprApiToken(HttpRequest.Builder builder) { String token = Properties.API_TOKEN.get(); if (token != null) { builder.header("dapr-api-token", token); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/tracing/README.md ================================================ # Distributed Tracing Sample In this sample, we'll create two java applications: a service application, which exposes two methods, and a client application which will invoke the methods from the service using Dapr. This sample includes: * TracingDemoService (Exposes the methods to be remotely accessed) * TracingDemoServiceController (Implements two methods: `echo` and `sleep`) * TracingDemoMiddleServiceController (Implements two methods: `proxy_echo` and `proxy_sleep`) * InvokeClient (Invokes the exposed methods from TracingDemoService) Also consider [getting started with observability in Dapr](https://github.com/dapr/quickstarts/tree/master/tutorials/observability). ## Remote invocation using the Java-SDK This sample uses the Client provided in Dapr Java SDK invoking a remote method and Zipkin to collect and display tracing data. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. * [Configure Redis](https://docs.dapr.io/developing-applications/building-blocks/state-management/query-state-store/query-redis-store/) as a state store for Dapr. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then get into the examples directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ### Verify Zipkin is running Run `docker ps` to verify the container `dapr_zipkin` is running locally: ```bash CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 24d043379da2 daprio/dapr "./placement" 2 days ago Up 32 hours 0.0.0.0:6050->50005/tcp dapr_placement 5779a0268159 openzipkin/zipkin "/busybox/sh run.sh" 2 days ago Up 32 hours 9410/tcp, 0.0.0.0:9411->9411/tcp dapr_zipkin 317fef6a8297 redis "docker-entrypoint.s…" 2 days ago Up 32 hours 0.0.0.0:6379->6379/tcp dapr_redis ``` If Zipkin is not working, [install the newest version of Dapr Cli and initialize it](https://github.com/dapr/cli#install-dapr-on-your-local-machine-self-hosted). ### Running the Demo service app The Demo service application exposes two methods that can be remotely invoked. In this example, the service code has two parts: In the `TracingDemoService.java` file, you will find the `TracingDemoService` class, containing the main method. The main method uses the Spring Boot´s DaprApplication class for initializing the `TracingDemoServiceController`. See the code snippet below: ```java public class TracingDemoService { ///... public static void main(String[] args) throws Exception { ///... // If port string is not valid, it will throw an exception. int port = Integer.parseInt(cmd.getOptionValue("port")); DaprApplication.start(port); } } ``` `DaprApplication.start()` Method will run a Spring Boot application that registers the `TracingDemoServiceController`, which exposes the invoking actions as POST requests. Dapr's sidecar is the one that performs the actual call to the controller, triggered by client invocations or [bindings](https://docs.dapr.io/developing-applications/building-blocks/bindings/bindings-overview/). This Rest Controller exposes the `echo` and `sleep` methods. The `echo` method retrieves metadata from the headers and prints them along with the current date in console. The actual response from method is the formatted current date. See the code snippet below: ```java @RestController public class TracingDemoServiceController { ///... @PostMapping(path = "/echo") public Mono handleMethod(@RequestBody(required = false) String body, @RequestHeader Map headers) { return Mono.fromSupplier(() -> { try { String message = body == null ? "" : body; Calendar utcNow = Calendar.getInstance(TimeZone.getTimeZone("GMT")); String utcNowAsString = DATE_FORMAT.format(utcNow.getTime()); String metadataString = headers == null ? "" : OBJECT_MAPPER.writeValueAsString(headers); // Handles the request by printing message. System.out.println( "Server: " + message + " @ " + utcNowAsString + " and metadata: " + metadataString); return utcNowAsString; } catch (Exception e) { throw new RuntimeException(e); } }); } } ``` The `sleep` method simply waits for one second to simulate a slow operation. ```java @RestController public class TracingDemoServiceController { ///... @PostMapping(path = "/sleep") public void sleep() throws Exception { // Simulate slow processing for metrics. Thread.sleep(1000); } //... } ``` The instrumentation for the service happens via the `OpenTelemetryIterceptor` class. This class uses the [OpenTelemetrySDK](https://github.com/open-telemetry/opentelemetry-java) for Java. Use the following command to execute the service: ```bash dapr run --app-id tracingdemo --app-port 3000 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.tracing.TracingDemoService -p 3000 ``` Once running, the TracingDemoService is now ready to be invoked by Dapr. ### Running the Demo middle service app This service will handle the `proxy_echo` and `proxy_sleep` methods and invoke the corresponding methods in the service above. In the code below, the `opentelemetry-context` attribute is used to propagate the tracing context among service invocations in multiple layers. ```java @RestController public class TracingDemoMiddleServiceController { // ... @PostMapping(path = "/proxy_echo") public Mono echo( @RequestAttribute(name = "opentelemetry-context") Context context, @RequestBody(required = false) String body) { InvokeMethodRequest request = new InvokeMethodRequest(INVOKE_APP_ID, "echo") .setBody(body) .setHttpExtension(HttpExtension.POST); return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context)); } // ... @PostMapping(path = "/proxy_sleep") public Mono sleep(@RequestAttribute(name = "opentelemetry-context") Context context) { InvokeMethodRequest request = new InvokeMethodRequest(INVOKE_APP_ID, "sleep") .setHttpExtension(HttpExtension.POST); return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context)).then(); } } ``` The request attribute `opentelemetry-context` is created by parsing the tracing headers in the [OpenTelemetryInterceptor](../OpenTelemetryInterceptor.java) class. See the code below: ```java @Component public class OpenTelemetryInterceptor implements HandlerInterceptor { // ... @Override public boolean preHandle( HttpServletRequest request, HttpServletResponse response, Object handler) { final TextMapPropagator textFormat = OpenTelemetry.getGlobalPropagators().getTextMapPropagator(); // ... Context context = textFormat.extract(Context.current(), request, HTTP_SERVLET_REQUEST_GETTER); request.setAttribute("opentelemetry-context", context); return true; } // ... } ``` Then, `getReactorContext()` method is used to convert the OpenTelemetry's context to Reactor's context in the [OpenTelemetryConfig](../OpenTelemetryConfig.java) class: ```java @Configuration @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) public class OpenTelemetryConfig { // ... public static reactor.util.context.Context getReactorContext(Context context) { Map map = new HashMap<>(); TextMapPropagator.Setter> setter = (carrier, key, value) -> map.put(key, value); GlobalOpenTelemetry.getPropagators().getTextMapPropagator().inject(context, map, setter); reactor.util.context.Context reactorContext = reactor.util.context.Context.empty(); for (Map.Entry entry : map.entrySet()) { reactorContext = reactorContext.put(entry.getKey(), entry.getValue()); } return reactorContext; } // ... } ``` Use the following command to execute the service: ```bash dapr run --app-id tracingdemoproxy --app-port 3001 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.tracing.TracingDemoService -p 3001 ``` ### Running the InvokeClient app This sample code uses the Dapr SDK for invoking two remote methods (`proxy_echo` and `proxy_sleep`). It is also instrumented with OpenTelemetry. See the code snippet below: ```java public class InvokeClient { private static final String SERVICE_APP_ID = "tracingdemoproxy"; ///... public static void main(String[] args) throws Exception { final OpenTelemetry openTelemetry = OpenTelemetryConfig.createOpenTelemetry(); final Tracer tracer = openTelemetry.getTracer(InvokeClient.class.getCanonicalName()); Span span = tracer.spanBuilder("Example's Main").setSpanKind(Span.Kind.CLIENT).startSpan(); try (DaprClient client = (new DaprClientBuilder()).build()) { for (String message : args) { try (Scope scope = span.makeCurrent()) { InvokeMethodRequest request = new InvokeMethodRequest(SERVICE_APP_ID, "proxy_echo") .setBody(message) .setHttpExtension(HttpExtension.POST); client.invokeMethod(request, TypeRef.get(byte[].class)) .map(r -> { System.out.println(new String(r)); return r; }) .flatMap(r -> { InvokeMethodRequest sleepRequest = new InvokeMethodRequest(SERVICE_APP_ID, "proxy_sleep") .setHttpExtension(HttpExtension.POST); return client.invokeMethod(sleepRequest, TypeRef.get(Void.class)); }).subscriberContext(getReactorContext()).block(); } } } span.end(); shutdown(); System.out.println("Done"); } ///... } ``` The class knows the app id for the remote application. It uses the `invokeMethod` method to invoke API calls on the service endpoint. The request object includes an instance of `io.opentelemetry.context.Context` for the proper tracing headers to be propagated. Execute the follow script in order to run the InvokeClient example, passing two messages for the remote method: ```bash dapr run --app-id tracingdemoclient -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.tracing.InvokeClient "message one" "message two" ``` Open the `tracingdemo` console and check the output as follows: ```txt Server: "\"message one\"" @ 2021-03-10 22:10:23.598 and metadata: {"user-agent":"okhttp/4.9.0","host":"127.0.0.1:3000","content-type":"application/json; charset=utf-8","content-length":"17","connection":"Keep-Alive","x-daprrequestid":"00d801df-2773-4b9d-b389-12d0a93d6b90","accept-encoding":"gzip","x-forwarded-for":"192.168.1.15","x-forwarded-host":"X","forwarded":"for=192.168.1.15;by=192.168.1.15;host=X","traceparent":"00-4659182fd55c552b84fa291e3157d215-d0145c33df26c04d-01"} Server: "\"message two\"" @ 2021-03-10 22:10:24.690 and metadata: {"user-agent":"okhttp/4.9.0","host":"127.0.0.1:3000","content-type":"application/json; charset=utf-8","content-length":"17","forwarded":"for=192.168.1.15;by=192.168.1.15;host=X","connection":"Keep-Alive","accept-encoding":"gzip","x-forwarded-host":"X","x-daprrequestid":"7ef1e4d5-fab5-4375-98cc-0268d22504f0","x-forwarded-for":"192.168.1.15","traceparent":"00-4659182fd55c552b84fa291e3157d215-92beb2b9df7e1450-01"} ``` Method have been remotely invoked and displaying the remote messages. Now, open Zipkin on [http://localhost:9411/zipkin](http://localhost:9411/zipkin). You should see a screen like the one below: ![zipking-landing](https://raw.githubusercontent.com/dapr/java-sdk/master/examples/src/main/resources/img/zipkin-landing.png) Click on the search icon to see the latest query results. You should see a tracing diagram similar to the one below: ![zipking-landing](https://raw.githubusercontent.com/dapr/java-sdk/master/examples/src/main/resources/img/zipkin-result.png) Once you click on the tracing event, you will see the details of the call stack starting in the client and then showing the service API calls right below. ![zipking-details](https://raw.githubusercontent.com/dapr/java-sdk/master/examples/src/main/resources/img/zipkin-details.png) ================================================ FILE: examples/src/main/java/io/dapr/examples/tracing/TracingDemoMiddleServiceController.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.tracing; import io.dapr.config.Properties; import io.dapr.examples.OpenTelemetryInterceptor; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.context.Context; import io.opentelemetry.context.propagation.TextMapSetter; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestAttribute; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; /** * SpringBoot Controller to handle service invocation. * *

    Instrumentation is handled in {@link OpenTelemetryInterceptor}. */ @RestController public class TracingDemoMiddleServiceController { private static final String INVOKE_APP_ID = "tracingdemo"; private static final HttpClient httpClient = HttpClient.newHttpClient(); /** * Handles the 'echo' method invocation, by proxying a call into another service. * * @param context The tracing context for the request. * @param body The body of the http message. * @return A message containing the time. */ @PostMapping(path = "/proxy_echo") public Mono echo( @RequestAttribute(name = "opentelemetry-context") Context context, @RequestBody(required = false) String body) { return Mono.fromFuture(() -> { HttpRequest.Builder builder = HttpRequest.newBuilder() .uri(URI.create(buildInvokeUrl("echo"))) .POST(HttpRequest.BodyPublishers.ofString(body != null ? body : "")); injectTraceContext(builder, context); addDaprApiToken(builder); return httpClient.sendAsync(builder.build(), HttpResponse.BodyHandlers.ofByteArray()); }).map(HttpResponse::body); } /** * Handles the 'sleep' method invocation, by proxying a call into another service. * * @param context The tracing context for the request. * @return A message containing the time. */ @PostMapping(path = "/proxy_sleep") public Mono sleep(@RequestAttribute(name = "opentelemetry-context") Context context) { return Mono.fromFuture(() -> { HttpRequest.Builder builder = HttpRequest.newBuilder() .uri(URI.create(buildInvokeUrl("sleep"))) .POST(HttpRequest.BodyPublishers.noBody()); injectTraceContext(builder, context); addDaprApiToken(builder); return httpClient.sendAsync(builder.build(), HttpResponse.BodyHandlers.discarding()); }).then(); } private static String buildInvokeUrl(String method) { int port = Properties.HTTP_PORT.get(); return "http://localhost:" + port + "/v1.0/invoke/" + INVOKE_APP_ID + "/method/" + method; } private static void injectTraceContext(HttpRequest.Builder builder, Context context) { TextMapSetter setter = HttpRequest.Builder::header; GlobalOpenTelemetry.getPropagators().getTextMapPropagator() .inject(context, builder, setter); } private static void addDaprApiToken(HttpRequest.Builder builder) { String token = Properties.API_TOKEN.get(); if (token != null) { builder.header("dapr-api-token", token); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/tracing/TracingDemoService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.tracing; import io.dapr.examples.DaprApplication; import io.dapr.examples.OpenTelemetryInterceptor; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Options; /** * Main method to invoke DemoService to test tracing. * *

    Instrumentation is handled in {@link OpenTelemetryInterceptor}. * *

    1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Run in server mode: * dapr run --app-id tracingdemo --app-port 3000 \ * -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.tracing.TracingDemoService -p 3000 * 4. Run middle server: * dapr run --app-id tracingdemoproxy --app-port 3001 \ * -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.tracing.TracingDemoService -p 3001 */ public class TracingDemoService { /** * Starts the service. * @param args Expects the port: -p PORT * @throws Exception If cannot start service. */ public static void main(String[] args) throws Exception { Options options = new Options(); options.addRequiredOption("p", "port", true, "Port to listen to."); CommandLineParser parser = new DefaultParser(); CommandLine cmd = parser.parse(options, args); // If port string is not valid, it will throw an exception. int port = Integer.parseInt(cmd.getOptionValue("port")); DaprApplication.start(port); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/tracing/TracingDemoServiceController.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.tracing; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.examples.OpenTelemetryInterceptor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Map; import java.util.TimeZone; /** * SpringBoot Controller to handle service invocation. * *

    Instrumentation is handled in {@link OpenTelemetryInterceptor}. */ @RestController public class TracingDemoServiceController { /** * Json serializer/deserializer. */ private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); /** * Format to output date and time. */ private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); /** * Handles the 'echo' method invocation. * * @param body The body of the http message. * @param headers The headers of the http message. * @return A message containing the time. */ @PostMapping(path = "/echo") public Mono handleMethod(@RequestBody(required = false) String body, @RequestHeader Map headers) { return Mono.fromSupplier(() -> { try { String message = body == null ? "" : body; Calendar utcNow = Calendar.getInstance(TimeZone.getTimeZone("GMT")); String utcNowAsString = DATE_FORMAT.format(utcNow.getTime()); String metadataString = headers == null ? "" : OBJECT_MAPPER.writeValueAsString(headers); // Handles the request by printing message. System.out.println( "Server: " + message + " @ " + utcNowAsString + " and metadata: " + metadataString); return utcNowAsString; } catch (Exception e) { throw new RuntimeException(e); } }); } /** * Handles the 'sleep' method invocation. */ @PostMapping(path = "/sleep") public void sleep() throws Exception { // Simulate slow processing for metrics. Thread.sleep(1000); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/tracing/Validation.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.tracing; import com.evanlennick.retry4j.CallExecutorBuilder; import com.evanlennick.retry4j.Status; import com.evanlennick.retry4j.config.RetryConfig; import com.evanlennick.retry4j.config.RetryConfigBuilder; import com.jayway.jsonpath.DocumentContext; import com.jayway.jsonpath.JsonPath; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.List; import java.util.Map; import static java.time.temporal.ChronoUnit.SECONDS; /** * Class used to verify that traces are present as expected. */ final class Validation { private static final HttpClient HTTP_CLIENT = HttpClient.newBuilder() .version(HttpClient.Version.HTTP_1_1) .build(); private static final String TRACES_URL = "http://localhost:9411/api/v2/traces"; private static final RetryConfig RETRY_CONFIG = new RetryConfigBuilder() .withMaxNumberOfTries(5) .withFixedBackoff().withDelayBetweenTries(10, SECONDS) .retryOnAnyException() .build(); public static final String JSONPATH_PROXY_ECHO_SPAN_ID = "$..[?(@.parentId=='%s' && @.name=='calllocal/tracingdemoproxy/proxy_echo')]['id']"; public static final String JSONPATH_ECHO_SPAN_ID = "$..[?(@.parentId=='%s' && @.name=='calllocal/tracingdemo/echo')]['id']"; public static final String JSONPATH_PROXY_SLEEP_SPAN_ID = "$..[?(@.parentId=='%s' && @.duration > 1000000 && @.name=='calllocal/tracingdemoproxy/proxy_sleep')]['id']"; public static final String JSONPATH_SLEEP_SPAN_ID = "$..[?(@.parentId=='%s' && @.duration > 1000000 && @.name=='calllocal/tracingdemo/sleep')]['id']"; static void validate() { Status result = new CallExecutorBuilder().config(RETRY_CONFIG).build().execute(() -> doValidate()); if (!result.wasSuccessful()) { throw new RuntimeException(result.getLastExceptionThatCausedRetry()); } } private static Void doValidate() throws Exception { HttpRequest request = HttpRequest.newBuilder().GET().uri(URI.create(TRACES_URL)).build(); HttpResponse response = HTTP_CLIENT.send(request, HttpResponse.BodyHandlers.ofString()); DocumentContext documentContext = JsonPath.parse(response.body()); String mainSpanId = readOne(documentContext, "$..[?(@.name == \"example's main\")]['id']").toString(); // Validate echo assertCount(documentContext, String.format(JSONPATH_PROXY_ECHO_SPAN_ID, mainSpanId), 2); String proxyEchoSpanId = readOne(documentContext, String.format(JSONPATH_PROXY_ECHO_SPAN_ID, mainSpanId)) .toString(); String proxyEchoSpanId2 = readOne(documentContext, String.format(JSONPATH_PROXY_ECHO_SPAN_ID, proxyEchoSpanId)) .toString(); readOne(documentContext, String.format(JSONPATH_ECHO_SPAN_ID, proxyEchoSpanId2)); // Validate sleep assertCount(documentContext, String.format(JSONPATH_PROXY_SLEEP_SPAN_ID, mainSpanId), 2); String proxySleepSpanId = readOne(documentContext, String.format(JSONPATH_PROXY_SLEEP_SPAN_ID, mainSpanId)) .toString(); String proxySleepSpanId2 = readOne(documentContext, String.format(JSONPATH_PROXY_SLEEP_SPAN_ID, proxySleepSpanId)) .toString(); readOne(documentContext, String.format(JSONPATH_SLEEP_SPAN_ID, proxySleepSpanId2)); return null; } private static Object readOne(DocumentContext documentContext, String path) { List> arr = documentContext.read(path); if (arr.isEmpty()) { throw new RuntimeException("No record found for " + path); } return arr.get(0); } private static void assertCount(DocumentContext documentContext, String path, int expectedCount) { List> arr = documentContext.read(path); if (arr.size() != expectedCount) { throw new RuntimeException( String.format("Unexpected count %d vs expected %d for %s", arr.size(), expectedCount, path)); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/unittesting/DaprExampleTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.unittesting; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import io.dapr.actors.client.ActorClient; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.client.DaprClient; import io.dapr.client.domain.State; import org.junit.jupiter.api.Test; import org.mockito.Mockito; import reactor.core.publisher.Mono; import java.util.function.Function; import static org.junit.jupiter.api.Assertions.assertEquals; /** * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. send a message to be saved as state: * java -jar target/dapr-java-sdk-examples-exec.jar \ * org.junit.platform.console.ConsoleLauncher --select-class=io.dapr.examples.unittesting.DaprExampleTest */ public class DaprExampleTest { @ActorType(name = "MyActor") public interface MyActor { String hello(); } private static final class MyApp { private final DaprClient daprClient; private final Function actorProxyFactory; /** * Example of constructor that can be used for production code. * @param client Dapr client. * @param actorClient Dapr Actor client. */ public MyApp(DaprClient client, ActorClient actorClient) { this.daprClient = client; this.actorProxyFactory = (actorId) -> new ActorProxyBuilder<>(MyActor.class, actorClient).build(actorId); } /** * Example of constructor that can be used for test code. * @param client Dapr client. * @param actorProxyFactory Factory method to create actor proxy instances. */ public MyApp(DaprClient client, Function actorProxyFactory) { this.daprClient = client; this.actorProxyFactory = actorProxyFactory; } public String getState() { return daprClient.getState("appid", "statekey", String.class).block().getValue(); } public String invokeActor() { MyActor proxy = actorProxyFactory.apply(new ActorId("myactorId")); return proxy.hello(); } } @Test public void testGetState() { DaprClient daprClient = Mockito.mock(DaprClient.class); Mockito.when(daprClient.getState("appid", "statekey", String.class)).thenReturn( Mono.just(new State<>("statekey", "myvalue", "1"))); MyApp app = new MyApp(daprClient, (ActorClient) null); String value = app.getState(); assertEquals("myvalue", value); } @Test public void testInvokeActor() { MyActor actorMock = Mockito.mock(MyActor.class); Mockito.when(actorMock.hello()).thenReturn("hello world"); MyApp app = new MyApp(null, actorId -> actorMock); String value = app.invokeActor(); assertEquals("hello world", value); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/unittesting/DaprWorkflowExampleTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.unittesting; import io.dapr.durabletask.Task; import io.dapr.durabletask.TaskCanceledException; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowContext; import io.dapr.workflows.WorkflowStub; import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.slf4j.Logger; import java.time.Duration; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.startsWith; import static org.mockito.Mockito.mock; /** * 1. Build and install jars: * mvn clean install * 2. cd [repo root]/examples * 3. Run the test code: * java -jar target/dapr-java-sdk-examples-exec.jar \ * org.junit.platform.console.ConsoleLauncher --select-class=io.dapr.examples.unittesting.DaprWorkflowExampleTest */ public class DaprWorkflowExampleTest { private static final String timeoutWorkflow = "DemoWorkflowTimeout"; private static final String noTimeoutWorkflow = "DemoWorkflowNoTimeout"; private static final String workflowDefaultId = "demo-workflow-123"; private class DemoWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { String name = ctx.getName(); String id = ctx.getInstanceId(); try { ctx.waitForExternalEvent(name, Duration.ofMillis(100)).await(); } catch (TaskCanceledException e) { ctx.getLogger().warn("Timed out"); } String output = name + ":" + id; ctx.complete(output); }; } } @Test public void testWorkflow() { String name = noTimeoutWorkflow; String id = workflowDefaultId; WorkflowContext mockContext = createMockContext(name, id); new DemoWorkflow().run(mockContext); String expectedOutput = name + ":" + id; Mockito.verify(mockContext, Mockito.times(1)).complete(expectedOutput); } @Test public void testWorkflowWaitForEventTimeout() { WorkflowContext mockContext = createMockContext(timeoutWorkflow, workflowDefaultId); Logger mockLogger = mock(Logger.class); Mockito.doReturn(mockLogger).when(mockContext).getLogger(); new DemoWorkflow().run(mockContext); Mockito.verify(mockLogger, Mockito.times(1)).warn("Timed out"); } @Test public void testWorkflowWaitForEventNoTimeout() { WorkflowContext mockContext = createMockContext(noTimeoutWorkflow, workflowDefaultId); Logger mockLogger = mock(Logger.class); Mockito.doReturn(mockLogger).when(mockContext).getLogger(); new DemoWorkflow().run(mockContext); Mockito.verify(mockLogger, Mockito.times(0)).warn(anyString()); } private WorkflowContext createMockContext(String name, String id) { WorkflowContext mockContext = mock(WorkflowContext.class); Mockito.doReturn(name).when(mockContext).getName(); Mockito.doReturn(id).when(mockContext).getInstanceId(); Mockito.doReturn(mock(Task.class)) .when(mockContext).waitForExternalEvent(startsWith(noTimeoutWorkflow), any(Duration.class)); Mockito.doThrow(TaskCanceledException.class) .when(mockContext).waitForExternalEvent(startsWith(timeoutWorkflow), any(Duration.class)); return mockContext; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/unittesting/README.md ================================================ ## Unit testing sample This sample illustrates how applications can write unit tests with Dapr's Java SDK, JUnit 5 and Mockito. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Then change into the `examples` directory: ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ### Understanding the code #### Example App Test This example, found in `DaprExampleTest.java`, will simulate an application code via the App class: ```java private static final class MyApp { private final DaprClient daprClient; private final Function actorProxyFactory; /** * Example of constructor that can be used for production code. * @param client Dapr client. * @param actorClient Dapr Actor client. */ public MyApp(DaprClient client, ActorClient actorClient) { this.daprClient = client; this.actorProxyFactory = (actorId) -> new ActorProxyBuilder<>(MyActor.class, actorClient).build(actorId); } /** * Example of constructor that can be used for test code. * @param client Dapr client. * @param actorProxyFactory Factory method to create actor proxy instances. */ public MyApp(DaprClient client, Function actorProxyFactory) { this.daprClient = client; this.actorProxyFactory = actorProxyFactory; } public String getState() { return daprClient.getState("appid", "statekey", String.class).block().getValue(); } public String invokeActor() { MyActor proxy = actorProxyFactory.apply(new ActorId("myactorId")); return proxy.hello(); } } ``` This class has two constructors. The first one can be used by production code by passing the proper instances of `DaprClient` and `ActorClient`. The second, contains two methods: `getState()` will retrieve a state from the `DaprClient`, while `invokeActor()` will create an instance of the Actor proxy for `MyActor` interface and invoke a method on it. ```java @ActorType(name = "MyActor") public interface MyActor { String hello(); } ``` The first test validates the `getState()` method while mocking `DaprClient`: ```java @Test public void testGetState() { DaprClient daprClient = Mockito.mock(DaprClient.class); Mockito.when(daprClient.getState("appid", "statekey", String.class)).thenReturn( Mono.just(new State<>("statekey", "myvalue", "1"))); MyApp app = new MyApp(daprClient, (ActorClient) null); String value = app.getState(); assertEquals("myvalue", value); } ``` The second test uses a mock implementation of the factory method and checks the actor invocation by mocking the `MyActor` interface: ```java @Test public void testInvokeActor() { MyActor actorMock = Mockito.mock(MyActor.class); Mockito.when(actorMock.hello()).thenReturn("hello world"); MyApp app = new MyApp(null, actorId -> actorMock); String value = app.invokeActor(); assertEquals("hello world", value); } ``` #### Running the example Run this example with the following command: ```bash java -jar target/dapr-java-sdk-examples-exec.jar org.junit.platform.console.ConsoleLauncher --select-class=io.dapr.examples.unittesting.DaprExampleTest ``` After running, Junit should print the output as follows: ```txt ╷ ├─ JUnit Jupiter ✔ │ └─ DaprExampleTest ✔ │ ├─ testGetState() ✔ │ └─ testInvokeActor() ✔ └─ JUnit Vintage ✔ Test run finished after 1210 ms [ 3 containers found ] [ 0 containers skipped ] [ 3 containers started ] [ 0 containers aborted ] [ 3 containers successful ] [ 0 containers failed ] [ 2 tests found ] [ 0 tests skipped ] [ 2 tests started ] [ 0 tests aborted ] [ 2 tests successful ] [ 0 tests failed ] ``` #### Example Workflow Test This example, found in `DaprWorkflowExampleTest.java`, shows how to mock and test a dapr workflow: ```java private class DemoWorkflow extends Workflow { @Override public void run(WorkflowContext ctx) { String name = ctx.getName(); String id = ctx.getInstanceId(); try { ctx.waitForExternalEvent("myEvent", Duration.ofSeconds(10)).await(); } catch (TaskCanceledException e) { ctx.getLogger().warn("Timed out"); } String output = name + ":" + id; ctx.complete(output); } } ``` The example provides its own workflow, but for a production system you would want to import and use your own workflow. The goal of unit testing a workflow is to ensure that the business logic functions as expected. For our example, that involves the following two sections: ```java String output = name + ":" + id; ``` ```java } catch (TaskCanceledException e) { ctx.getLogger().warn("Timed out"); } ``` The first test validates the output of our workflow by mocking the `WorkflowContext` and verifying the `.complete` method: ```java @Test public void testWorkflow() { WorkflowContext mockContext = Mockito.mock(WorkflowContext.class); String name = "DemoWorkflow"; String id = "my-workflow-123"; Mockito.when(mockContext.getName()).thenReturn(name); Mockito.when(mockContext.getInstanceId()).thenReturn(id); new DemoWorkflow().run(mockContext); String expectedOutput = name + ":" + id; Mockito.verify(mockContext, times(1)).complete(expectedOutput); } ``` The second test validates the `catch` block of our workflow by throwing the expected exception from our mock and verifying the expected call on our mock `Logger`: ```java @Test public void testWorkflowWaitForEventTimeout() { WorkflowContext mockContext = Mockito.mock(WorkflowContext.class); Logger mockLogger = Mockito.mock(Logger.class); Mockito.when(mockContext.getLogger()).thenReturn(mockLogger); Mockito.when(mockContext.waitForExternalEvent(anyString(),any(Duration.class))) .thenThrow(TaskCanceledException.class); new DemoWorkflow().run(mockContext); Mockito.verify(mockLogger, times(1)).warn("Timed out"); } ``` The third test is similar but validates the inverse of the test above, ensuring that a code path we do not expect to be triggered is indeed avoided: ```java @Test public void testWorkflowWaitForEventNoTimeout() { WorkflowContext mockContext = Mockito.mock(WorkflowContext.class); Logger mockLogger = Mockito.mock(Logger.class); Mockito.when(mockContext.getLogger()).thenReturn(mockLogger); new DemoWorkflow().run(mockContext); Mockito.verify(mockLogger, times(0)).warn(anyString()); } ``` #### Running the example Run this example with the following command: ```bash java -jar target/dapr-java-sdk-examples-exec.jar org.junit.platform.console.ConsoleLauncher --select-class=io.dapr.examples.unittesting.DaprWorkflowExampleTest ``` After running, Junit should print the output as follows: ```txt ╷ ├─ JUnit Jupiter ✔ │ └─ DaprWorkflowExampleTest ✔ │ ├─ testWorkflowWaitForEventTimeout() ✔ │ ├─ testWorkflowWaitForEventNoTimeout() ✔ │ └─ testWorkflow() ✔ └─ JUnit Vintage ✔ Test run finished after 815 ms [ 3 containers found ] [ 0 containers skipped ] [ 3 containers started ] [ 0 containers aborted ] [ 3 containers successful ] [ 0 containers failed ] [ 3 tests found ] [ 0 tests skipped ] [ 3 tests started ] [ 0 tests aborted ] [ 3 tests successful ] [ 0 tests failed ] ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/README.md ================================================ # Dapr Workflow Sample In this example, we'll use Dapr to test workflow features. Visit [the Workflow documentation landing page](https://docs.dapr.io/developing-applications/building-blocks/workflow) for more information. This example contains the follow classes: * DemoWorkflow: An example of a Dapr Workflow. * DemoWorkflowClient: This application will start workflows using Dapr. * DemoWorkflowWorker: An application that registers a workflow to the Dapr workflow runtime engine. It also executes the workflow instance. ## Pre-requisites * [Dapr CLI](https://docs.dapr.io/getting-started/install-dapr-cli/). * Java JDK 17 (or greater): * [Microsoft JDK 17](https://docs.microsoft.com/en-us/java/openjdk/download#openjdk-17) * [Oracle JDK 17](https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK17) * [OpenJDK 17](https://jdk.java.net/17/) * [Apache Maven](https://maven.apache.org/install.html) version 3.x. ### Checking out the code Clone this repository: ```sh git clone https://github.com/dapr/java-sdk.git cd java-sdk ``` Then build the Maven project: ```sh # make sure you are in the `java-sdk` directory. mvn install ``` Get into the `examples` directory. ```sh cd examples ``` ### Initialize Dapr Run `dapr init` to initialize Dapr in Self-Hosted Mode if it's not already initialized. ## Patterns Those examples contain the following workflow patterns: 1. [Chaining Pattern](#chaining-pattern) 2. [Fan-out/Fan-in Pattern](#fan-outfan-in-pattern) 3. [Continue As New Pattern](#continue-as-new-pattern) 4. [External Event Pattern](#external-event-pattern) 5. [Child-workflow Pattern](#child-workflow-pattern) 6. [Compensation Pattern](#compensation-pattern) 7. [Multi-App Pattern](#multi-app-pattern) ### Chaining Pattern In the chaining pattern, a sequence of activities executes in a specific order. In this pattern, the output of one activity is applied to the input of another activity. The chaining pattern is useful when you need to execute a sequence of activities in a specific order. The first Java class is `DemoChainWorker`. Its job is to register an implementation of `DemoChainWorkflow` in Dapr's workflow runtime engine. In the `DemoChainWorker.java` file, you will find the `DemoChainWorker` class and the `main` method. See the code snippet below: ```java public class DemoChainWorker { /** * The main method of this app. * * @param args The port the app will listen on. * @throws Exception An Exception. */ public static void main(String[] args) throws Exception { // Register the Workflow with the builder. WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder().registerWorkflow(DemoChainWorkflow.class); builder.registerActivity(ToUpperCaseActivity.class); // Build and then start the workflow runtime pulling and executing tasks try (WorkflowRuntime runtime = builder.build()) { System.out.println("Start workflow runtime"); runtime.start(); } System.exit(0); } } ``` The second Java class you want to look at is `DemoChainWorkflow`, it defines the workflow. In this example it chains the activites in order. See the code snippet below: ```java public class DemoChainWorkflow extends Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); String result = ""; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "Tokyo", String.class).await() + ", "; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "London", String.class).await() + ", "; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "Seattle", String.class).await(); ctx.getLogger().info("Workflow finished with result: " + result); ctx.complete(result); }; } } ``` The next Java class you want to look at is `ToUpperCaseActivity`, it defines the logics for a single acitvity, in this case, it converts a string to upper case. See the code snippet below: ```java public class ToUpperCaseActivity implements WorkflowActivity { @Override public String run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ToUpperCaseActivity.class); logger.info("Starting Chaining Activity: " + ctx.getName()); var message = ctx.getInput(String.class); var newMessage = message.toUpperCase(); logger.info("Message Received from input: " + message); logger.info("Sending message to output: " + newMessage); logger.info("Activity returned: " + newMessage); logger.info("Activity finished"); return newMessage; } } ``` Execute the following script in order to run DemoChainWorker: ```sh dapr run --app-id chainingworker --resources-path ./components/workflows --dapr-grpc-port 50001 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.chain.DemoChainWorker 50001 ``` Once running, the logs will start displaying the different steps: First, you can see workflow is starting: ```text Start workflow runtime Nov 07, 2023 11:03:07 AM com.microsoft.durabletask.DurableTaskGrpcWorker startAndBlock INFO: Durable Task worker is connecting to sidecar at 127.0.0.1:50001. ``` Then, execute the following script in order to run DemoChainClient: ```sh java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.chain.DemoChainClient 50001 dapr stop --app-id chainingworker ``` Now you can see the worker logs showing the acitvity is invoked in sequnce and the status of each activity: ```text 2023-11-07 11:03:14,178 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Starting Workflow: io.dapr.examples.workflows.chain.DemoChainWorkflow 2023-11-07 11:03:14,229 {HH:mm:ss.SSS} [main] INFO i.d.e.w.chain.ToUpperCaseActivity - Starting Activity: io.dapr.examples.workflows.chain.ToUpperCaseActivity 2023-11-07 11:03:14,235 {HH:mm:ss.SSS} [main] INFO i.d.e.w.chain.ToUpperCaseActivity - Message Received from input: Tokyo 2023-11-07 11:03:14,235 {HH:mm:ss.SSS} [main] INFO i.d.e.w.chain.ToUpperCaseActivity - Sending message to output: TOKYO 2023-11-07 11:03:14,266 {HH:mm:ss.SSS} [main] INFO i.d.e.w.chain.ToUpperCaseActivity - Starting Activity: io.dapr.examples.workflows.chain.ToUpperCaseActivity 2023-11-07 11:03:14,267 {HH:mm:ss.SSS} [main] INFO i.d.e.w.chain.ToUpperCaseActivity - Message Received from input: London 2023-11-07 11:03:14,267 {HH:mm:ss.SSS} [main] INFO i.d.e.w.chain.ToUpperCaseActivity - Sending message to output: LONDON 2023-11-07 11:03:14,282 {HH:mm:ss.SSS} [main] INFO i.d.e.w.chain.ToUpperCaseActivity - Starting Activity: io.dapr.examples.workflows.chain.ToUpperCaseActivity 2023-11-07 11:03:14,282 {HH:mm:ss.SSS} [main] INFO i.d.e.w.chain.ToUpperCaseActivity - Message Received from input: Seattle 2023-11-07 11:03:14,283 {HH:mm:ss.SSS} [main] INFO i.d.e.w.chain.ToUpperCaseActivity - Sending message to output: SEATTLE 2023-11-07 11:03:14,298 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Workflow finished with result: TOKYO, LONDON, SEATTLE ``` and the client logs showing the workflow is started and finished with expected result: ```text Started a new chaining model workflow with instance ID: 6e4fe69b-689b-4998-b095-d6b52c7d6328 workflow instance with ID: 6e4fe69b-689b-4998-b095-d6b52c7d6328 completed with result: TOKYO, LONDON, SEATTLE ``` ### Fan-out/Fan-in Pattern In the fan out/fan in pattern, you execute multiple activities in parallel and then wait for all activities to finish. Often, some aggregation work is done on the results that are returned from the activities. The `DemoFanInOutWorkflow` class defines the workflow. In this example it executes the activities in parallel and then sums the results. See the code snippet below: ```java public class DemoFanInOutWorkflow extends Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); // The input is a list of objects that need to be operated on. // In this example, inputs are expected to be strings. List inputs = ctx.getInput(List.class); // Fan-out to multiple concurrent activity invocations, each of which does a word count. List> tasks = inputs.stream() .map(input -> ctx.callActivity(CountWordsActivity.class.getName(), input.toString(), Integer.class)) .collect(Collectors.toList()); // Fan-in to get the total word count from all the individual activity results. List allWordCountResults = ctx.allOf(tasks).await(); int totalWordCount = allWordCountResults.stream().mapToInt(Integer::intValue).sum(); ctx.getLogger().info("Workflow finished with result: " + totalWordCount); // Save the final result as the orchestration output. ctx.complete(totalWordCount); }; } } ``` The `CountWordsActivity` class defines the logics for a single acitvity, in this case, it counts the words in a string. See the code snippet below: ```java public class CountWordsActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ToUpperCaseActivity.class); logger.info("Starting Activity: {}", ctx.getName()); String input = ctx.getInput(String.class); StringTokenizer tokenizer = new StringTokenizer(input); int result = tokenizer.countTokens(); logger.info("Activity returned: {}.", result); logger.info("Activity finished"); return result; } } ``` Execute the following script in order to run DemoFanInOutWorker: ```sh dapr run --app-id faninoutworker --resources-path ./components/workflows --dapr-grpc-port 50002 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.faninout.DemoFanInOutWorker 50002 ``` Execute the following script in order to run DemoFanInOutClient: ```sh java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.faninout.DemoFanInOutClient 50002 dapr stop --app-id faninoutworker ``` Now you can see the logs from worker: ```text 2023-11-07 14:52:03,075 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Starting Workflow: io.dapr.examples.workflows.faninout.DemoFanInOutWorkflow 2023-11-07 14:52:03,144 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Starting Activity: io.dapr.examples.workflows.faninout.CountWordsActivity 2023-11-07 14:52:03,147 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 2. 2023-11-07 14:52:03,148 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity finished 2023-11-07 14:52:03,152 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Starting Activity: io.dapr.examples.workflows.faninout.CountWordsActivity 2023-11-07 14:52:03,152 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 9. 2023-11-07 14:52:03,152 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity finished 2023-11-07 14:52:03,167 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Starting Activity: io.dapr.examples.workflows.faninout.CountWordsActivity 2023-11-07 14:52:03,167 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 21. 2023-11-07 14:52:03,167 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity finished 2023-11-07 14:52:03,170 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Starting Activity: io.dapr.examples.workflows.faninout.CountWordsActivity 2023-11-07 14:52:03,170 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 17. 2023-11-07 14:52:03,170 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity finished 2023-11-07 14:52:03,173 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Starting Activity: io.dapr.examples.workflows.faninout.CountWordsActivity 2023-11-07 14:52:03,173 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 11. 2023-11-07 14:52:03,174 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity finished 2023-11-07 14:52:03,212 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Workflow finished with result: 60 ``` and the client: ```text Started a new fan out/fan in model model workflow with instance ID: 092c1928-b5dd-4576-9468-300bf6aed986 workflow instance with ID: 092c1928-b5dd-4576-9468-300bf6aed986 completed with result: 60 ``` ### Continue As New Pattern `ContinueAsNew` API allows you to restart the workflow with a new input. The `DemoContinueAsNewWorkflow` class defines the workflow. It simulates periodic cleanup work that happen every 10 seconds, after previous cleanup has finished. See the code snippet below: ```java public class DemoContinueAsNewWorkflow extends Workflow { /* Compared with a CRON schedule, this periodic workflow example will never overlap. For example, a CRON schedule that executes a cleanup every hour will execute it at 1:00, 2:00, 3:00 etc. and could potentially run into overlap issues if the cleanup takes longer than an hour. In this example, however, if the cleanup takes 30 minutes, and we create a timer for 1 hour between cleanups, then it will be scheduled at 1:00, 2:30, 4:00, etc. and there is no chance of overlap. */ @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); ctx.getLogger().info("call CleanUpActivity to do the clean up"); ctx.callActivity(CleanUpActivity.class.getName()).await(); ctx.getLogger().info("CleanUpActivity finished"); ctx.getLogger().info("wait 10 seconds for next clean up"); ctx.createTimer(Duration.ofSeconds(10)).await(); // continue the workflow. ctx.continueAsNew(null); }; } } ``` The `CleanUpActivity` class defines the logics for a single acitvity, in this case, it simulates a clean up work. See the code snippet below: ```java public class CleanUpActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(CleanUpActivity.class); logger.info("Starting Activity: " + ctx.getName()); logger.info("start clean up work, it may take few seconds to finish..."); //Sleeping for 5 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } return "clean up finish."; } } ``` Once you start the workflow and client using the following commands: ```sh dapr run --app-id demoworkflowworker --resources-path ./components/workflows -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.continueasnew.DemoContinueAsNewWorker ``` ```sh java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.continueasnew.DemoContinueAsNewClient ``` You will see the logs from worker showing the `CleanUpActivity` is invoked every 10 seconds after previous one is finished: ```text 2023-11-07 14:44:42,004 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Starting Workflow: io.dapr.examples.workflows.continueasnew.DemoContinueAsNewWorkflow 2023-11-07 14:44:42,004 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - call CleanUpActivity to do the clean up 2023-11-07 14:44:42,009 {HH:mm:ss.SSS} [main] INFO i.d.e.w.c.CleanUpActivity - Starting Activity: io.dapr.examples.workflows.continueasnew.CleanUpActivity 2023-11-07 14:44:42,009 {HH:mm:ss.SSS} [main] INFO i.d.e.w.c.CleanUpActivity - start clean up work, it may take few seconds to finish... 2023-11-07 14:44:47,026 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Starting Workflow: io.dapr.examples.workflows.continueasnew.DemoContinueAsNewWorkflow 2023-11-07 14:44:47,026 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - call CleanUpActivity to do the clean up 2023-11-07 14:44:47,030 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - CleanUpActivity finished 2023-11-07 14:44:47,030 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - wait 10 seconds for next clean up 2023-11-07 14:44:47,033 {HH:mm:ss.SSS} [main] INFO i.d.e.w.c.CleanUpActivity - Starting Activity: io.dapr.examples.workflows.continueasnew.CleanUpActivity 2023-11-07 14:44:47,033 {HH:mm:ss.SSS} [main] INFO i.d.e.w.c.CleanUpActivity - start clean up work, it may take few seconds to finish... 2023-11-07 14:44:52,053 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - CleanUpActivity finished 2023-11-07 14:44:52,053 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - wait 10 seconds for next clean up 2023-11-07 14:44:57,006 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Starting Workflow: io.dapr.examples.workflows.continueasnew.DemoContinueAsNewWorkflow 2023-11-07 14:44:57,006 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - call CleanUpActivity to do the clean up 2023-11-07 14:44:57,012 {HH:mm:ss.SSS} [main] INFO i.d.e.w.c.CleanUpActivity - Starting Activity: io.dapr.examples.workflows.continueasnew.CleanUpActivity 2023-11-07 14:44:57,012 {HH:mm:ss.SSS} [main] INFO i.d.e.w.c.CleanUpActivity - start clean up work, it may take few seconds to finish... 2023-11-07 14:45:02,017 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Starting Workflow: io.dapr.examples.workflows.continueasnew.DemoContinueAsNewWorkflow 2023-11-07 14:45:02,020 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - call CleanUpActivity to do the clean up 2023-11-07 14:45:02,021 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - CleanUpActivity finished 2023-11-07 14:45:02,021 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - wait 10 seconds for next clean up ... ``` and the client: ```text Started a new continue-as-new model workflow with instance ID: c853fb93-f0e7-4ad7-ad41-385732386f94 ``` It will continue to run until you stop the worker. ### External Event Pattern In the external event pattern, a workflow is started by an external event. The workflow can then wait for other external events to occur before completing. The `DemoExternalEventWorkflow` class defines the workflow. It waits for an external event `Approval` to run the corresponding activity. See the code snippet below: ```java public class DemoExternalEventWorkflow extends Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); Boolean approved = ctx.waitForExternalEvent("Approval", boolean.class).await(); if (approved) { ctx.getLogger().info("approval granted - do the approved action"); ctx.callActivity(ApproveActivity.class.getName()).await(); ctx.getLogger().info("approval-activity finished"); } else { ctx.getLogger().info("approval denied - send a notification"); ctx.callActivity(DenyActivity.class.getName()).await(); ctx.getLogger().info("denied-activity finished"); } }; } } ``` In the `DemoExternalEventClient` class we send out Approval event to tell our workflow to run the approved activity. ```java client.raiseEvent(instanceId, "Approval", true); ``` Start the workflow and client using the following commands: ```sh dapr run --app-id demoworkflowworker --resources-path ./components/workflows -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.externalevent.DemoExternalEventWorker ``` ```sh java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.externalevent.DemoExternalEventClient ``` The worker logs: ```text 2023-11-07 16:01:23,279 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Starting Workflow: io.dapr.examples.workflows.externalevent.DemoExternalEventWorkflow 2023-11-07 16:01:23,279 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Waiting for approval... 2023-11-07 16:01:23,324 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - approval granted - do the approved action 2023-11-07 16:01:23,348 {HH:mm:ss.SSS} [main] INFO i.d.e.w.e.ApproveActivity - Starting Activity: io.dapr.examples.workflows.externalevent.ApproveActivity 2023-11-07 16:01:23,348 {HH:mm:ss.SSS} [main] INFO i.d.e.w.e.ApproveActivity - Running approval activity... 2023-11-07 16:01:28,410 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - approval-activity finished ``` The client log: ```text Started a new external-event model workflow with instance ID: 23410d96-1afe-4698-9fcd-c01c1e0db255 workflow instance with ID: 23410d96-1afe-4698-9fcd-c01c1e0db255 completed. ``` ### Child-workflow Pattern The child-workflow pattern allows you to call a workflow from another workflow. The `DemoWorkflow` class defines the workflow. It calls a child-workflow `DemoChildWorkflow` to do the work. See the code snippet below: ```java public class DemoWorkflow extends Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); var childWorkflowInput = "Hello Dapr Workflow!"; ctx.getLogger().info("calling childworkflow with input: " + childWorkflowInput); var childWorkflowOutput = ctx.callChildWorkflow(DemoChildWorkflow.class.getName(), childWorkflowInput, String.class).await(); ctx.getLogger().info("childworkflow finished with: " + childWorkflowOutput); }; } } ``` The `DemoChildWorkflow` class defines the child-workflow. It call the activity to do the work and returns the result. See the code snippet below: ```java public class DemoChildWorkflow extends Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting ChildWorkflow: " + ctx.getName()); var childWorkflowInput = ctx.getInput(String.class); ctx.getLogger().info("ChildWorkflow received input: " + childWorkflowInput); ctx.getLogger().info("ChildWorkflow is calling Activity: " + ReverseActivity.class.getName()); String result = ctx.callActivity(ReverseActivity.class.getName(), childWorkflowInput, String.class).await(); ctx.getLogger().info("ChildWorkflow finished with: " + result); ctx.complete(result); }; } } ``` The `ReverseActivity` class defines the logics for a single activity, in this case, it reverses a string. See the code snippet below: ```java public class ReverseActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ReverseActivity.class); logger.info("Starting Activity: " + ctx.getName()); var message = ctx.getInput(String.class); var newMessage = new StringBuilder(message).reverse().toString(); logger.info("Message Received from input: " + message); logger.info("Sending message to output: " + newMessage); logger.info("Activity returned: " + newMessage); logger.info("Activity finished"); return newMessage; } } ``` Start the workflow and client using the following commands: ex ```sh dapr run --app-id demoworkflowworker --resources-path ./components/workflows -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.childworkflow.DemoChildWorkflowWorker ``` ```sh java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.childworkflow.DemoChildWorkerflowClient ``` The log from worker: ```text 2023-11-07 20:08:52,521 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Starting Workflow: io.dapr.examples.workflows.childworkflow.DemoWorkflow 2023-11-07 20:08:52,523 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - calling childworkflow with input: Hello Dapr Workflow! 2023-11-07 20:08:52,561 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Starting ChildWorkflow: io.dapr.examples.workflows.childworkflow.DemoChildWorkflow 2023-11-07 20:08:52,566 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - ChildWorkflow received input: Hello Dapr Workflow! 2023-11-07 20:08:52,566 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - ChildWorkflow is calling Activity: io.dapr.examples.workflows.childworkflow.ReverseActivity 2023-11-07 20:08:52,576 {HH:mm:ss.SSS} [main] INFO i.d.e.w.childworkflow.ReverseActivity - Starting Activity: io.dapr.examples.workflows.childworkflow.ReverseActivity 2023-11-07 20:08:52,577 {HH:mm:ss.SSS} [main] INFO i.d.e.w.childworkflow.ReverseActivity - Message Received from input: Hello Dapr Workflow! 2023-11-07 20:08:52,577 {HH:mm:ss.SSS} [main] INFO i.d.e.w.childworkflow.ReverseActivity - Sending message to output: !wolfkroW rpaD olleH 2023-11-07 20:08:52,596 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - ChildWorkflow finished with: !wolfkroW rpaD olleH 2023-11-07 20:08:52,611 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - childworkflow finished with: !wolfkroW rpaD olleH ``` The log from client: ```text Started a new child-workflow model workflow with instance ID: c2fb9c83-435b-4b55-bdf1-833b39366cfb workflow instance with ID: c2fb9c83-435b-4b55-bdf1-833b39366cfb completed with result: !wolfkroW rpaD olleH ``` ### Compensation Pattern The compensation pattern is used to "undo" or "roll back" previously completed steps if a later step fails. This pattern is particularly useful in scenarios where you need to ensure that all resources are properly cleaned up even if the process fails. The example simulates a trip booking workflow that books a flight, hotel, and car. If any step fails, the workflow will automatically compensate (cancel) the previously completed bookings in reverse order. The `BookTripWorkflow` class defines the workflow. It orchestrates the booking process and handles compensation if any step fails. See the code snippet below: ```java public class BookTripWorkflow extends Workflow { @Override public WorkflowStub create() { return ctx -> { List compensations = new ArrayList<>(); try { // Book flight String flightResult = ctx.callActivity(BookFlightActivity.class.getName(), String.class).await(); ctx.getLogger().info("Flight booking completed: " + flightResult); compensations.add(CancelFlightActivity.class.getName()); // Book hotel String hotelResult = ctx.callActivity(BookHotelActivity.class.getName(), String.class).await(); ctx.getLogger().info("Hotel booking completed: " + hotelResult); compensations.add(CancelHotelActivity.class.getName()); // Book car String carResult = ctx.callActivity(BookCarActivity.class.getName(), String.class).await(); ctx.getLogger().info("Car booking completed: " + carResult); compensations.add(CancelCarActivity.class.getName()); } catch (Exception e) { ctx.getLogger().info("******** executing compensation logic ********"); // Execute compensations in reverse order Collections.reverse(compensations); for (String compensation : compensations) { try { ctx.callActivity(compensation, String.class).await(); } catch (Exception ex) { ctx.getLogger().error("Error during compensation: " + ex.getMessage()); } } ctx.complete("Workflow failed, compensation applied"); return; } ctx.complete("All bookings completed successfully"); }; } } ``` Each activity class (`BookFlightActivity`, `BookHotelActivity`, `BookCarActivity`) implements the booking logic, while their corresponding compensation activities (`CancelFlightActivity`, `CancelHotelActivity`, `CancelCarActivity`) implement the cancellation logic. Execute the following script in order to run the BookTripWorker: ```sh dapr run --app-id book-trip-worker --resources-path ./components/workflows --dapr-grpc-port 50003 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.compensation.BookTripWorker 50003 ``` Once running, execute the following script to run the BookTripClient: ```sh java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.compensation.BookTripClient 50003 dapr stop --app-id book-trip-worker ``` The output demonstrates: 1. The workflow starts and successfully books a flight 2. Then successfully books a hotel 3. When attempting to book a car, it fails (intentionally) 4. The compensation logic triggers, canceling the hotel and flight in reverse order 5. The workflow completes with a status indicating the compensation was applied Key Points: 1. Each successful booking step adds its compensation action to an ArrayList 2. If an error occurs, the list of compensations is reversed and executed in reverse order 3. The workflow ensures that all resources are properly cleaned up even if the process fails 4. Each activity simulates work with a short delay for demonstration purposes ### Multi-App Pattern The multi-app pattern allows workflows to call activities that are hosted in different Dapr applications. This is useful for microservices architectures allowing multiple applications to host activities that can be orchestrated by Dapr Workflows. The `MultiAppWorkflow` class defines the workflow. It demonstrates calling activities in different apps using the `appId` parameter in `WorkflowTaskOptions`. See the code snippet below: ```java public class MultiAppWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { var logger = ctx.getLogger(); logger.info("=== WORKFLOW STARTING ==="); logger.info("Starting MultiAppWorkflow: {}", ctx.getName()); logger.info("Workflow name: {}", ctx.getName()); logger.info("Workflow instance ID: {}", ctx.getInstanceId()); String input = ctx.getInput(String.class); logger.info("MultiAppWorkflow received input: {}", input); logger.info("Workflow input: {}", input); // Call an activity in another app by passing in an active appID to the WorkflowTaskOptions logger.info("Calling multi-app activity in 'app2'..."); logger.info("About to call multi-app activity in app2..."); String multiAppResult = ctx.callActivity( App2TransformActivity.class.getName(), input, new WorkflowTaskOptions("app2"), String.class ).await(); // Call another activity in a different app logger.info("Calling multi-app activity in 'app3'..."); logger.info("About to call multi-app activity in app3..."); String finalResult = ctx.callActivity( App3FinalizeActivity.class.getName(), multiAppResult, new WorkflowTaskOptions("app3"), String.class ).await(); logger.info("Final multi-app activity result: {}", finalResult); logger.info("Final multi-app activity result: {}", finalResult); logger.info("MultiAppWorkflow finished with: {}", finalResult); logger.info("=== WORKFLOW COMPLETING WITH: {} ===" , finalResult); ctx.complete(finalResult); }; } } ``` The `App2TransformActivity` class defines an activity in app2 that transforms the input string. See the code snippet below: ```java public class App2TransformActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { var logger = ctx.getLogger(); logger.info("=== App2: TransformActivity called ==="); String input = ctx.getInput(String.class); logger.info("Input: {}", input); // Transform the input String result = input.toUpperCase() + " [TRANSFORMED BY APP2]"; logger.info("Output: {}", result); return result; } } ``` The `App3FinalizeActivity` class defines an activity in app3 that finalizes the processing. See the code snippet below: ```java public class App3FinalizeActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { var logger = ctx.getLogger(); logger.info("=== App3: FinalizeActivity called ==="); String input = ctx.getInput(String.class); logger.info("Input: ", input); // Finalize the processing String result = input + " [FINALIZED BY APP3]"; logger.info("Output: {}", result); return result; } } ``` **Key Features:** - **Cross-app activity calls**: Call activities in different Dapr applications specifying the appID in the WorkflowTaskOptions - **WorkflowTaskOptions with appId**: Specify which app should handle the activity - **Combined with retry policies**: Use app ID along with retry policies and handlers - **Error handling**: Works the same as local activity calls **Requirements:** - Multiple Dapr applications running with different app IDs - Activities registered in the target applications - Proper Dapr workflow runtime configuration **Important Limitations:** - **Cross-app calls are currently supported for activities only** - **Child workflow multi-app calls (suborchestration) are NOT supported** - The app ID must match the Dapr application ID of the target service **Running the Cross-App Example:** This example requires running multiple Dapr applications simultaneously. You'll need to run the following commands in separate terminals: 1. **Start the main workflow worker (multiapp-worker):** ```sh dapr run --app-id multiapp-worker --resources-path ./components/workflows --dapr-grpc-port 50001 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.multiapp.MultiAppWorker ``` 2. **Start app2 worker (handles App2TransformActivity):** ```sh dapr run --app-id app2 --resources-path ./components/workflows --dapr-grpc-port 50002 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.multiapp.App2Worker ``` 3. **Start app3 worker (handles App3FinalizeActivity):** ```sh dapr run --app-id app3 --resources-path ./components/workflows --dapr-grpc-port 50003 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.multiapp.App3Worker ``` 4. **Run the workflow client:** ```sh java -Djava.util.logging.ConsoleHandler.level=FINE -Dio.dapr.durabletask.level=FINE -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.multiapp.MultiAppWorkflowClient "Hello World" ``` **Expected Output:** The client will show: ```text === Starting Cross-App Workflow Client === Input: Hello World Created DaprWorkflowClient successfully Attempting to start new workflow... Started a new multi-app workflow with instance ID: 001113f3-b9d9-438c-932a-a9a9b70b9460 Waiting for workflow completion... Workflow instance with ID: 001113f3-b9d9-438c-932a-a9a9b70b9460 completed with result: HELLO WORLD [TRANSFORMED BY APP2] [FINALIZED BY APP3] ``` The workflow demonstrates: 1. The workflow starts in the main worker (multiapp-worker) 2. Calls an activity in 'app2' using multi-app functionality 3. Calls an activity in 'app3' using multi-app functionality 4. The workflow completes with the final result from all activities This pattern is particularly useful for: - Microservices architectures where activities are distributed across multiple services - Multi-tenant applications where activities are isolated by app ID ### Suspend/Resume Pattern Workflow instances can be suspended and resumed. This example shows how to use the suspend and resume commands. For testing the suspend and resume operations we will use the same workflow definition used by the DemoExternalEventWorkflow. Start the workflow and client using the following commands: ```sh dapr run --app-id suspendresumeworker --resources-path ./components/workflows --dapr-grpc-port 50004 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.suspendresume.DemoSuspendResumeWorker 50004 ``` ```sh java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.workflows.suspendresume.DemoSuspendResumeClient 50004 dapr stop --app-id suspendresumeworker ``` The worker logs: ```text 2023-11-07 16:01:23,279 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Starting Workflow: io.dapr.examples.workflows.suspendresume.DemoExternalEventWorkflow 2023-11-07 16:01:23,279 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Waiting for approval... 2023-11-07 16:01:23,324 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - approval granted - do the approved action 2023-11-07 16:01:23,348 {HH:mm:ss.SSS} [main] INFO i.d.e.w.e.ApproveActivity - Starting Activity: io.dapr.examples.workflows.externalevent.ApproveActivity 2023-11-07 16:01:23,348 {HH:mm:ss.SSS} [main] INFO i.d.e.w.e.ApproveActivity - Running approval activity... 2023-11-07 16:01:28,410 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - approval-activity finished ``` The client log: ```text Started a new external-event model workflow with instance ID: 23410d96-1afe-4698-9fcd-c01c1e0db255 workflow instance with ID: 23410d96-1afe-4698-9fcd-c01c1e0db255 completed. ``` ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/chain/DemoChainClient.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.chain; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.examples.workflows.utils.RetryUtils; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import java.time.Duration; import java.util.concurrent.TimeoutException; public class DemoChainClient { /** * The main method to start the client. * * @param args Input arguments (unused). * @throws InterruptedException If program has been interrupted. */ public static void main(String[] args) { try (DaprWorkflowClient client = new DaprWorkflowClient(PropertyUtils.getProperties(args))) { String instanceId = RetryUtils.callWithRetry(() -> client.scheduleNewWorkflow(DemoChainWorkflow.class), Duration.ofSeconds(60)); System.out.printf("Started a new chaining model workflow with instance ID: %s%n", instanceId); WorkflowState workflowState = client.waitForWorkflowCompletion(instanceId, null, true); String result = workflowState.readOutputAs(String.class); System.out.printf("workflow instance with ID: %s completed with result: %s%n", instanceId, result); } catch (TimeoutException | InterruptedException e) { throw new RuntimeException(e); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/chain/DemoChainWorker.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.chain; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class DemoChainWorker { /** * The main method of this app. * * @param args The port the app will listen on. * @throws Exception An Exception. */ public static void main(String[] args) throws Exception { // Register the Workflow with the builder. WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(PropertyUtils.getProperties(args)).registerWorkflow(DemoChainWorkflow.class); builder.registerActivity(ToUpperCaseActivity.class); // Build and then start the workflow runtime pulling and executing tasks WorkflowRuntime runtime = builder.build(); System.out.println("Start workflow runtime"); runtime.start(); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/chain/DemoChainWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.chain; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; public class DemoChainWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); String result = ""; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "Tokyo", String.class).await() + ", "; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "London", String.class).await() + ", "; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "Seattle", String.class).await(); ctx.getLogger().info("Workflow finished with result: " + result); ctx.complete(result); }; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/chain/ToUpperCaseActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.chain; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ToUpperCaseActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ToUpperCaseActivity.class); logger.info("Starting Activity: " + ctx.getName()); var message = ctx.getInput(String.class); var newMessage = message.toUpperCase(); logger.info("Message Received from input: " + message); logger.info("Sending message to output: " + newMessage); return newMessage; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkerflowClient.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.childworkflow; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import java.util.concurrent.TimeoutException; public class DemoChildWorkerflowClient { /** * The main method to start the client. * * @param args Input arguments (unused). * @throws InterruptedException If program has been interrupted. */ public static void main(String[] args) { try (DaprWorkflowClient client = new DaprWorkflowClient(PropertyUtils.getProperties(args))) { String instanceId = client.scheduleNewWorkflow(DemoWorkflow.class); System.out.printf("Started a new child-workflow model workflow with instance ID: %s%n", instanceId); WorkflowState workflowState = client.waitForWorkflowCompletion(instanceId, null, true); String result = workflowState.readOutputAs(String.class); System.out.printf("workflow instance with ID: %s completed with result: %s%n", instanceId, result); } catch (TimeoutException | InterruptedException e) { throw new RuntimeException(e); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.childworkflow; import io.dapr.durabletask.interruption.OrchestratorBlockedException; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; import io.dapr.workflows.WorkflowTaskRetryPolicy; import java.time.Duration; public class DemoChildWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting ChildWorkflow: " + ctx.getName()); WorkflowTaskRetryPolicy policy = WorkflowTaskRetryPolicy.newBuilder() .setFirstRetryInterval(Duration.ofSeconds(1)) .setMaxNumberOfAttempts(10) .build(); WorkflowTaskOptions options = new WorkflowTaskOptions(policy); var childWorkflowInput = ctx.getInput(String.class); ctx.getLogger().info("ChildWorkflow received input: " + childWorkflowInput); ctx.getLogger().info("ChildWorkflow is calling Activity: " + ReverseActivity.class.getName()); String result = ctx.callActivity(ReverseActivity.class.getName(), childWorkflowInput, options, String.class).await(); ctx.getLogger().info("ChildWorkflow finished with: " + result); ctx.complete(result); }; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflowWorker.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.childworkflow; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class DemoChildWorkflowWorker { /** * The main method of this app. * * @param args The port the app will listen on. * @throws Exception An Exception. */ public static void main(String[] args) throws Exception { // Register the Workflow with the builder. WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(PropertyUtils.getProperties(args)) .registerWorkflow(DemoWorkflow.class) .registerWorkflow(DemoChildWorkflow.class); builder.registerActivity(ReverseActivity.class); // Build and then start the workflow runtime pulling and executing tasks WorkflowRuntime runtime = builder.build(); runtime.start(); System.out.println("Start workflow runtime"); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.childworkflow; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; public class DemoWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); var childWorkflowInput = "Hello Dapr Workflow!"; ctx.getLogger().info("calling childworkflow with input: " + childWorkflowInput); var childWorkflowOutput = ctx.callChildWorkflow(DemoChildWorkflow.class.getName(), childWorkflowInput, String.class).await(); ctx.getLogger().info("childworkflow finished with: " + childWorkflowOutput); ctx.complete(childWorkflowOutput); }; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/childworkflow/ReverseActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.childworkflow; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ReverseActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ReverseActivity.class); logger.info("Starting Activity: " + ctx.getName()); var message = ctx.getInput(String.class); var newMessage = new StringBuilder(message).reverse().toString(); logger.info("Message Received from input: " + message); logger.info("Sending message to output: " + newMessage); return newMessage; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookCarActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.compensation; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.TimeUnit; public class BookCarActivity implements WorkflowActivity { private static final Logger logger = LoggerFactory.getLogger(BookCarActivity.class); @Override public String run(WorkflowActivityContext ctx) { logger.info("Starting Activity: " + ctx.getName()); // Simulate work try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { throw new RuntimeException(e); } logger.info("Forcing Failure to trigger compensation for activity: " + ctx.getName()); // force the compensation throw new RuntimeException("Failed to book car"); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookFlightActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.compensation; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.TimeUnit; public class BookFlightActivity implements WorkflowActivity { private static final Logger logger = LoggerFactory.getLogger(BookFlightActivity.class); @Override public String run(WorkflowActivityContext ctx) { logger.info("Starting Activity: " + ctx.getName()); // Simulate work try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { throw new RuntimeException(e); } String result = "Flight booked successfully"; logger.info("Activity completed with result: " + result); return result; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookHotelActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.compensation; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class BookHotelActivity implements WorkflowActivity { private static final Logger logger = LoggerFactory.getLogger(BookHotelActivity.class); @Override public String run(WorkflowActivityContext ctx) { logger.info("Starting Activity: " + ctx.getName()); logger.info("Simulating hotel booking process..."); // Simulate some work try { Thread.sleep(2000); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } String result = "Hotel booked successfully"; logger.info("Activity completed with result: " + result); return result; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookTripClient.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.compensation; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.examples.workflows.utils.RetryUtils; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import java.time.Duration; import java.util.concurrent.TimeoutException; public class BookTripClient { public static void main(String[] args) { try (DaprWorkflowClient client = new DaprWorkflowClient(PropertyUtils.getProperties(args))) { String instanceId = RetryUtils.callWithRetry(() -> client.scheduleNewWorkflow(BookTripWorkflow.class), Duration.ofSeconds(60)); System.out.printf("Started a new trip booking workflow with instance ID: %s%n", instanceId); WorkflowState status = client.waitForWorkflowCompletion(instanceId, Duration.ofMinutes(30), true); System.out.printf("Workflow instance with ID: %s completed with status: %s%n", instanceId, status); System.out.printf("Workflow output: %s%n", status.getSerializedOutput()); } catch (TimeoutException | InterruptedException e) { throw new RuntimeException(e); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookTripWorker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.compensation; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class BookTripWorker { public static void main(String[] args) throws Exception { // Register the Workflow with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(PropertyUtils.getProperties(args)) .registerWorkflow(BookTripWorkflow.class) .registerActivity(BookFlightActivity.class) .registerActivity(CancelFlightActivity.class) .registerActivity(BookHotelActivity.class) .registerActivity(CancelHotelActivity.class) .registerActivity(BookCarActivity.class) .registerActivity(CancelCarActivity.class); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("Start workflow runtime"); runtime.start(); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookTripWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.compensation; import io.dapr.durabletask.TaskFailedException; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; import io.dapr.workflows.WorkflowTaskRetryPolicy; import java.util.List; import java.util.ArrayList; import java.util.Collections; import java.time.Duration; public class BookTripWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); List compensations = new ArrayList<>(); // Define retry policy for compensation activities WorkflowTaskRetryPolicy compensationRetryPolicy = WorkflowTaskRetryPolicy.newBuilder() .setFirstRetryInterval(Duration.ofSeconds(1)) .setMaxNumberOfAttempts(3) .build(); WorkflowTaskOptions compensationOptions = new WorkflowTaskOptions(compensationRetryPolicy); try { // Book flight String flightResult = ctx.callActivity(BookFlightActivity.class.getName(), null, String.class).await(); ctx.getLogger().info("Flight booking completed: {}", flightResult); compensations.add("CancelFlight"); // Book hotel String hotelResult = ctx.callActivity(BookHotelActivity.class.getName(), null, String.class).await(); ctx.getLogger().info("Hotel booking completed: {}", hotelResult); compensations.add("CancelHotel"); // Book car String carResult = ctx.callActivity(BookCarActivity.class.getName(), null, String.class).await(); ctx.getLogger().info("Car booking completed: {}", carResult); compensations.add("CancelCar"); String result = String.format("%s, %s, %s", flightResult, hotelResult, carResult); ctx.getLogger().info("Trip booked successfully: {}", result); ctx.complete(result); } catch (TaskFailedException e) { ctx.getLogger().info("******** executing compensation logic ********"); ctx.getLogger().error("Activity failed: {}", e.getMessage()); // Execute compensations in reverse order Collections.reverse(compensations); for (String compensation : compensations) { try { switch (compensation) { case "CancelCar": String carCancelResult = ctx.callActivity( CancelCarActivity.class.getName(), null, compensationOptions, String.class).await(); ctx.getLogger().info("Car cancellation completed: {}", carCancelResult); break; case "CancelHotel": String hotelCancelResult = ctx.callActivity( CancelHotelActivity.class.getName(), null, compensationOptions, String.class).await(); ctx.getLogger().info("Hotel cancellation completed: {}", hotelCancelResult); break; case "CancelFlight": String flightCancelResult = ctx.callActivity( CancelFlightActivity.class.getName(), null, compensationOptions, String.class).await(); ctx.getLogger().info("Flight cancellation completed: {}", flightCancelResult); break; } } catch (TaskFailedException ex) { // Only catch TaskFailedException for actual activity failures ctx.getLogger().error("Activity failed during compensation: {}", ex.getMessage()); } } ctx.complete("Workflow failed, compensation applied"); } }; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/CancelCarActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.compensation; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.TimeUnit; public class CancelCarActivity implements WorkflowActivity { private static final Logger logger = LoggerFactory.getLogger(CancelCarActivity.class); @Override public String run(WorkflowActivityContext ctx) { logger.info("Starting Activity: " + ctx.getName()); // Simulate work try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { throw new RuntimeException(e); } String result = "Car canceled successfully"; logger.info("Activity completed with result: " + result); return result; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/CancelFlightActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.compensation; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.TimeUnit; public class CancelFlightActivity implements WorkflowActivity { private static final Logger logger = LoggerFactory.getLogger(CancelFlightActivity.class); @Override public String run(WorkflowActivityContext ctx) { logger.info("Starting Activity: " + ctx.getName()); // Simulate work try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { throw new RuntimeException(e); } String result = "Flight canceled successfully"; logger.info("Activity completed with result: " + result); return result; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/CancelHotelActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.compensation; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.TimeUnit; public class CancelHotelActivity implements WorkflowActivity { private static final Logger logger = LoggerFactory.getLogger(CancelHotelActivity.class); @Override public String run(WorkflowActivityContext ctx) { logger.info("Starting Activity: " + ctx.getName()); // Simulate work try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { throw new RuntimeException(e); } String result = "Hotel canceled successfully"; logger.info("Activity completed with result: " + result); return result; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/continueasnew/CleanUpActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.continueasnew; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.TimeUnit; public class CleanUpActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(CleanUpActivity.class); logger.info("Starting Activity: " + ctx.getName()); logger.info("start clean up work, it may take few seconds to finish..."); //Sleeping for 5 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } return "clean up finish."; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/continueasnew/DemoContinueAsNewClient.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.continueasnew; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.workflows.client.DaprWorkflowClient; import java.util.concurrent.TimeoutException; public class DemoContinueAsNewClient { /** * The main method to start the client. * * @param args Input arguments (unused). * @throws InterruptedException If program has been interrupted. */ public static void main(String[] args) { try (DaprWorkflowClient client = new DaprWorkflowClient(PropertyUtils.getProperties(args))) { String instanceId = client.scheduleNewWorkflow(DemoContinueAsNewWorkflow.class); System.out.printf("Started a new continue-as-new model workflow with instance ID: %s%n", instanceId); client.waitForWorkflowCompletion(instanceId, null, true); System.out.printf("workflow instance with ID: %s completed.", instanceId); } catch (TimeoutException | InterruptedException e) { throw new RuntimeException(e); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/continueasnew/DemoContinueAsNewWorker.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.continueasnew; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; import java.util.concurrent.Executors; public class DemoContinueAsNewWorker { /** * The main method of this app. * * @param args The port the app will listen on. * @throws Exception An Exception. */ public static void main(String[] args) throws Exception { // Register the Workflow with the builder. WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(PropertyUtils.getProperties(args)). registerWorkflow(DemoContinueAsNewWorkflow.class) .withExecutorService(Executors.newFixedThreadPool(3)); builder.registerActivity(CleanUpActivity.class); // Build and then start the workflow runtime pulling and executing tasks WorkflowRuntime runtime = builder.build(); System.out.println("Start workflow runtime"); runtime.start(); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/continueasnew/DemoContinueAsNewWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.continueasnew; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import java.time.Duration; public class DemoContinueAsNewWorkflow implements Workflow { /* Compared with a CRON schedule, this periodic workflow example will never overlap. For example, a CRON schedule that executes a cleanup every hour will execute it at 1:00, 2:00, 3:00 etc. and could potentially run into overlap issues if the cleanup takes longer than an hour. In this example, however, if the cleanup takes 30 minutes, and we create a timer for 1 hour between cleanups, then it will be scheduled at 1:00, 2:30, 4:00, etc. and there is no chance of overlap. */ @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); ctx.getLogger().info("call CleanUpActivity to do the clean up"); ctx.callActivity(CleanUpActivity.class.getName()).await(); ctx.getLogger().info("CleanUpActivity finished"); ctx.getLogger().info("wait 10 seconds for next clean up"); ctx.createTimer(Duration.ofSeconds(10)).await(); // continue the workflow. ctx.continueAsNew(null); }; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/externalevent/ApproveActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.externalevent; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.TimeUnit; public class ApproveActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ApproveActivity.class); logger.info("Starting Activity: " + ctx.getName()); logger.info("Running approval activity..."); //Sleeping for 5 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } return null; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/externalevent/DemoExternalEventClient.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.externalevent; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.workflows.client.DaprWorkflowClient; import java.util.concurrent.TimeoutException; public class DemoExternalEventClient { /** * The main method to start the client. * * @param args Input arguments (unused). * @throws InterruptedException If program has been interrupted. */ public static void main(String[] args) { try (DaprWorkflowClient client = new DaprWorkflowClient(PropertyUtils.getProperties(args))) { String instanceId = client.scheduleNewWorkflow(DemoExternalEventWorkflow.class); System.out.printf("Started a new external-event workflow with instance ID: %s%n", instanceId); client.raiseEvent(instanceId, "Approval", true); //client.raiseEvent(instanceId, "Approval", false); client.waitForWorkflowCompletion(instanceId, null, true); System.out.printf("workflow instance with ID: %s completed.", instanceId); } catch (TimeoutException | InterruptedException e) { throw new RuntimeException(e); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/externalevent/DemoExternalEventWorker.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.externalevent; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class DemoExternalEventWorker { /** * The main method of this app. * * @param args The port the app will listen on. * @throws Exception An Exception. */ public static void main(String[] args) throws Exception { // Register the Workflow with the builder. WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(PropertyUtils.getProperties(args)).registerWorkflow(DemoExternalEventWorkflow.class); builder.registerActivity(ApproveActivity.class); builder.registerActivity(DenyActivity.class); // Build and then start the workflow runtime pulling and executing tasks WorkflowRuntime runtime = builder.build(); System.out.println("Start workflow runtime"); runtime.start(); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/externalevent/DemoExternalEventWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.externalevent; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; public class DemoExternalEventWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); ctx.getLogger().info("Waiting for approval..."); Boolean approved = ctx.waitForExternalEvent("Approval", boolean.class).await(); if (approved) { ctx.getLogger().info("approval granted - do the approved action"); ctx.callActivity(ApproveActivity.class.getName()).await(); ctx.getLogger().info("approval-activity finished"); } else { ctx.getLogger().info("approval denied - send a notification"); ctx.callActivity(DenyActivity.class.getName()).await(); ctx.getLogger().info("denied-activity finished"); } }; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/externalevent/DenyActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.externalevent; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.TimeUnit; public class DenyActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(DenyActivity.class); logger.info("Starting Activity: " + ctx.getName()); logger.info("Running denied activity..."); //Sleeping for 5 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } return null; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/faninout/CountWordsActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.faninout; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.StringTokenizer; public class CountWordsActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(CountWordsActivity.class); logger.info("Starting Activity: {}", ctx.getName()); String input = ctx.getInput(String.class); StringTokenizer tokenizer = new StringTokenizer(input); int result = tokenizer.countTokens(); logger.info("Activity returned: {}.", result); logger.info("Activity finished"); return result; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/faninout/DemoFanInOutClient.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.faninout; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.examples.workflows.utils.RetryUtils; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import java.time.Duration; import java.util.Arrays; import java.util.List; import java.util.concurrent.TimeoutException; public class DemoFanInOutClient { /** * The main method to start the client. * * @param args Input arguments (unused). * @throws InterruptedException If program has been interrupted. */ public static void main(String[] args) throws InterruptedException { try (DaprWorkflowClient client = new DaprWorkflowClient(PropertyUtils.getProperties(args))) { // The input is an arbitrary list of strings. List listOfStrings = Arrays.asList( "Hello, world!", "The quick brown fox jumps over the lazy dog.", "If a tree falls in the forest and there is no one there to hear it, does it make a sound?", "The greatest glory in living lies not in never falling, but in rising every time we fall.", "Always remember that you are absolutely unique. Just like everyone else."); // Schedule an orchestration which will reliably count the number of words in all the given sentences. String instanceId = RetryUtils.callWithRetry(() -> client.scheduleNewWorkflow( DemoFanInOutWorkflow.class, listOfStrings), Duration.ofSeconds(60)); System.out.printf("Started a new fan out/fan in model workflow with instance ID: %s%n", instanceId); // Block until the orchestration completes. Then print the final status, which includes the output. WorkflowState workflowState = client.waitForWorkflowCompletion( instanceId, Duration.ofSeconds(30), true); System.out.printf("workflow instance with ID: %s completed with result: %s%n", instanceId, workflowState.readOutputAs(int.class)); } catch (TimeoutException e) { throw new RuntimeException(e); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/faninout/DemoFanInOutWorker.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.faninout; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class DemoFanInOutWorker { /** * The main method of this app. * * @param args The port the app will listen on. * @throws Exception An Exception. */ public static void main(String[] args) throws Exception { // Register the Workflow with the builder. WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(PropertyUtils.getProperties(args)).registerWorkflow(DemoFanInOutWorkflow.class); builder.registerActivity(CountWordsActivity.class); // Build and then start the workflow runtime pulling and executing tasks WorkflowRuntime runtime = builder.build(); System.out.println("Start workflow runtime"); runtime.start(false); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/faninout/DemoFanInOutWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.faninout; import io.dapr.durabletask.Task; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import java.util.List; import java.util.stream.Collectors; public class DemoFanInOutWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); // The input is a list of objects that need to be operated on. // In this example, inputs are expected to be strings. List inputs = ctx.getInput(List.class); // Fan-out to multiple concurrent activity invocations, each of which does a word count. List> tasks = inputs.stream() .map(input -> ctx.callActivity(CountWordsActivity.class.getName(), input.toString(), Integer.class)) .collect(Collectors.toList()); // Fan-in to get the total word count from all the individual activity results. List allWordCountResults = ctx.allOf(tasks).await(); int totalWordCount = allWordCountResults.stream().mapToInt(Integer::intValue).sum(); ctx.getLogger().info("Workflow finished with result: " + totalWordCount); // Save the final result as the orchestration output. ctx.complete(totalWordCount); }; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/App2TransformActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.multiapp; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; /** * TransformActivity for App2 - transforms input to uppercase. * This activity is called cross-app from the main workflow. */ public class App2TransformActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext context) { String input = context.getInput(String.class); var logger = context.getLogger(); logger.info("=== App2: TransformActivity called ==="); logger.info("Input: {}", input); String result = input.toUpperCase() + " [TRANSFORMED BY APP2]"; logger.info("Output: {}", result); return result; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/App2Worker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.multiapp; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; /** * App2 Worker - registers only the TransformActivity. * This app will handle cross-app activity calls from the main workflow. */ public class App2Worker { public static void main(String[] args) throws Exception { System.out.println("=== Starting App2Worker ==="); // Register the Workflow with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder() .registerActivity(App2TransformActivity.class); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("App2 is ready to receive cross-app activity calls..."); runtime.start(); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/App3FinalizeActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.multiapp; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; /** * FinalizeActivity for App3 - adds final processing. * This activity is called cross-app from the main workflow. */ public class App3FinalizeActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext context) { String input = context.getInput(String.class); var logger = context.getLogger(); logger.info("=== App3: FinalizeActivity called ==="); logger.info("Input: {}", input); String result = input + " [FINALIZED BY APP3]"; logger.info("Output: {}", result); return result; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/App3Worker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.multiapp; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; /** * App3 Worker - registers only the FinalizeActivity. * This app will handle cross-app activity calls from the main workflow. */ public class App3Worker { public static void main(String[] args) throws Exception { System.out.println("=== Starting App3Worker ==="); // Register the Workflow with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder() .registerActivity(App3FinalizeActivity.class); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("App3 is ready to receive cross-app activity calls..."); runtime.start(); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/MultiAppWorker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.multiapp; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class MultiAppWorker { public static void main(String[] args) throws Exception { // Register the Workflow with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder() .registerWorkflow(MultiAppWorkflow.class); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("MultiAppWorker started - registered MultiAppWorkflow only"); runtime.start(); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/MultiAppWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.multiapp; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; /** * Example workflow that demonstrates cross-app activity calls. * This workflow calls activities in different apps using the appId parameter. */ public class MultiAppWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { var logger = ctx.getLogger(); logger.info("=== WORKFLOW STARTING ==="); logger.info("Starting MultiAppWorkflow: {}", ctx.getName()); logger.info("Workflow name: {}", ctx.getName()); logger.info("Workflow instance ID: {}", ctx.getInstanceId()); String input = ctx.getInput(String.class); logger.info("MultiAppWorkflow received input: {}", input); logger.info("Workflow input: {}", input); // Call an activity in another app by passing in an active appID to the WorkflowTaskOptions logger.info("Calling multi-app activity in 'app2'..."); logger.info("About to call multi-app activity in app2..."); String multiAppResult = ctx.callActivity( App2TransformActivity.class.getName(), input, new WorkflowTaskOptions("app2"), String.class ).await(); // Call another activity in a different app logger.info("Calling multi-app activity in 'app3'..."); logger.info("About to call multi-app activity in app3..."); String finalResult = ctx.callActivity( App3FinalizeActivity.class.getName(), multiAppResult, new WorkflowTaskOptions("app3"), String.class ).await(); logger.info("Final multi-app activity result: {}", finalResult); logger.info("MultiAppWorkflow finished with: {}", finalResult); logger.info("=== WORKFLOW COMPLETING WITH: {} ===", finalResult); ctx.complete(finalResult); }; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/MultiAppWorkflowClient.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.multiapp; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import java.util.concurrent.TimeoutException; /** * Cross-App Workflow Client - starts and monitors workflows. * * 1. Create a workflow client * 2. Start a new workflow instance * 3. Wait for completion and get results */ public class MultiAppWorkflowClient { public static void main(String[] args) { if (args.length < 1) { System.out.println("Usage: MultiAppWorkflowClientExample "); System.out.println("Example: MultiAppWorkflowClientExample \"Hello World\""); return; } String input = args[0]; System.out.println("=== Starting Multi-App Workflow Client ==="); System.out.println("Input: " + input); try (DaprWorkflowClient client = new DaprWorkflowClient()) { System.out.println("Created DaprWorkflowClient successfully"); // Start a new workflow instance System.out.println("Attempting to start new workflow..."); String instanceId = client.scheduleNewWorkflow(MultiAppWorkflow.class, input); System.out.printf("Started a new cross-app workflow with instance ID: %s%n", instanceId); // Wait for the workflow to complete System.out.println("Waiting for workflow completion..."); WorkflowState workflowInstanceStatus = client.waitForWorkflowCompletion(instanceId, null, true); // Get the result String result = workflowInstanceStatus.readOutputAs(String.class); System.out.printf("Workflow instance with ID: %s completed with result: %s%n", instanceId, result); } catch (TimeoutException | InterruptedException e) { System.err.println("Error waiting for workflow completion: " + e.getMessage()); e.printStackTrace(); } catch (Exception e) { System.err.println("Error creating workflow client or starting workflow: " + e.getMessage()); e.printStackTrace(); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/suspendresume/DemoSuspendResumeClient.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.suspendresume; import io.dapr.examples.workflows.externalevent.DemoExternalEventWorkflow; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.examples.workflows.utils.RetryUtils; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import java.time.Duration; import java.util.concurrent.TimeoutException; public class DemoSuspendResumeClient { /** * The main method to start the client. * * @param args Input arguments (unused). * @throws InterruptedException If program has been interrupted. */ public static void main(String[] args) { try (DaprWorkflowClient client = new DaprWorkflowClient(PropertyUtils.getProperties(args))) { String instanceId = RetryUtils.callWithRetry(() -> client.scheduleNewWorkflow(DemoExternalEventWorkflow.class), Duration.ofSeconds(60)); System.out.printf("Started a new external-event workflow with instance ID: %s%n", instanceId); System.out.printf("Suspending Workflow Instance: %s%n", instanceId ); client.suspendWorkflow(instanceId, "suspending workflow instance."); WorkflowState instanceState = client.getWorkflowState(instanceId, false); assert instanceState != null; System.out.printf("Workflow Instance Status: %s%n", instanceState.getRuntimeStatus().name() ); System.out.printf("Let's resume the Workflow Instance before sending the external event: %s%n", instanceId ); client.resumeWorkflow(instanceId, "resuming workflow instance."); instanceState = client.getWorkflowState(instanceId, false); assert instanceState != null; System.out.printf("Workflow Instance Status: %s%n", instanceState.getRuntimeStatus().name() ); System.out.printf("Now that the instance is RUNNING again, lets send the external event. %n"); client.raiseEvent(instanceId, "Approval", true); client.waitForWorkflowCompletion(instanceId, null, true); System.out.printf("workflow instance with ID: %s completed.", instanceId); } catch (TimeoutException | InterruptedException e) { throw new RuntimeException(e); } } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/suspendresume/DemoSuspendResumeWorker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.suspendresume; import io.dapr.examples.workflows.externalevent.ApproveActivity; import io.dapr.examples.workflows.externalevent.DemoExternalEventWorkflow; import io.dapr.examples.workflows.externalevent.DenyActivity; import io.dapr.examples.workflows.utils.PropertyUtils; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class DemoSuspendResumeWorker { /** * The main method of this app. * * @param args The port the app will listen on. * @throws Exception An Exception. */ public static void main(String[] args) throws Exception { // Register the Workflow with the builder. WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(PropertyUtils.getProperties(args)).registerWorkflow(DemoExternalEventWorkflow.class); builder.registerActivity(ApproveActivity.class); builder.registerActivity(DenyActivity.class); // Build and then start the workflow runtime pulling and executing tasks WorkflowRuntime runtime = builder.build(); System.out.println("Start workflow runtime"); runtime.start(); } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/utils/PropertyUtils.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.utils; import io.dapr.config.Properties; import java.util.HashMap; public class PropertyUtils { public static Properties getProperties(String[] args) { Properties properties = new Properties(); if (args != null && args.length > 0) { properties = new Properties(new HashMap<>() {{ put(Properties.GRPC_PORT, args[0]); }}); } return properties; } } ================================================ FILE: examples/src/main/java/io/dapr/examples/workflows/utils/RetryUtils.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.examples.workflows.utils; import java.time.Duration; import java.util.concurrent.Callable; public class RetryUtils { private static final long RETRY_WAIT_MILLISECONDS = 1000; public static String callWithRetry(Callable function, Duration retryTimeout) throws InterruptedException { var retryTimeoutMilliseconds = retryTimeout.toMillis(); long started = System.currentTimeMillis(); while (true) { Throwable exception; try { return function.call(); } catch (Exception | AssertionError e) { exception = e; } long elapsed = System.currentTimeMillis() - started; if (elapsed >= retryTimeoutMilliseconds) { if (exception instanceof RuntimeException) { throw (RuntimeException) exception; } throw new RuntimeException(exception); } long remaining = retryTimeoutMilliseconds - elapsed; Thread.sleep(Math.min(remaining, RETRY_WAIT_MILLISECONDS)); } } } ================================================ FILE: examples/src/main/resources/logback.xml ================================================ %d {HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n ================================================ FILE: mise.toml ================================================ [tools] java = "temurin-17" ================================================ FILE: mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Apache Maven Wrapper startup batch script, version 3.3.2 # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ]; then if [ -f /usr/local/etc/mavenrc ]; then . /usr/local/etc/mavenrc fi if [ -f /etc/mavenrc ]; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ]; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false darwin=false mingw=false case "$(uname)" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true ;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then JAVA_HOME="$(/usr/libexec/java_home)" export JAVA_HOME else JAVA_HOME="/Library/Java/Home" export JAVA_HOME fi fi ;; esac if [ -z "$JAVA_HOME" ]; then if [ -r /etc/gentoo-release ]; then JAVA_HOME=$(java-config --jre-home) fi fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin; then [ -n "$JAVA_HOME" ] \ && JAVA_HOME=$(cygpath --unix "$JAVA_HOME") [ -n "$CLASSPATH" ] \ && CLASSPATH=$(cygpath --path --unix "$CLASSPATH") fi # For Mingw, ensure paths are in UNIX format before anything is touched if $mingw; then [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] \ && JAVA_HOME="$( cd "$JAVA_HOME" || ( echo "cannot cd into $JAVA_HOME." >&2 exit 1 ) pwd )" fi if [ -z "$JAVA_HOME" ]; then javaExecutable="$(which javac)" if [ -n "$javaExecutable" ] && ! [ "$(expr "$javaExecutable" : '\([^ ]*\)')" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=$(which readlink) if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then if $darwin; then javaHome="$(dirname "$javaExecutable")" javaExecutable="$(cd "$javaHome" && pwd -P)/javac" else javaExecutable="$(readlink -f "$javaExecutable")" fi javaHome="$(dirname "$javaExecutable")" javaHome=$(expr "$javaHome" : '\(.*\)/bin') JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ]; then if [ -n "$JAVA_HOME" ]; then if [ -x "$JAVA_HOME/jre/sh/java" ]; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="$( \unset -f command 2>/dev/null \command -v java )" fi fi if [ ! -x "$JAVACMD" ]; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ]; then echo "Warning: JAVA_HOME environment variable is not set." >&2 fi # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ]; then echo "Path not specified to find_maven_basedir" >&2 return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ]; do if [ -d "$wdir"/.mvn ]; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=$( cd "$wdir/.." || exit 1 pwd ) fi # end of workaround done printf '%s' "$( cd "$basedir" || exit 1 pwd )" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then # Remove \r in case we run on Windows within Git Bash # and check out the repository with auto CRLF management # enabled. Otherwise, we may read lines that are delimited with # \r\n and produce $'-Xarg\r' rather than -Xarg due to word # splitting rules. tr -s '\r\n' ' ' <"$1" fi } log() { if [ "$MVNW_VERBOSE" = true ]; then printf '%s\n' "$1" fi } BASE_DIR=$(find_maven_basedir "$(dirname "$0")") if [ -z "$BASE_DIR" ]; then exit 1 fi MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} export MAVEN_PROJECTBASEDIR log "$MAVEN_PROJECTBASEDIR" ########################################################################################## # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central # This allows using the maven wrapper in projects that prohibit checking in binary data. ########################################################################################## wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" if [ -r "$wrapperJarPath" ]; then log "Found $wrapperJarPath" else log "Couldn't find $wrapperJarPath, downloading it ..." if [ -n "$MVNW_REPOURL" ]; then wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" else wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" fi while IFS="=" read -r key value; do # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) safeValue=$(echo "$value" | tr -d '\r') case "$key" in wrapperUrl) wrapperUrl="$safeValue" break ;; esac done <"$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" log "Downloading from: $wrapperUrl" if $cygwin; then wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") fi if command -v wget >/dev/null; then log "Found wget ... using wget" [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" else wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" fi elif command -v curl >/dev/null; then log "Found curl ... using curl" [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" else curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" fi else log "Falling back to using Java to download" javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" # For Cygwin, switch paths to Windows format before running javac if $cygwin; then javaSource=$(cygpath --path --windows "$javaSource") javaClass=$(cygpath --path --windows "$javaClass") fi if [ -e "$javaSource" ]; then if [ ! -e "$javaClass" ]; then log " - Compiling MavenWrapperDownloader.java ..." ("$JAVA_HOME/bin/javac" "$javaSource") fi if [ -e "$javaClass" ]; then log " - Running MavenWrapperDownloader.java ..." ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" fi fi fi fi ########################################################################################## # End of extension ########################################################################################## # If specified, validate the SHA-256 sum of the Maven wrapper jar file wrapperSha256Sum="" while IFS="=" read -r key value; do case "$key" in wrapperSha256Sum) wrapperSha256Sum=$value break ;; esac done <"$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" if [ -n "$wrapperSha256Sum" ]; then wrapperSha256Result=false if command -v sha256sum >/dev/null; then if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c >/dev/null 2>&1; then wrapperSha256Result=true fi elif command -v shasum >/dev/null; then if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c >/dev/null 2>&1; then wrapperSha256Result=true fi else echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." >&2 exit 1 fi if [ $wrapperSha256Result = false ]; then echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 exit 1 fi fi MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$JAVA_HOME" ] \ && JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") [ -n "$CLASSPATH" ] \ && CLASSPATH=$(cygpath --path --windows "$CLASSPATH") [ -n "$MAVEN_PROJECTBASEDIR" ] \ && MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") fi # Provide a "standardized" way to retrieve the CLI args that will # work with both Windows and non-Windows executions. MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" export MAVEN_CMD_LINE_ARGS WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain # shellcheck disable=SC2086 # safe args exec "$JAVACMD" \ $MAVEN_OPTS \ $MAVEN_DEBUG_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Apache Maven Wrapper startup batch script, version 3.3.2 @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM set title of command window title %0 @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. >&2 echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. >&2 goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. >&2 echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. >&2 goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B ) @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central @REM This allows using the maven wrapper in projects that prohibit checking in binary data. if exist %WRAPPER_JAR% ( if "%MVNW_VERBOSE%" == "true" ( echo Found %WRAPPER_JAR% ) ) else ( if not "%MVNW_REPOURL%" == "" ( SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" ) if "%MVNW_VERBOSE%" == "true" ( echo Couldn't find %WRAPPER_JAR%, downloading it ... echo Downloading from: %WRAPPER_URL% ) powershell -Command "&{"^ "$webclient = new-object System.Net.WebClient;"^ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ "}"^ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ "}" if "%MVNW_VERBOSE%" == "true" ( echo Finished downloading %WRAPPER_JAR% ) ) @REM End of extension @REM If specified, validate the SHA-256 sum of the Maven wrapper jar file SET WRAPPER_SHA_256_SUM="" FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B ) IF NOT %WRAPPER_SHA_256_SUM%=="" ( powershell -Command "&{"^ "Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash;"^ "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ " Write-Error 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ " Write-Error 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ " Write-Error 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ " exit 1;"^ "}"^ "}" if ERRORLEVEL 1 goto error ) @REM Provide a "standardized" way to retrieve the CLI args that will @REM work with both Windows and non-Windows executions. set MAVEN_CMD_LINE_ARGS=%* %MAVEN_JAVA_EXE% ^ %JVM_CONFIG_MAVEN_PROPS% ^ %MAVEN_OPTS% ^ %MAVEN_DEBUG_OPTS% ^ -classpath %WRAPPER_JAR% ^ "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%"=="on" pause if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% cmd /C exit /B %ERROR_CODE% ================================================ FILE: pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent pom 1.18.0-SNAPSHOT dapr-sdk-parent SDK for Dapr. https://dapr.io UTF-8 1.79.0 3.25.5 https://raw.githubusercontent.com/dapr/dapr/v1.17.0/dapr/proto https://raw.githubusercontent.com/dapr/durabletask-protobuf/main/protos 1.18.0-SNAPSHOT 1.7.1 3.8.1 3.1.0 3.1.3 3.3.1 3.13.0 3.3.1 3.7.0 0.6.1 1.6.0 0.8.11 80% 3.1.0 3.4.0 10.17.0 4.8.2.0 3.12.1 3.7.0 3.4.2 17 17 17 true 2.21.2 true true ${maven.multiModuleProjectDirectory}/spotbugs-exclude.xml --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED 3.5.3 3.2.2 5.11.4 2.0 1.21.4 3.5.12 1.7.0 3.27.7 1.41.0 3.9.1 2.1.1 1.3.2 3.18.0 1.9.0 2.14.0 1.7 3.4.0 0.3.1 2.9.0 0.15.0 1.19.0 2.1.1 4.2.0 5.7.0 1.7.0 3.5.12 2.2.2 2.0.9 3.11.2 2.1.0 2.1.0 5.5.1 4.1.132.Final 1.26.0 ossrh https://central.sonatype.com/repository/maven-snapshots/ localDocsDirectory file:${maven.multiModuleProjectDirectory}/docs/ io.netty netty-bom ${netty.version} pom import io.grpc grpc-bom ${grpc.version} pom import com.fasterxml.jackson jackson-bom ${jackson.version} pom import org.springframework.boot spring-boot-dependencies ${springboot.version} pom import org.junit junit-bom ${junit-bom.version} import pom org.testcontainers testcontainers-bom ${testcontainers.version} pom import com.google.protobuf protobuf-bom ${protobuf.version} pom import io.opentelemetry opentelemetry-bom ${opentelemetry.version} pom import org.apache.commons commons-compress ${commons-compress.version} commons-codec commons-codec 1.17.2 org.testcontainers testcontainers ${testcontainers.version} org.testcontainers junit-jupiter ${testcontainers.version} org.testcontainers kafka ${testcontainers.version} org.testcontainers postgresql ${testcontainers.version} org.testcontainers rabbitmq ${testcontainers.version} org.testcontainers toxiproxy ${testcontainers.version} test org.testcontainers mysql ${testcontainers.version} test org.slf4j slf4j-api ${slf4j.version} org.mockito mockito-core ${mockito.version} io.projectreactor reactor-test ${reactor.version} test org.jetbrains.kotlin kotlin-stdlib ${kotlin.version} org.yaml snakeyaml ${snakeyaml.version} io.dapr dapr-sdk ${dapr.sdk.version} io.rest-assured rest-assured ${rest-assured.version} io.dapr.spring dapr-spring-boot-starter ${dapr.sdk.version} io.dapr.spring dapr-spring-boot-4-starter ${dapr.sdk.version} io.dapr.spring dapr-spring-boot-starter-test ${dapr.sdk.version} io.dapr.spring dapr-spring-boot-4-starter-test ${dapr.sdk.version} io.dapr testcontainers-dapr ${dapr.sdk.version} jakarta.annotation jakarta.annotation-api ${jakarta.annotation.version} javax.annotation javax.annotation-api ${javax.annotation.version} org.apache.commons commons-lang3 ${commons-lang.version} commons-cli commons-cli ${commons-cli.version} commons-io commons-io ${commons-io.version} io.zipkin.reporter2 zipkin-reporter ${zipkin.version} io.zipkin.reporter2 zipkin-sender-urlconnection ${zipkin.version} io.dapr dapr-sdk-actors ${dapr.sdk.version} io.dapr dapr-sdk-springboot ${dapr.sdk.version} io.dapr dapr-sdk-workflows ${dapr.sdk.version} org.wiremock wiremock-standalone ${wiremock.version} commons-validator commons-validator ${commons-validator.version} com.jayway.jsonpath json-path ${json-path.version} com.evanlennick retry4j ${retry4j.version} com.github.stefanbirkner system-rules ${system-rules.version} uk.org.webcompere system-stubs-jupiter ${system-stubs.version} org.mockito mockito-inline ${mockito-inline.version} org.junit.platform junit-platform-console-standalone ${junit-platform-console.version} org.junit.jupiter junit-jupiter ${junit-bom.version} org.junit.jupiter junit-jupiter-api ${junit-bom.version} org.junit.jupiter junit-jupiter-engine ${junit-bom.version} org.junit.jupiter junit-jupiter-params ${junit-bom.version} io.projectreactor reactor-core ${reactor.version} com.redis testcontainers-redis ${testcontainers-redis.version} io.github.microcks microcks-testcontainers ${microcks.version} org.assertj assertj-core ${assertj.version} kr.motd.maven os-maven-plugin ${os-maven-plugin.version} org.springframework.boot spring-boot-maven-plugin ${springboot.version} org.apache.maven.plugins maven-source-plugin ${maven-sources-plugin.version} attach-sources jar-no-fork org.apache.maven.plugins maven-compiler-plugin ${maven-compiler-plugin.version} ${maven.compiler.source} ${maven.compiler.target} ${maven.compiler.release} org.apache.maven.plugins maven-surefire-plugin ${surefire.version} org.apache.maven.plugins maven-failsafe-plugin ${failsafe.version} integration-test verify ${skipITs} org.apache.maven.plugins maven-resources-plugin ${maven-resources-plugin.version} org.sonatype.plugins nexus-staging-maven-plugin ${nexus-staging-maven-plugin.version} true ossrh https://ossrh-staging-api.central.sonatype.com true org.jacoco jacoco-maven-plugin ${jacoco-maven-plugin.version} default-prepare-agent prepare-agent report test report target/jacoco-report/ check check io/dapr/durabletask/**/* io/dapr/springboot/examples/**/* io/dapr/springboot4/examples/**/* BUNDLE LINE COVEREDRATIO ${jacoco-maven-plugin.coverage-ratio} org.apache.maven.plugins maven-javadoc-plugin ${maven-javadoc-plugin.version} true attach-javadocs jar org.xolstice.maven.plugins protobuf-maven-plugin ${protobuf-maven-plugin.version} com.googlecode.maven-download-plugin download-maven-plugin ${download-maven-plugin.version} org.sonatype.plugins nexus-staging-maven-plugin false org.apache.maven.plugins maven-gpg-plugin ${maven-gpg-plugin.version} sign-artifacts verify sign --batch --pinentry-mode loopback org.apache.maven.plugins maven-checkstyle-plugin ${maven-checkstyle-plugin.version} checkstyle.xml .java_header true warning true true false ${project.build.sourceDirectory} validate validate check com.puppycrawl.tools checkstyle ${checkstyle.version} com.github.spotbugs spotbugs-maven-plugin ${spotbugs-maven-plugin.version} ${spotbugs.exclude.filter.file} ${spotbugs.fail} true validate validate check org.apache.maven.plugins maven-site-plugin ${maven-site-plugin.version} org.apache.maven.plugins maven-project-info-reports-plugin ${maven-project-info-reports-plugin.version} org.apache.maven.plugins maven-javadoc-plugin ${maven-javadoc-plugin.version} aggregate aggregate / false true site true io.dapr.examples:io.dapr.springboot:io.dapr.examples.*:io.dapr.springboot.* org.springframework.data spring-data-commons 3.4.9 org.springframework.data spring-data-keyvalue 3.4.9 Apache License Version 2.0 https://opensource.org/licenses/Apache-2.0 Dapr daprweb@microsoft.com Dapr https://dapr.io https://github.com/dapr/java-sdk scm:git:https://github.com/dapr/java-sdk.git HEAD sdk-bom sdk-autogen sdk sdk-actors sdk-workflows sdk-springboot dapr-spring examples testcontainers-dapr durabletask-client integration-tests sdk-tests spring-boot-examples durabletask-client org.apache.maven.plugins maven-surefire-plugin true integration-sb4-tests spring-boot-4-examples spring-boot-4-sdk-tests org.apache.maven.plugins maven-surefire-plugin true ================================================ FILE: sdk/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml dapr-sdk jar dapr-sdk SDK for Dapr false --add-opens java.base/java.util=ALL-UNNAMED org.slf4j slf4j-api io.dapr dapr-sdk-autogen ${project.version} com.fasterxml.jackson.core jackson-databind com.google.protobuf protobuf-java-util io.projectreactor reactor-core org.mockito mockito-core test com.fasterxml.jackson.dataformat jackson-dataformat-xml test commons-cli commons-cli test com.github.stefanbirkner system-rules test org.junit.jupiter junit-jupiter test org.junit.jupiter junit-jupiter-params test org.springframework.boot spring-boot-starter-web test org.springframework.boot spring-boot-autoconfigure test uk.org.webcompere system-stubs-jupiter test org.junit.jupiter junit-jupiter-migrationsupport test commons-validator commons-validator test io.projectreactor reactor-test test io.grpc grpc-testing test io.grpc grpc-inprocess test com.fasterxml.jackson.datatype jackson-datatype-jsr310 test org.assertj assertj-core test io.grpc grpc-netty src/main/resources true **/sdk_version.properties src/main/resources false **/sdk_version.properties org.sonatype.plugins nexus-staging-maven-plugin org.apache.maven.plugins maven-resources-plugin org.apache.maven.plugins maven-source-plugin org.apache.maven.plugins maven-javadoc-plugin org.jacoco jacoco-maven-plugin check check BUNDLE LINE COVEREDRATIO ${jacoco-maven-plugin.coverage-ratio} **/io/dapr/client/domain/**/*Builder.java ================================================ FILE: sdk/spotbugs-exclude.xml ================================================ ================================================ FILE: sdk/src/main/java/io/dapr/Rule.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Documented @Target(ElementType.ANNOTATION_TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Rule { /** * The Common Expression Language (CEL) expression to use * to match the incoming cloud event. * Examples. * @return the CEL expression. */ String match(); /** * Priority of the rule used for ordering. Lowest numbers have higher priority. * @return the rule's priority. */ int priority(); } ================================================ FILE: sdk/src/main/java/io/dapr/Topic.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface Topic { /** * Name of topic to be subscribed to. * @return Topic's name. */ String name(); /** * Name of the pubsub bus to be subscribed to. * @return pubsub bus's name. */ String pubsubName(); /** * The rules used to match the incoming cloud event. * @return the CEL expression. */ Rule rule() default @Rule(match = "", priority = 0); /** * Metadata in the form of a json object. * { * "mykey": "myvalue" * } * @return metadata object */ String metadata() default "{}"; /** * Name of dead letter topic to forward undeliverable messages. * @return dead letter topic's name. */ String deadLetterTopic() default ""; } ================================================ FILE: sdk/src/main/java/io/dapr/client/AbstractDaprClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.domain.BulkPublishEntry; import io.dapr.client.domain.BulkPublishRequest; import io.dapr.client.domain.BulkPublishResponse; import io.dapr.client.domain.ConfigurationItem; import io.dapr.client.domain.DeleteStateRequest; import io.dapr.client.domain.ExecuteStateTransactionRequest; import io.dapr.client.domain.GetBulkSecretRequest; import io.dapr.client.domain.GetBulkStateRequest; import io.dapr.client.domain.GetConfigurationRequest; import io.dapr.client.domain.GetSecretRequest; import io.dapr.client.domain.GetStateRequest; import io.dapr.client.domain.HttpExtension; import io.dapr.client.domain.InvokeBindingRequest; import io.dapr.client.domain.InvokeMethodRequest; import io.dapr.client.domain.LockRequest; import io.dapr.client.domain.PublishEventRequest; import io.dapr.client.domain.QueryStateRequest; import io.dapr.client.domain.QueryStateResponse; import io.dapr.client.domain.SaveStateRequest; import io.dapr.client.domain.State; import io.dapr.client.domain.StateOptions; import io.dapr.client.domain.SubscribeConfigurationRequest; import io.dapr.client.domain.SubscribeConfigurationResponse; import io.dapr.client.domain.TransactionalStateOperation; import io.dapr.client.domain.UnlockRequest; import io.dapr.client.domain.UnlockResponseStatus; import io.dapr.client.domain.UnsubscribeConfigurationRequest; import io.dapr.client.domain.UnsubscribeConfigurationResponse; import io.dapr.client.domain.query.Query; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.utils.TypeRef; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * Abstract class with convenient methods common between client implementations. * * @see io.dapr.client.DaprClient * @see DaprClientImpl * @see io.dapr.client.DaprClientHttp */ abstract class AbstractDaprClient implements DaprClient, DaprPreviewClient { /** * A mapper to serialize JSON request objects. */ protected static final ObjectMapper JSON_REQUEST_MAPPER = new ObjectMapper(); /** * A utility class for serialize and deserialize the transient objects. */ protected DaprObjectSerializer objectSerializer; /** * A utility class for serialize and deserialize state objects. */ protected DaprObjectSerializer stateSerializer; /** * Common constructor for implementations of this class. * * @param objectSerializer Serializer for transient request/response objects. * @param stateSerializer Serializer for state objects. * @see DaprClientBuilder */ AbstractDaprClient( DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer) { this.objectSerializer = objectSerializer; this.stateSerializer = stateSerializer; } /** * {@inheritDoc} */ @Override public Mono publishEvent(String pubsubName, String topicName, Object data) { return this.publishEvent(pubsubName, topicName, data, null); } /** * {@inheritDoc} */ @Override public Mono publishEvent(String pubsubName, String topicName, Object data, Map metadata) { PublishEventRequest req = new PublishEventRequest(pubsubName, topicName, data) .setMetadata(metadata); return this.publishEvent(req).then(); } /** * {@inheritDoc} */ @Override @Deprecated public Mono invokeMethod( String appId, String methodName, Object data, HttpExtension httpExtension, Map metadata, TypeRef type) { InvokeMethodRequest req = new InvokeMethodRequest(appId, methodName) .setBody(data) .setHttpExtension(httpExtension) .setContentType(objectSerializer.getContentType()) .setMetadata(metadata); return this.invokeMethod(req, type); } /** * {@inheritDoc} */ @Override @Deprecated public Mono invokeMethod( String appId, String methodName, Object request, HttpExtension httpExtension, Map metadata, Class clazz) { return this.invokeMethod(appId, methodName, request, httpExtension, metadata, TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override @Deprecated public Mono invokeMethod( String appId, String methodName, HttpExtension httpExtension, Map metadata, TypeRef type) { return this.invokeMethod(appId, methodName, null, httpExtension, metadata, type); } /** * {@inheritDoc} */ @Override @Deprecated public Mono invokeMethod( String appId, String methodName, HttpExtension httpExtension, Map metadata, Class clazz) { return this.invokeMethod(appId, methodName, null, httpExtension, metadata, TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override @Deprecated public Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, TypeRef type) { return this.invokeMethod(appId, methodName, request, httpExtension, null, type); } /** * {@inheritDoc} */ @Override @Deprecated public Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Class clazz) { return this.invokeMethod(appId, methodName, request, httpExtension, null, TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override @Deprecated public Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension) { return this.invokeMethod(appId, methodName, request, httpExtension, null, TypeRef.BYTE_ARRAY).then(); } /** * {@inheritDoc} */ @Override @Deprecated public Mono invokeMethod( String appId, String methodName, Object request, HttpExtension httpExtension, Map metadata) { return this.invokeMethod(appId, methodName, request, httpExtension, metadata, TypeRef.BYTE_ARRAY).then(); } /** * {@inheritDoc} */ @Override @Deprecated public Mono invokeMethod( String appId, String methodName, HttpExtension httpExtension, Map metadata) { return this.invokeMethod(appId, methodName, null, httpExtension, metadata, TypeRef.BYTE_ARRAY).then(); } /** * {@inheritDoc} */ @Override @Deprecated public Mono invokeMethod( String appId, String methodName, byte[] request, HttpExtension httpExtension, Map metadata) { return this.invokeMethod(appId, methodName, request, httpExtension, metadata, TypeRef.BYTE_ARRAY); } /** * {@inheritDoc} */ @Override public Mono invokeBinding(String bindingName, String operation, Object data) { return this.invokeBinding(bindingName, operation, data, null, TypeRef.BYTE_ARRAY).then(); } /** * {@inheritDoc} */ @Override public Mono invokeBinding(String bindingName, String operation, byte[] data, Map metadata) { return this.invokeBinding(bindingName, operation, data, metadata, TypeRef.BYTE_ARRAY); } /** * {@inheritDoc} */ @Override public Mono invokeBinding(String bindingName, String operation, Object data, TypeRef type) { return this.invokeBinding(bindingName, operation, data, null, type); } /** * {@inheritDoc} */ @Override public Mono invokeBinding(String bindingName, String operation, Object data, Class clazz) { return this.invokeBinding(bindingName, operation, data, null, TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override public Mono invokeBinding( String bindingName, String operation, Object data, Map metadata, TypeRef type) { InvokeBindingRequest request = new InvokeBindingRequest(bindingName, operation) .setData(data) .setMetadata(metadata); return this.invokeBinding(request, type); } /** * {@inheritDoc} */ @Override public Mono invokeBinding( String bindingName, String operation, Object data, Map metadata, Class clazz) { return this.invokeBinding(bindingName, operation, data, metadata, TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override public Mono invokeBinding(InvokeBindingRequest request) { return this.invokeBinding(request, TypeRef.VOID); } /** * {@inheritDoc} */ @Override public Mono> getState(String storeName, State state, TypeRef type) { return this.getState(storeName, state.getKey(), state.getOptions(), type); } /** * {@inheritDoc} */ @Override public Mono> getState(String storeName, State state, Class clazz) { return this.getState(storeName, state.getKey(), state.getOptions(), TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override public Mono> getState(String storeName, String key, TypeRef type) { return this.getState(storeName, key, null, type); } /** * {@inheritDoc} */ @Override public Mono> getState(String storeName, String key, Class clazz) { return this.getState(storeName, key, null, TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override public Mono> getState( String storeName, String key, StateOptions options, TypeRef type) { GetStateRequest request = new GetStateRequest(storeName, key) .setStateOptions(options); return this.getState(request, type); } /** * {@inheritDoc} */ @Override public Mono> getState( String storeName, String key, StateOptions options, Class clazz) { return this.getState(storeName, key, options, TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override public Mono> queryState(String storeName, String query, Map metadata, Class clazz) { return this.queryState(new QueryStateRequest(storeName).setQueryString(query).setMetadata(metadata), clazz); } /** * {@inheritDoc} */ @Override public Mono> queryState(String storeName, String query, Map metadata, TypeRef type) { return this.queryState(new QueryStateRequest(storeName).setQueryString(query).setMetadata(metadata), type); } /** * {@inheritDoc} */ @Override public Mono> queryState(String storeName, String query, Class clazz) { return this.queryState(new QueryStateRequest(storeName).setQueryString(query), clazz); } /** * {@inheritDoc} */ @Override public Mono> queryState(String storeName, String query, TypeRef type) { return this.queryState(new QueryStateRequest(storeName).setQueryString(query), type); } /** * {@inheritDoc} */ @Override public Mono> queryState(String storeName, Query query, Map metadata, Class clazz) { return this.queryState(new QueryStateRequest(storeName).setQuery(query).setMetadata(metadata), clazz); } /** * {@inheritDoc} */ @Override public Mono> queryState(String storeName, Query query, Map metadata, TypeRef type) { return this.queryState(new QueryStateRequest(storeName).setQuery(query).setMetadata(metadata), type); } /** * {@inheritDoc} */ @Override public Mono> queryState(String storeName, Query query, Class clazz) { return this.queryState(new QueryStateRequest(storeName).setQuery(query), clazz); } /** * {@inheritDoc} */ @Override public Mono> queryState(String storeName, Query query, TypeRef type) { return this.queryState(new QueryStateRequest(storeName).setQuery(query), type); } /** * {@inheritDoc} */ @Override public Mono> queryState(QueryStateRequest request, Class clazz) { return this.queryState(request, TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override public Mono> publishEvents(String pubsubName, String topicName, String contentType, List events) { return publishEvents(pubsubName, topicName, contentType, null, events); } /** * {@inheritDoc} */ @Override public Mono> publishEvents(String pubsubName, String topicName, String contentType, T... events) { return publishEvents(pubsubName, topicName, contentType, null, events); } /** * {@inheritDoc} */ @Override public Mono> publishEvents(String pubsubName, String topicName, String contentType, Map requestMetadata, T... events) { return publishEvents(pubsubName, topicName, contentType, requestMetadata, Arrays.asList(events)); } /** * {@inheritDoc} */ @Override public Mono> publishEvents(String pubsubName, String topicName, String contentType, Map requestMetadata, List events) { if (events == null || events.size() == 0) { throw new IllegalArgumentException("list of events cannot be null or empty"); } List> entries = new ArrayList<>(); for (int i = 0; i < events.size(); i++) { // entryID field is generated based on order of events in the request entries.add(new BulkPublishEntry<>("" + i, events.get(i), contentType, null)); } return publishEvents(new BulkPublishRequest<>(pubsubName, topicName, entries, requestMetadata)); } /** * {@inheritDoc} */ @Override public Mono>> getBulkState(String storeName, List keys, TypeRef type) { return this.getBulkState(new GetBulkStateRequest(storeName, keys), type); } /** * {@inheritDoc} */ @Override public Mono>> getBulkState(String storeName, List keys, Class clazz) { return this.getBulkState(storeName, keys, TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override public Mono executeStateTransaction(String storeName, List> operations) { ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(storeName) .setOperations(operations); return executeStateTransaction(request).then(); } /** * {@inheritDoc} */ @Override public Mono saveBulkState(String storeName, List> states) { SaveStateRequest request = new SaveStateRequest(storeName) .setStates(states); return this.saveBulkState(request).then(); } /** * {@inheritDoc} */ @Override public Mono saveState(String storeName, String key, Object value) { return this.saveState(storeName, key, null, value, null); } /** * {@inheritDoc} */ @Override public Mono saveState(String storeName, String key, String etag, Object value, StateOptions options) { Map meta = null; if (value != null) { meta = Collections.singletonMap("contentType", stateSerializer.getContentType()); } State state = new State<>(key, value, etag, meta, options); return this.saveBulkState(storeName, Collections.singletonList(state)); } /** * {@inheritDoc} */ @Override public Mono saveState(String storeName, String key, String etag, Object value, Map meta, StateOptions options) { Map metaCopy = null; if (meta == null) { metaCopy = new HashMap<>(); } else { metaCopy = new HashMap<>(meta); } if (value != null) { metaCopy.putIfAbsent("contentType", stateSerializer.getContentType()); } State state = new State<>(key, value, etag, metaCopy, options); return this.saveBulkState(storeName, Collections.singletonList(state)); } /** * {@inheritDoc} */ @Override public Mono deleteState(String storeName, String key) { return this.deleteState(storeName, key, null, null); } /** * {@inheritDoc} */ @Override public Mono deleteState(String storeName, String key, String etag, StateOptions options) { DeleteStateRequest request = new DeleteStateRequest(storeName, key) .setEtag(etag) .setStateOptions(options); return deleteState(request).then(); } /** * {@inheritDoc} */ @Override public Mono> getSecret(String storeName, String key, Map metadata) { GetSecretRequest request = new GetSecretRequest(storeName, key) .setMetadata(metadata); return getSecret(request).defaultIfEmpty(Collections.emptyMap()); } /** * {@inheritDoc} */ @Override public Mono> getSecret(String storeName, String secretName) { return this.getSecret(storeName, secretName, null); } /** * {@inheritDoc} */ @Override public Mono>> getBulkSecret(String storeName) { return this.getBulkSecret(storeName, null); } /** * {@inheritDoc} */ @Override public Mono>> getBulkSecret(String storeName, Map metadata) { GetBulkSecretRequest request = new GetBulkSecretRequest(storeName) .setMetadata(metadata); return this.getBulkSecret(request).defaultIfEmpty(Collections.emptyMap()); } /** * {@inheritDoc} */ @Override public Mono getConfiguration(String storeName, String key) { GetConfigurationRequest request = new GetConfigurationRequest(storeName, filterEmptyKeys(key)); return this.getConfiguration(request).map(data -> data.get(key)); } /** * {@inheritDoc} */ @Override public Mono getConfiguration(String storeName, String key, Map metadata) { GetConfigurationRequest request = new GetConfigurationRequest(storeName, filterEmptyKeys(key)); request.setMetadata(metadata); return this.getConfiguration(request).map(data -> data.get(key)); } /** * {@inheritDoc} */ @Override public Mono> getConfiguration(String storeName, String... keys) { List listOfKeys = filterEmptyKeys(keys); GetConfigurationRequest request = new GetConfigurationRequest(storeName, listOfKeys); return this.getConfiguration(request); } /** * {@inheritDoc} */ @Override public Mono> getConfiguration( String storeName, List keys, Map metadata) { GetConfigurationRequest request = new GetConfigurationRequest(storeName, keys); request.setMetadata(metadata); return this.getConfiguration(request); } /** * {@inheritDoc} */ public Flux subscribeConfiguration(String storeName, String... keys) { List listOfKeys = filterEmptyKeys(keys); SubscribeConfigurationRequest request = new SubscribeConfigurationRequest(storeName, listOfKeys); return this.subscribeConfiguration(request); } /** * {@inheritDoc} */ public Flux subscribeConfiguration( String storeName, List keys, Map metadata) { SubscribeConfigurationRequest request = new SubscribeConfigurationRequest(storeName, keys); request.setMetadata(metadata); return this.subscribeConfiguration(request); } /** * {@inheritDoc} */ public Mono unsubscribeConfiguration( String id, String storeName) { UnsubscribeConfigurationRequest request = new UnsubscribeConfigurationRequest(id, storeName); return this.unsubscribeConfiguration(request); } /** * {@inheritDoc} */ @Override public Mono tryLock(String storeName, String resourceId, String lockOwner, Integer expiryInSeconds) { LockRequest lockRequest = new LockRequest(storeName, resourceId, lockOwner, expiryInSeconds); return this.tryLock(lockRequest); } /** * {@inheritDoc} */ @Override public Mono unlock(String storeName, String resourceId, String lockOwner) { UnlockRequest request = new UnlockRequest(storeName, resourceId, lockOwner); return this.unlock(request); } private List filterEmptyKeys(String... keys) { return Arrays.stream(keys) .filter(key -> !key.trim().isEmpty()) .collect(Collectors.toList()); } } ================================================ FILE: sdk/src/main/java/io/dapr/client/DaprClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.client.domain.BulkPublishEntry; import io.dapr.client.domain.BulkPublishRequest; import io.dapr.client.domain.BulkPublishResponse; import io.dapr.client.domain.BulkPublishResponseFailedEntry; import io.dapr.client.domain.ConfigurationItem; import io.dapr.client.domain.DaprMetadata; import io.dapr.client.domain.DeleteJobRequest; import io.dapr.client.domain.DeleteStateRequest; import io.dapr.client.domain.ExecuteStateTransactionRequest; import io.dapr.client.domain.GetBulkSecretRequest; import io.dapr.client.domain.GetBulkStateRequest; import io.dapr.client.domain.GetConfigurationRequest; import io.dapr.client.domain.GetJobRequest; import io.dapr.client.domain.GetJobResponse; import io.dapr.client.domain.GetSecretRequest; import io.dapr.client.domain.GetStateRequest; import io.dapr.client.domain.HttpExtension; import io.dapr.client.domain.InvokeBindingRequest; import io.dapr.client.domain.InvokeMethodRequest; import io.dapr.client.domain.PublishEventRequest; import io.dapr.client.domain.SaveStateRequest; import io.dapr.client.domain.ScheduleJobRequest; import io.dapr.client.domain.State; import io.dapr.client.domain.StateOptions; import io.dapr.client.domain.SubscribeConfigurationRequest; import io.dapr.client.domain.SubscribeConfigurationResponse; import io.dapr.client.domain.TransactionalStateOperation; import io.dapr.client.domain.UnsubscribeConfigurationRequest; import io.dapr.client.domain.UnsubscribeConfigurationResponse; import io.dapr.utils.TypeRef; import io.grpc.Channel; import io.grpc.stub.AbstractStub; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import java.util.List; import java.util.Map; import java.util.function.Function; /** * Generic Client Adapter to be used regardless of the GRPC or the HTTP Client implementation required. * * @see io.dapr.client.DaprClientBuilder for information on how to make instance for this interface. */ public interface DaprClient extends AutoCloseable { /** * Waits for the sidecar, giving up after timeout. * @param timeoutInMilliseconds Timeout in milliseconds to wait for sidecar. * @return a Mono plan of type Void. */ Mono waitForSidecar(int timeoutInMilliseconds); /** * Publish an event. * * @param pubsubName the pubsub name we will publish the event to * @param topicName the topicName where the event will be published. * @param data the event's data to be published, use byte[] for skipping serialization. * @return a Mono plan of type Void. */ Mono publishEvent(String pubsubName, String topicName, Object data); /** * Publish an event. * * @param pubsubName the pubsub name we will publish the event to * @param topicName the topicName where the event will be published. * @param data the event's data to be published, use byte[] for skipping serialization. * @param metadata The metadata for the published event. * @return a Mono plan of type Void. */ Mono publishEvent(String pubsubName, String topicName, Object data, Map metadata); /** * Publish an event. * * @param request the request for the publish event. * @return a Mono plan of a Dapr's void response. */ Mono publishEvent(PublishEventRequest request); /** * Publish multiple events to Dapr in a single request. * * @param request {@link BulkPublishRequest} object. * @return A Mono of {@link BulkPublishResponse} object. * @param The type of events to publish in the call. */ Mono> publishEvents(BulkPublishRequest request); /** * Publish multiple events to Dapr in a single request. * * @param pubsubName the pubsub name we will publish the event to. * @param topicName the topicName where the event will be published. * @param events the {@link List} of events to be published. * @param contentType the content type of the event. Use Mime based types. * @return the {@link BulkPublishResponse} containing publish status of each event. * The "entryID" field in {@link BulkPublishEntry} in {@link BulkPublishResponseFailedEntry} will be * generated based on the order of events in the {@link List}. * @param The type of the events to publish in the call. */ Mono> publishEvents(String pubsubName, String topicName, String contentType, List events); /** * Publish multiple events to Dapr in a single request. * * @param pubsubName the pubsub name we will publish the event to. * @param topicName the topicName where the event will be published. * @param events the varargs of events to be published. * @param contentType the content type of the event. Use Mime based types. * @return the {@link BulkPublishResponse} containing publish status of each event. * The "entryID" field in {@link BulkPublishEntry} in {@link BulkPublishResponseFailedEntry} will be * generated based on the order of events in the {@link List}. * @param The type of the events to publish in the call. */ Mono> publishEvents(String pubsubName, String topicName, String contentType, T... events); /** * Publish multiple events to Dapr in a single request. * * @param pubsubName the pubsub name we will publish the event to. * @param topicName the topicName where the event will be published. * @param events the {@link List} of events to be published. * @param contentType the content type of the event. Use Mime based types. * @param requestMetadata the metadata to be set at the request level for the {@link BulkPublishRequest}. * @return the {@link BulkPublishResponse} containing publish status of each event. * The "entryID" field in {@link BulkPublishEntry} in {@link BulkPublishResponseFailedEntry} will be * generated based on the order of events in the {@link List}. * @param The type of the events to publish in the call. */ Mono> publishEvents(String pubsubName, String topicName, String contentType, Map requestMetadata, List events); /** * Publish multiple events to Dapr in a single request. * * @param pubsubName the pubsub name we will publish the event to. * @param topicName the topicName where the event will be published. * @param events the varargs of events to be published. * @param contentType the content type of the event. Use Mime based types. * @param requestMetadata the metadata to be set at the request level for the {@link BulkPublishRequest}. * @return the {@link BulkPublishResponse} containing publish status of each event. * The "entryID" field in {@link BulkPublishEntry} in {@link BulkPublishResponseFailedEntry} will be * generated based on the order of events in the {@link List}. * @param The type of the events to publish in the call. */ Mono> publishEvents(String pubsubName, String topicName, String contentType, Map requestMetadata, T... events); /** * Invoke a service method, using serialization. * * @param appId The Application ID where the service is. * @param methodName The actual Method to be call in the application. * @param data The data to be sent to invoke the service, use byte[] to skip serialization. * @param httpExtension Additional fields that are needed if the receiving app is listening on * HTTP, {@link io.dapr.client.domain.HttpExtension#NONE} otherwise. * @param metadata Metadata (in GRPC) or headers (in HTTP) to be sent in data. * @param type The Type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono Plan of type T. * * @deprecated It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead. */ @Deprecated Mono invokeMethod(String appId, String methodName, Object data, HttpExtension httpExtension, Map metadata, TypeRef type); /** * Invoke a service method, using serialization. * * @param appId The Application ID where the service is. * @param methodName The actual Method to be call in the application. * @param request The request to be sent to invoke the service, use byte[] to skip serialization. * @param httpExtension Additional fields that are needed if the receiving app is listening on * HTTP, {@link HttpExtension#NONE} otherwise. * @param metadata Metadata (in GRPC) or headers (in HTTP) to be sent in request. * @param clazz The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono Plan of type T. * * @deprecated It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead. */ @Deprecated Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Map metadata, Class clazz); /** * Invoke a service method, using serialization. * * @param appId The Application ID where the service is. * @param methodName The actual Method to be call in the application. * @param request The request to be sent to invoke the service, use byte[] to skip serialization. * @param httpExtension Additional fields that are needed if the receiving app is listening on * HTTP, {@link HttpExtension#NONE} otherwise. * @param type The Type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono Plan of type T. * * @deprecated It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead. */ @Deprecated Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, TypeRef type); /** * Invoke a service method, using serialization. * * @param appId The Application ID where the service is. * @param methodName The actual Method to be call in the application. * @param request The request to be sent to invoke the service, use byte[] to skip serialization. * @param httpExtension Additional fields that are needed if the receiving app is listening on * HTTP, {@link HttpExtension#NONE} otherwise. * @param clazz The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono Plan of type T. * * @deprecated It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead. */ @Deprecated Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Class clazz); /** * Invoke a service method, using serialization. * * @param appId The Application ID where the service is. * @param methodName The actual Method to be call in the application. * @param httpExtension Additional fields that are needed if the receiving app is listening on * HTTP, {@link HttpExtension#NONE} otherwise. * @param metadata Metadata (in GRPC) or headers (in HTTP) to be sent in request. * @param type The Type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono Plan of type T. * * @deprecated It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead. */ @Deprecated Mono invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map metadata, TypeRef type); /** * Invoke a service method, using serialization. * * @param appId The Application ID where the service is. * @param methodName The actual Method to be call in the application. * @param httpExtension Additional fields that are needed if the receiving app is listening on * HTTP, {@link HttpExtension#NONE} otherwise. * @param metadata Metadata (in GRPC) or headers (in HTTP) to be sent in request. * @param clazz The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono Plan of type T. * * @deprecated It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead. */ @Deprecated Mono invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map metadata, Class clazz); /** * Invoke a service method, using serialization. * * @param appId The Application ID where the service is. * @param methodName The actual Method to be call in the application. * @param request The request to be sent to invoke the service, use byte[] to skip serialization. * @param httpExtension Additional fields that are needed if the receiving app is listening on * HTTP, {@link HttpExtension#NONE} otherwise. * @param metadata Metadata (in GRPC) or headers (in HTTP) to be sent in request. * @return A Mono Plan of type Void. * * @deprecated It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead. */ @Deprecated Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension, Map metadata); /** * Invoke a service method, using serialization. * * @param appId The Application ID where the service is. * @param methodName The actual Method to be call in the application. * @param request The request to be sent to invoke the service, use byte[] to skip serialization. * @param httpExtension Additional fields that are needed if the receiving app is listening on * HTTP, {@link HttpExtension#NONE} otherwise. * @return A Mono Plan of type Void. * * @deprecated It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead. */ @Deprecated Mono invokeMethod(String appId, String methodName, Object request, HttpExtension httpExtension); /** * Invoke a service method, using serialization. * * @param appId The Application ID where the service is. * @param methodName The actual Method to be call in the application. * @param httpExtension Additional fields that are needed if the receiving app is listening on * HTTP, {@link HttpExtension#NONE} otherwise. * @param metadata Metadata (in GRPC) or headers (in HTTP) to be sent in request. * @return A Mono Plan of type Void. * * @deprecated It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead. */ @Deprecated Mono invokeMethod(String appId, String methodName, HttpExtension httpExtension, Map metadata); /** * Invoke a service method, without using serialization. * * @param appId The Application ID where the service is. * @param methodName The actual Method to be call in the application. * @param request The request to be sent to invoke the service, use byte[] to skip serialization. * @param httpExtension Additional fields that are needed if the receiving app is listening on * HTTP, {@link HttpExtension#NONE} otherwise. * @param metadata Metadata (in GRPC) or headers (in HTTP) to be sent in request. * @return A Mono Plan of type byte[]. * * @deprecated It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead. */ @Deprecated Mono invokeMethod(String appId, String methodName, byte[] request, HttpExtension httpExtension, Map metadata); /** * Invoke a service method. * * @param invokeMethodRequest Request object. * @param type The Type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono Plan of type T. * * @deprecated It is recommended to use language-native HTTP clients or gRPC clients for service invocation instead. */ @Deprecated Mono invokeMethod(InvokeMethodRequest invokeMethodRequest, TypeRef type); /** * Invokes a Binding operation. * * @param bindingName The bindingName of the binding to call. * @param operation The operation to be performed by the binding request processor. * @param data The data to be processed, use byte[] to skip serialization. * @return an empty Mono. */ Mono invokeBinding(String bindingName, String operation, Object data); /** * Invokes a Binding operation, skipping serialization. * * @param bindingName The name of the binding to call. * @param operation The operation to be performed by the binding request processor. * @param data The data to be processed, skipping serialization. * @param metadata The metadata map. * @return a Mono plan of type byte[]. */ Mono invokeBinding(String bindingName, String operation, byte[] data, Map metadata); /** * Invokes a Binding operation. * * @param bindingName The name of the binding to call. * @param operation The operation to be performed by the binding request processor. * @param data The data to be processed, use byte[] to skip serialization. * @param type The type being returned. * @param The type of the return * @return a Mono plan of type T. */ Mono invokeBinding(String bindingName, String operation, Object data, TypeRef type); /** * Invokes a Binding operation. * * @param bindingName The name of the binding to call. * @param operation The operation to be performed by the binding request processor. * @param data The data to be processed, use byte[] to skip serialization. * @param clazz The type being returned. * @param The type of the return * @return a Mono plan of type T. */ Mono invokeBinding(String bindingName, String operation, Object data, Class clazz); /** * Invokes a Binding operation. * * @param bindingName The name of the binding to call. * @param operation The operation to be performed by the binding request processor. * @param data The data to be processed, use byte[] to skip serialization. * @param metadata The metadata map. * @param type The type being returned. * @param The type of the return * @return a Mono plan of type T. */ Mono invokeBinding(String bindingName, String operation, Object data, Map metadata, TypeRef type); /** * Invokes a Binding operation. * * @param bindingName The name of the binding to call. * @param operation The operation to be performed by the binding request processor. * @param data The data to be processed, use byte[] to skip serialization. * @param metadata The metadata map. * @param clazz The type being returned. * @param The type of the return * @return a Mono plan of type T. */ Mono invokeBinding(String bindingName, String operation, Object data, Map metadata, Class clazz); /** * Invokes a Binding operation. * * @param request The binding invocation request. * @return a Mono with void. */ Mono invokeBinding(InvokeBindingRequest request); /** * Invokes a Binding operation. * * @param request The binding invocation request. * @param type The type being returned. * @param The type of the return * @return a Mono plan of type T. */ Mono invokeBinding(InvokeBindingRequest request, TypeRef type); /** * Retrieve a State based on their key. * * @param storeName The name of the state store. * @param state State to be re-retrieved. * @param type The type of State needed as return. * @param The type of the return. * @return A Mono Plan for the requested State. */ Mono> getState(String storeName, State state, TypeRef type); /** * Retrieve a State based on their key. * * @param storeName The name of the state store. * @param state State to be re-retrieved. * @param clazz The type of State needed as return. * @param The type of the return. * @return A Mono Plan for the requested State. */ Mono> getState(String storeName, State state, Class clazz); /** * Retrieve a State based on their key. * * @param storeName The name of the state store. * @param key The key of the State to be retrieved. * @param type The type of State needed as return. * @param The type of the return. * @return A Mono Plan for the requested State. */ Mono> getState(String storeName, String key, TypeRef type); /** * Retrieve a State based on their key. * * @param storeName The name of the state store. * @param key The key of the State to be retrieved. * @param clazz The type of State needed as return. * @param The type of the return. * @return A Mono Plan for the requested State. */ Mono> getState(String storeName, String key, Class clazz); /** * Retrieve a State based on their key. * * @param storeName The name of the state store. * @param key The key of the State to be retrieved. * @param options Optional settings for retrieve operation. * @param type The Type of State needed as return. * @param The Type of the return. * @return A Mono Plan for the requested State. */ Mono> getState(String storeName, String key, StateOptions options, TypeRef type); /** * Retrieve a State based on their key. * * @param storeName The name of the state store. * @param key The key of the State to be retrieved. * @param options Optional settings for retrieve operation. * @param clazz The Type of State needed as return. * @param The Type of the return. * @return A Mono Plan for the requested State. */ Mono> getState(String storeName, String key, StateOptions options, Class clazz); /** * Retrieve a State based on their key. * * @param request The request to get state. * @param type The Type of State needed as return. * @param The Type of the return. * @return A Mono Plan for the requested State. */ Mono> getState(GetStateRequest request, TypeRef type); /** * Retrieve bulk States based on their keys. * * @param storeName The name of the state store. * @param keys The keys of the State to be retrieved. * @param type The type of State needed as return. * @param The type of the return. * @return A Mono Plan for the requested State. */ Mono>> getBulkState(String storeName, List keys, TypeRef type); /** * Retrieve bulk States based on their keys. * * @param storeName The name of the state store. * @param keys The keys of the State to be retrieved. * @param clazz The type of State needed as return. * @param The type of the return. * @return A Mono Plan for the requested State. */ Mono>> getBulkState(String storeName, List keys, Class clazz); /** * Retrieve bulk States based on their keys. * * @param request The request to get state. * @param type The Type of State needed as return. * @param The Type of the return. * @return A Mono Plan for the requested State. */ Mono>> getBulkState(GetBulkStateRequest request, TypeRef type); /** Execute a transaction. * * @param storeName The name of the state store. * @param operations The operations to be performed. * @return a Mono plan of type Void */ Mono executeStateTransaction(String storeName, List> operations); /** Execute a transaction. * * @param request Request to execute transaction. * @return a Mono plan of type Response Void */ Mono executeStateTransaction(ExecuteStateTransactionRequest request); /** * Save/Update a list of states. * * @param storeName The name of the state store. * @param states The States to be saved. * @return a Mono plan of type Void. */ Mono saveBulkState(String storeName, List> states); /** * Save/Update a list of states. * * @param request Request to save states. * @return a Mono plan of type Void. */ Mono saveBulkState(SaveStateRequest request); /** * Save/Update a state. * * @param storeName The name of the state store. * @param key The key of the state. * @param value The value of the state. * @return a Mono plan of type Void. */ Mono saveState(String storeName, String key, Object value); /** * Save/Update a state. * * @param storeName The name of the state store. * @param key The key of the state. * @param etag The etag to be used. * @param value The value of the state. * @param options The Options to use for each state. * @return a Mono plan of type Void. */ Mono saveState(String storeName, String key, String etag, Object value, StateOptions options); /** * Save/Update a state. * * @param storeName The name of the state store. * @param key The key of the state. * @param etag The etag to be used. * @param value The value of the state. * @param meta The metadata to be set to the state. * @param options The Options to use for each state. * @return a Mono plan of type Void. */ Mono saveState(String storeName, String key, String etag, Object value, Map meta, StateOptions options); /** * Delete a state. * * @param storeName The name of the state store. * @param key The key of the State to be removed. * @return a Mono plan of type Void. */ Mono deleteState(String storeName, String key); /** * Delete a state. * * @param storeName The name of the state store. * @param key The key of the State to be removed. * @param etag Optional etag for conditional delete. * @param options Optional settings for state operation. * @return a Mono plan of type Void. */ Mono deleteState(String storeName, String key, String etag, StateOptions options); /** * Delete a state. * * @param request Request to delete a state. * @return a Mono plan of type Void. */ Mono deleteState(DeleteStateRequest request); /** * Fetches a secret from the configured vault. * * @param storeName Name of vault component in Dapr. * @param secretName Secret to be fetched. * @param metadata Optional metadata. * @return Key-value pairs for the secret. */ Mono> getSecret(String storeName, String secretName, Map metadata); /** * Fetches a secret from the configured vault. * * @param storeName Name of vault component in Dapr. * @param secretName Secret to be fetched. * @return Key-value pairs for the secret. */ Mono> getSecret(String storeName, String secretName); /** * Fetches a secret from the configured vault. * * @param request Request to fetch secret. * @return Key-value pairs for the secret. */ Mono> getSecret(GetSecretRequest request); /** * Fetches all secrets from the configured vault. * * @param storeName Name of vault component in Dapr. * @return Key-value pairs for all the secrets in the state store. */ Mono>> getBulkSecret(String storeName); /** * Fetches all secrets from the configured vault. * * @param storeName Name of vault component in Dapr. * @param metadata Optional metadata. * @return Key-value pairs for all the secrets in the state store. */ Mono>> getBulkSecret(String storeName, Map metadata); /** * Fetches all secrets from the configured vault. * * @param request Request to fetch secret. * @return Key-value pairs for the secret. */ Mono>> getBulkSecret(GetBulkSecretRequest request); /** * Retrieve a configuration based on a provided key. * * @param storeName Name of the configuration store * @param key key of the configuration item which is to be retrieved * @return Mono of the Configuration Item */ Mono getConfiguration(String storeName, String key); /** * Retrieve a configuration based on a provided key. * * @param storeName Name of the configuration store * @param key key of the configuration item which is to be retrieved * @param metadata optional metadata * @return Mono of the Configuration Item */ Mono getConfiguration(String storeName, String key, Map metadata); /** * Retrieve Map of configurations based on a provided variable number of keys. * * @param storeName Name of the configuration store * @param keys keys of the configurations which are to be retrieved * @return Mono of Map of ConfigurationItems */ Mono> getConfiguration(String storeName, String... keys); /** * Retrieve Map of configurations based on a provided variable number of keys. * * @param storeName Name of the configuration store * @param keys keys of the configurations which are to be retrieved * @param metadata optional metadata * @return Mono of Map of ConfigurationItems */ Mono> getConfiguration(String storeName, List keys, Map metadata); /** * Retrieve Map of configurations based on a provided configuration request object. * * @param request request for retrieving Configurations for a list keys * @return Mono of Map of ConfigurationItems */ Mono> getConfiguration(GetConfigurationRequest request); /** * Subscribe to the keys for any change. * * @param storeName Name of the configuration store * @param keys keys of the configurations which are to be subscribed * @return Flux of {@link SubscribeConfigurationResponse} instance */ Flux subscribeConfiguration(String storeName, String... keys); /** * Subscribe to the keys for any change. * * @param storeName Name of the configuration store * @param keys keys of the configurations which are to be subscribed * @param metadata optional metadata * @return Flux of {@link SubscribeConfigurationResponse} instance */ Flux subscribeConfiguration(String storeName, List keys, Map metadata); /** * Subscribe to the keys for any change. * * @param request request for subscribing to any change for the given keys in request * @return Flux of {@link SubscribeConfigurationResponse} instance */ Flux subscribeConfiguration(SubscribeConfigurationRequest request); /** * Unsubscribe from previously subscribed keys. * * @param id subscription id returned by subscribeConfiguration API. * @param storeName Name of the configuration store. * @return Mono of {@link UnsubscribeConfigurationResponse} instance. */ Mono unsubscribeConfiguration(String id, String storeName); /** * Unsubscribe from previously subscribed keys. * * @param request request for unsubscribing to any change for the given subscription id in request * @return Mono of {@link UnsubscribeConfigurationResponse} instance. */ Mono unsubscribeConfiguration(UnsubscribeConfigurationRequest request); /** * Returns a newly created gRPC stub with proper interceptors and channel for gRPC proxy invocation. * @param appId appId to be included in all gRPC calls for service invocation. * @param stubBuilder user-provided callback method to construct a new stub given the channel. * @return the gRPC stub with proper interceptors and channel. * @param the generic type of the service to be invoked. */ > T newGrpcStub(String appId, Function stubBuilder); /** * Fetches Dapr Metadata from the metadata endpoint. * * @return DaprMetadata containing Dapr Metadata from the metadata endpoint. */ Mono getMetadata(); /** * Schedules a job using the provided job request details. * * @param scheduleJobRequest The request containing the details of the job to schedule. * Must include a name and optional schedule, data, and other related properties. * @return A {@link Mono} that completes when the job scheduling operation is successful or raises an error. * @throws IllegalArgumentException If the request or its required fields like name are null or empty. */ public Mono scheduleJob(ScheduleJobRequest scheduleJobRequest); /** * Retrieves details of a specific job. * * @param getJobRequest The request containing the job name for which the details are to be fetched. * The name property is mandatory. * @return A {@link Mono} that emits the {@link GetJobResponse} containing job details or raises an * error if the job is not found. * @throws IllegalArgumentException If the request or its required fields like name are null or empty. */ public Mono getJob(GetJobRequest getJobRequest); /** * Deletes a job based on the given request. * * @param deleteJobRequest The request containing the job name to be deleted. * The name property is mandatory. * @return A {@link Mono} that completes when the job is successfully deleted or raises an error. * @throws IllegalArgumentException If the request or its required fields like name are null or empty. */ public Mono deleteJob(DeleteJobRequest deleteJobRequest); /** * Gracefully shutdown the dapr runtime. * * @return a Mono plan of type Void. */ Mono shutdown(); } ================================================ FILE: sdk/src/main/java/io/dapr/client/DaprClientBuilder.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.client.resiliency.ResiliencyOptions; import io.dapr.config.Properties; import io.dapr.config.Property; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.NetworkUtils; import io.dapr.v1.DaprGrpc; import io.grpc.ManagedChannel; import java.util.HashMap; import java.util.Map; /** * A builder for the DaprClient, * Currently only gRPC and HTTP Client will be supported. */ public class DaprClientBuilder { private final Map propertyOverrides = new HashMap<>(); /** * Builder for Dapr's HTTP Client. */ private final DaprHttpBuilder daprHttpBuilder; /** * Serializer used for request and response objects in DaprClient. */ private DaprObjectSerializer objectSerializer; /** * Serializer used for state objects in DaprClient. */ private DaprObjectSerializer stateSerializer; /** * Resiliency configuration for DaprClient. */ private ResiliencyOptions resiliencyOptions; /** * Creates a constructor for DaprClient. * * {@link DefaultObjectSerializer} is used for object and state serializers by default but is not recommended * for production scenarios. */ public DaprClientBuilder() { this.objectSerializer = new DefaultObjectSerializer(); this.stateSerializer = new DefaultObjectSerializer(); this.daprHttpBuilder = new DaprHttpBuilder(); } /** * Sets the serializer for objects to be sent and received from Dapr. * See {@link DefaultObjectSerializer} as possible serializer for non-production scenarios. * * @param objectSerializer Serializer for objects to be sent and received from Dapr. * @return This instance. */ public DaprClientBuilder withObjectSerializer(DaprObjectSerializer objectSerializer) { if (objectSerializer == null) { throw new IllegalArgumentException("Object serializer is required"); } if (objectSerializer.getContentType() == null || objectSerializer.getContentType().isEmpty()) { throw new IllegalArgumentException("Content Type should not be null or empty"); } this.objectSerializer = objectSerializer; return this; } /** * Sets the serializer for objects to be persisted. * See {@link DefaultObjectSerializer} as possible serializer for non-production scenarios. * * @param stateSerializer Serializer for objects to be persisted. * @return This instance. */ public DaprClientBuilder withStateSerializer(DaprObjectSerializer stateSerializer) { if (stateSerializer == null) { throw new IllegalArgumentException("State serializer is required"); } this.stateSerializer = stateSerializer; return this; } /** * Sets the resiliency options for DaprClient. * * @param options Serializer for objects to be persisted. * @return This instance. */ public DaprClientBuilder withResiliencyOptions(ResiliencyOptions options) { this.resiliencyOptions = options; return this; } /** * Allow to set up properties override for static properties. * @param property that we want to override * @param value the value of such property * @return an instance of the setup Client */ public DaprClientBuilder withPropertyOverride(Property property, String value) { this.propertyOverrides.put(property.getName(), value); return this; } /** * Allow to set up properties override for static properties. * @param overrides properties to override * @return an instance of the setup Client */ public DaprClientBuilder withPropertyOverrides(Map, String> overrides) { for (final Map.Entry, String> override : overrides.entrySet()) { this.propertyOverrides.put(override.getKey().getName(), override.getValue()); } return this; } /** * Build an instance of the Client based on the provided setup. * * @return an instance of the setup Client * @throws java.lang.IllegalStateException if any required field is missing */ public DaprClient build() { return buildDaprClient(); } /** * Build an instance of the Client based on the provided setup. * * @return an instance of the setup Client * @throws IllegalStateException if any required field is missing */ public DaprPreviewClient buildPreviewClient() { return buildDaprClient(); } /** * Creates an instance of the GRPC Client. * * @return the GRPC Client. * @throws java.lang.IllegalStateException if either host is missing or if port is missing or a negative number. */ private DaprClientImpl buildDaprClient() { Properties properties = new Properties(this.propertyOverrides); ManagedChannel channel = NetworkUtils.buildGrpcManagedChannel(properties); DaprHttp daprHttp = this.daprHttpBuilder.build(properties); GrpcChannelFacade channelFacade = new GrpcChannelFacade(channel); DaprGrpc.DaprStub asyncStub = DaprGrpc.newStub(channel); return new DaprClientImpl( channelFacade, asyncStub, daprHttp, this.objectSerializer, this.stateSerializer, this.resiliencyOptions, properties.getValue(Properties.API_TOKEN)); } } ================================================ FILE: sdk/src/main/java/io/dapr/client/DaprClientImpl.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import com.google.common.base.Strings; import com.google.protobuf.Any; import com.google.protobuf.ByteString; import com.google.protobuf.Empty; import com.google.protobuf.Struct; import com.google.protobuf.Value; import io.dapr.client.domain.ActorMetadata; import io.dapr.client.domain.AppConnectionPropertiesHealthMetadata; import io.dapr.client.domain.AppConnectionPropertiesMetadata; import io.dapr.client.domain.AssistantMessage; import io.dapr.client.domain.BulkPublishEntry; import io.dapr.client.domain.BulkPublishRequest; import io.dapr.client.domain.BulkPublishResponse; import io.dapr.client.domain.BulkPublishResponseFailedEntry; import io.dapr.client.domain.CloudEvent; import io.dapr.client.domain.ComponentMetadata; import io.dapr.client.domain.ConfigurationItem; import io.dapr.client.domain.ConstantFailurePolicy; import io.dapr.client.domain.ConversationInput; import io.dapr.client.domain.ConversationInputAlpha2; import io.dapr.client.domain.ConversationMessage; import io.dapr.client.domain.ConversationMessageContent; import io.dapr.client.domain.ConversationOutput; import io.dapr.client.domain.ConversationRequest; import io.dapr.client.domain.ConversationRequestAlpha2; import io.dapr.client.domain.ConversationResponse; import io.dapr.client.domain.ConversationResponseAlpha2; import io.dapr.client.domain.ConversationResultAlpha2; import io.dapr.client.domain.ConversationResultChoices; import io.dapr.client.domain.ConversationResultCompletionUsage; import io.dapr.client.domain.ConversationResultCompletionUsageDetails; import io.dapr.client.domain.ConversationResultMessage; import io.dapr.client.domain.ConversationResultPromptUsageDetails; import io.dapr.client.domain.ConversationToolCalls; import io.dapr.client.domain.ConversationToolCallsOfFunction; import io.dapr.client.domain.ConversationTools; import io.dapr.client.domain.ConversationToolsFunction; import io.dapr.client.domain.DaprMetadata; import io.dapr.client.domain.DecryptRequestAlpha1; import io.dapr.client.domain.DeleteJobRequest; import io.dapr.client.domain.DeleteStateRequest; import io.dapr.client.domain.DropFailurePolicy; import io.dapr.client.domain.EncryptRequestAlpha1; import io.dapr.client.domain.ExecuteStateTransactionRequest; import io.dapr.client.domain.FailurePolicy; import io.dapr.client.domain.GetBulkSecretRequest; import io.dapr.client.domain.GetBulkStateRequest; import io.dapr.client.domain.GetConfigurationRequest; import io.dapr.client.domain.GetJobRequest; import io.dapr.client.domain.GetJobResponse; import io.dapr.client.domain.GetSecretRequest; import io.dapr.client.domain.GetStateRequest; import io.dapr.client.domain.HttpEndpointMetadata; import io.dapr.client.domain.HttpExtension; import io.dapr.client.domain.InvokeBindingRequest; import io.dapr.client.domain.InvokeMethodRequest; import io.dapr.client.domain.JobSchedule; import io.dapr.client.domain.LockRequest; import io.dapr.client.domain.PublishEventRequest; import io.dapr.client.domain.QueryStateItem; import io.dapr.client.domain.QueryStateRequest; import io.dapr.client.domain.QueryStateResponse; import io.dapr.client.domain.RuleMetadata; import io.dapr.client.domain.SaveStateRequest; import io.dapr.client.domain.ScheduleJobRequest; import io.dapr.client.domain.State; import io.dapr.client.domain.StateOptions; import io.dapr.client.domain.SubscribeConfigurationRequest; import io.dapr.client.domain.SubscribeConfigurationResponse; import io.dapr.client.domain.SubscriptionMetadata; import io.dapr.client.domain.ToolMessage; import io.dapr.client.domain.TransactionalStateOperation; import io.dapr.client.domain.UnlockRequest; import io.dapr.client.domain.UnlockResponseStatus; import io.dapr.client.domain.UnsubscribeConfigurationRequest; import io.dapr.client.domain.UnsubscribeConfigurationResponse; import io.dapr.client.resiliency.ResiliencyOptions; import io.dapr.exceptions.DaprException; import io.dapr.internal.exceptions.DaprHttpException; import io.dapr.internal.grpc.DaprClientGrpcInterceptors; import io.dapr.internal.resiliency.RetryPolicy; import io.dapr.internal.resiliency.TimeoutPolicy; import io.dapr.internal.subscription.EventSubscriberStreamObserver; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.DefaultContentTypeConverter; import io.dapr.utils.FailurePolicyUtils; import io.dapr.utils.TypeRef; import io.dapr.v1.CommonProtos; import io.dapr.v1.DaprAiProtos; import io.dapr.v1.DaprBindingsProtos; import io.dapr.v1.DaprConfigurationProtos; import io.dapr.v1.DaprCryptoProtos; import io.dapr.v1.DaprGrpc; import io.dapr.v1.DaprJobsProtos; import io.dapr.v1.DaprLockProtos; import io.dapr.v1.DaprMetadataProtos; import io.dapr.v1.DaprProtos; import io.dapr.v1.DaprPubsubProtos; import io.dapr.v1.DaprSecretProtos; import io.dapr.v1.DaprStateProtos; import io.grpc.Channel; import io.grpc.Metadata; import io.grpc.stub.AbstractStub; import io.grpc.stub.StreamObserver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import reactor.core.publisher.Flux; import reactor.core.publisher.FluxSink; import reactor.core.publisher.Mono; import reactor.core.publisher.MonoSink; import reactor.util.context.ContextView; import reactor.util.retry.Retry; import javax.annotation.Nonnull; import java.io.IOException; import java.time.Duration; import java.time.Instant; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.function.Consumer; import java.util.function.Function; import java.util.stream.Collectors; import static io.dapr.internal.exceptions.DaprHttpException.isSuccessfulHttpStatusCode; import static io.dapr.internal.exceptions.DaprHttpException.isValidHttpStatusCode; import static io.dapr.internal.exceptions.DaprHttpException.parseHttpStatusCode; /** * Implementation of the Dapr client combining gRPC and HTTP (when applicable). * * @see io.dapr.v1.DaprGrpc * @see io.dapr.client.DaprClient */ public class DaprClientImpl extends AbstractDaprClient { private final Logger logger; /** * The GRPC managed channel to be used. */ private final GrpcChannelFacade channel; /** * The retry policy. */ private final RetryPolicy retryPolicy; /** * The async gRPC stub. */ private final DaprGrpc.DaprStub asyncStub; /** * The HTTP client to be used for healthz and HTTP service invocation only. * * @see io.dapr.client.DaprHttp */ private final DaprHttp httpClient; private final DaprClientGrpcInterceptors grpcInterceptors; /** * Default access level constructor, in order to create an instance of this class use io.dapr.client.DaprClientBuilder * * @param channel Facade for the managed GRPC channel * @param asyncStub async gRPC stub * @param objectSerializer Serializer for transient request/response objects. * @param stateSerializer Serializer for state objects. * @see DaprClientBuilder */ DaprClientImpl( GrpcChannelFacade channel, DaprGrpc.DaprStub asyncStub, DaprHttp httpClient, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer) { this(channel, asyncStub, httpClient, objectSerializer, stateSerializer, null, null); } /** * Default access level constructor, in order to create an instance of this class use io.dapr.client.DaprClientBuilder * * @param channel Facade for the managed GRPC channel * @param asyncStub async gRPC stub * @param objectSerializer Serializer for transient request/response objects. * @param stateSerializer Serializer for state objects. * @param daprApiToken Dapr API Token. * @see DaprClientBuilder */ DaprClientImpl( GrpcChannelFacade channel, DaprGrpc.DaprStub asyncStub, DaprHttp httpClient, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer, String daprApiToken) { this(channel, asyncStub, httpClient, objectSerializer, stateSerializer, null, daprApiToken); } /** * Default access level constructor, in order to create an instance of this class use io.dapr.client.DaprClientBuilder * * @param channel Facade for the managed GRPC channel * @param asyncStub async gRPC stub * @param httpClient client for http service invocation * @param objectSerializer Serializer for transient request/response objects. * @param stateSerializer Serializer for state objects. * @param resiliencyOptions Client-level override for resiliency options. * @param daprApiToken Dapr API Token. * @see DaprClientBuilder */ DaprClientImpl( GrpcChannelFacade channel, DaprGrpc.DaprStub asyncStub, DaprHttp httpClient, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer, ResiliencyOptions resiliencyOptions, String daprApiToken) { this( channel, asyncStub, httpClient, objectSerializer, stateSerializer, new TimeoutPolicy(resiliencyOptions == null ? null : resiliencyOptions.getTimeout()), new RetryPolicy(resiliencyOptions == null ? null : resiliencyOptions.getMaxRetries()), daprApiToken); } /** * Instantiates a new DaprClient. * * @param channel Facade for the managed GRPC channel * @param asyncStub async gRPC stub * @param httpClient client for http service invocation * @param objectSerializer Serializer for transient request/response objects. * @param stateSerializer Serializer for state objects. * @param timeoutPolicy Client-level timeout policy. * @param retryPolicy Client-level retry policy. * @param daprApiToken Dapr API Token. * @see DaprClientBuilder */ private DaprClientImpl( GrpcChannelFacade channel, DaprGrpc.DaprStub asyncStub, DaprHttp httpClient, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer, TimeoutPolicy timeoutPolicy, RetryPolicy retryPolicy, String daprApiToken) { super(objectSerializer, stateSerializer); this.channel = channel; this.asyncStub = asyncStub; this.httpClient = httpClient; this.retryPolicy = retryPolicy; this.grpcInterceptors = new DaprClientGrpcInterceptors(daprApiToken, timeoutPolicy); this.logger = LoggerFactory.getLogger(DaprClientImpl.class); } private CommonProtos.StateOptions.StateConsistency getGrpcStateConsistency(StateOptions options) { switch (options.getConsistency()) { case EVENTUAL: return CommonProtos.StateOptions.StateConsistency.CONSISTENCY_EVENTUAL; case STRONG: return CommonProtos.StateOptions.StateConsistency.CONSISTENCY_STRONG; default: throw new IllegalArgumentException("Missing Consistency mapping to gRPC Consistency enum"); } } private CommonProtos.StateOptions.StateConcurrency getGrpcStateConcurrency(StateOptions options) { switch (options.getConcurrency()) { case FIRST_WRITE: return CommonProtos.StateOptions.StateConcurrency.CONCURRENCY_FIRST_WRITE; case LAST_WRITE: return CommonProtos.StateOptions.StateConcurrency.CONCURRENCY_LAST_WRITE; default: throw new IllegalArgumentException("Missing StateConcurrency mapping to gRPC Concurrency enum"); } } /** * {@inheritDoc} */ public > T newGrpcStub(String appId, Function stubBuilder) { // Adds Dapr interceptors to populate gRPC metadata automatically. return this.grpcInterceptors.intercept(appId, stubBuilder.apply(this.channel.getGrpcChannel())); } /** * {@inheritDoc} */ @Override public Mono waitForSidecar(int timeoutInMilliseconds) { String[] pathSegments = new String[] { DaprHttp.API_VERSION, "healthz", "outbound"}; // Do the Dapr Http endpoint check to have parity with Dotnet Mono responseMono = this.httpClient.invokeApi(DaprHttp.HttpMethods.GET.name(), pathSegments, null, "", null, null); return responseMono // No method to "retry forever every 500ms", so we make it practically forever. // 9223372036854775807 * 500 ms = 1.46235604 x 10^11 years // If anyone needs to wait for the sidecar for longer than that, sorry. .retryWhen( Retry .fixedDelay(Long.MAX_VALUE, Duration.ofMillis(500)) .doBeforeRetry(s -> { this.logger.info("Retrying sidecar health check ..."); })) .timeout(Duration.ofMillis(timeoutInMilliseconds)) .onErrorResume(DaprException.class, e -> Mono.error(new RuntimeException(e))) .switchIfEmpty(DaprException.wrapMono(new RuntimeException("Health check timed out"))) .then(); } /** * {@inheritDoc} */ @Override public Mono publishEvent(PublishEventRequest request) { try { String pubsubName = request.getPubsubName(); String topic = request.getTopic(); Object data = request.getData(); DaprPubsubProtos.PublishEventRequest.Builder envelopeBuilder = DaprPubsubProtos.PublishEventRequest.newBuilder() .setTopic(topic) .setPubsubName(pubsubName) .setData(ByteString.copyFrom(objectSerializer.serialize(data))); // Content-type can be overwritten on a per-request basis. // It allows CloudEvents to be handled differently, for example. String contentType = request.getContentType(); if (contentType == null || contentType.isEmpty()) { contentType = objectSerializer.getContentType(); } envelopeBuilder.setDataContentType(contentType); Map metadata = request.getMetadata(); if (metadata != null) { envelopeBuilder.putAllMetadata(metadata); } return Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).publishEvent(envelopeBuilder.build(), it) ) ).then(); } catch (Exception ex) { return DaprException.wrapMono(ex); } } /** * {@inheritDoc} */ @Override public Mono> publishEvents(BulkPublishRequest request) { try { String pubsubName = request.getPubsubName(); String topic = request.getTopic(); DaprPubsubProtos.BulkPublishRequest.Builder envelopeBuilder = DaprPubsubProtos.BulkPublishRequest.newBuilder(); envelopeBuilder.setTopic(topic); envelopeBuilder.setPubsubName(pubsubName); if (Strings.isNullOrEmpty(pubsubName) || Strings.isNullOrEmpty(topic)) { throw new IllegalArgumentException("pubsubName and topic name cannot be null or empty"); } for (BulkPublishEntry entry : request.getEntries()) { Object event = entry.getEvent(); byte[] data; String contentType = entry.getContentType(); try { // Serialize event into bytes if (!Strings.isNullOrEmpty(contentType) && objectSerializer instanceof DefaultObjectSerializer) { // If content type is given by user and default object serializer is used data = DefaultContentTypeConverter.convertEventToBytesForGrpc(event, contentType); } else { // perform the serialization as per user given input of serializer // this is also the case when content type is empty data = objectSerializer.serialize(event); if (Strings.isNullOrEmpty(contentType)) { // Only override content type if not given in input by user contentType = objectSerializer.getContentType(); } } } catch (IOException ex) { throw DaprException.propagate(ex); } DaprPubsubProtos.BulkPublishRequestEntry.Builder reqEntryBuilder = DaprPubsubProtos.BulkPublishRequestEntry .newBuilder() .setEntryId(entry.getEntryId()) .setEvent(ByteString.copyFrom(data)) .setContentType(contentType); Map metadata = entry.getMetadata(); if (metadata != null) { reqEntryBuilder.putAllMetadata(metadata); } envelopeBuilder.addEntries(reqEntryBuilder.build()); } // Set metadata if available Map metadata = request.getMetadata(); if (metadata != null) { envelopeBuilder.putAllMetadata(metadata); } Map> entryMap = new HashMap<>(); for (BulkPublishEntry entry : request.getEntries()) { entryMap.put(entry.getEntryId(), entry); } return Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).bulkPublishEvent(envelopeBuilder.build(), it) ).onErrorResume(throwable -> { // Check if the error is UNIMPLEMENTED, and try the alpha API just in case // The exception might be wrapped in DaprException, so check both Throwable cause = throwable; if (throwable instanceof DaprException && throwable.getCause() != null) { cause = throwable.getCause(); } if (cause instanceof io.grpc.StatusRuntimeException) { io.grpc.StatusRuntimeException statusException = (io.grpc.StatusRuntimeException) cause; if (statusException.getStatus().getCode() == io.grpc.Status.Code.UNIMPLEMENTED) { return this.createMono( it -> intercept(context, asyncStub).bulkPublishEventAlpha1(envelopeBuilder.build(), it) ); } } return Mono.error(throwable); }) ).map( it -> { List> entries = new ArrayList<>(); for (DaprPubsubProtos.BulkPublishResponseFailedEntry entry : it.getFailedEntriesList()) { BulkPublishResponseFailedEntry domainEntry = new BulkPublishResponseFailedEntry( entryMap.get(entry.getEntryId()), entry.getError()); entries.add(domainEntry); } if (entries.size() > 0) { return new BulkPublishResponse<>(entries); } return new BulkPublishResponse<>(); } ); } catch (RuntimeException ex) { return DaprException.wrapMono(ex); } } /** * {@inheritDoc} */ @Override public Subscription subscribeToEvents( String pubsubName, String topic, SubscriptionListener listener, TypeRef type) { DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1 initialRequest = DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.newBuilder() .setTopic(topic) .setPubsubName(pubsubName) .build(); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 request = DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.newBuilder() .setInitialRequest(initialRequest) .build(); return buildSubscription(listener, type, request); } /** * {@inheritDoc} */ @Deprecated @Override public Flux subscribeToEvents(String pubsubName, String topic, TypeRef type) { return subscribeToTopic(pubsubName, topic, type); } /** * {@inheritDoc} */ @Deprecated @Override public Flux subscribeToEvents(String pubsubName, String topic, TypeRef type, Map metadata) { return subscribeToTopic(pubsubName, topic, type, metadata); } /** * {@inheritDoc} */ @Override public Flux subscribeToTopic(String pubsubName, String topic, TypeRef type) { return subscribeToTopic(pubsubName, topic, type, null); } /** * {@inheritDoc} */ @Override public Flux subscribeToTopic(String pubsubName, String topic, TypeRef type, Map metadata) { DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.Builder initialRequestBuilder = DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.newBuilder() .setTopic(topic) .setPubsubName(pubsubName); if (metadata != null && !metadata.isEmpty()) { initialRequestBuilder.putAllMetadata(metadata); } DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 request = DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.newBuilder() .setInitialRequest(initialRequestBuilder.build()) .build(); return Flux.create(sink -> { DaprGrpc.DaprStub interceptedStub = this.grpcInterceptors.intercept(this.asyncStub); EventSubscriberStreamObserver eventSubscriber = new EventSubscriberStreamObserver<>( interceptedStub, sink, type, this.objectSerializer ); StreamObserver requestStream = eventSubscriber.start(request); // Cleanup when Flux is cancelled or completed sink.onDispose(() -> { try { requestStream.onCompleted(); } catch (Exception e) { logger.debug("Completing the subscription stream resulted in an error: {}", e.getMessage()); } }); }, FluxSink.OverflowStrategy.BUFFER); } @Nonnull private Subscription buildSubscription( SubscriptionListener listener, TypeRef type, DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 request) { var interceptedStub = this.grpcInterceptors.intercept(this.asyncStub); Subscription subscription = new Subscription<>(interceptedStub, request, listener, response -> { if (response.getEventMessage() == null) { return null; } var message = response.getEventMessage(); if ((message.getPubsubName() == null) || message.getPubsubName().isEmpty()) { return null; } try { CloudEvent cloudEvent = new CloudEvent<>(); T object = null; if (type != null) { object = DaprClientImpl.this.objectSerializer.deserialize(message.getData().toByteArray(), type); } cloudEvent.setData(object); cloudEvent.setDatacontenttype(message.getDataContentType()); cloudEvent.setId(message.getId()); cloudEvent.setTopic(message.getTopic()); cloudEvent.setSpecversion(message.getSpecVersion()); cloudEvent.setType(message.getType()); cloudEvent.setPubsubName(message.getPubsubName()); return cloudEvent; } catch (IOException e) { throw new RuntimeException(e); } }); subscription.start(); return subscription; } @Override @Deprecated public Mono invokeMethod(InvokeMethodRequest invokeMethodRequest, TypeRef type) { try { final String appId = invokeMethodRequest.getAppId(); final String method = invokeMethodRequest.getMethod(); final Object request = invokeMethodRequest.getBody(); final HttpExtension httpExtension = invokeMethodRequest.getHttpExtension(); final String contentType = invokeMethodRequest.getContentType(); final Map metadata = invokeMethodRequest.getMetadata(); if (httpExtension == null) { throw new IllegalArgumentException("HttpExtension cannot be null. Use HttpExtension.NONE instead."); } // If the httpExtension is not null, then the method will not be null based on checks in constructor final String httpMethod = httpExtension.getMethod().toString(); if (appId == null || appId.trim().isEmpty()) { throw new IllegalArgumentException("App Id cannot be null or empty."); } if (method == null || method.trim().isEmpty()) { throw new IllegalArgumentException("Method name cannot be null or empty."); } String[] methodSegments = method.split("/"); List pathSegments = new ArrayList<>(Arrays.asList(DaprHttp.API_VERSION, "invoke", appId, "method")); pathSegments.addAll(Arrays.asList(methodSegments)); final Map headers = new HashMap<>(); headers.putAll(httpExtension.getHeaders()); if (metadata != null) { headers.putAll(metadata); } byte[] serializedRequestBody = objectSerializer.serialize(request); if (contentType != null && !contentType.isEmpty()) { headers.put(io.dapr.client.domain.Metadata.CONTENT_TYPE, contentType); } else { headers.put(io.dapr.client.domain.Metadata.CONTENT_TYPE, objectSerializer.getContentType()); } Mono response = Mono.deferContextual( context -> this.httpClient.invokeApi(httpMethod, pathSegments.toArray(new String[0]), httpExtension.getQueryParams(), serializedRequestBody, headers, context) ); return response.flatMap(r -> getMonoForHttpResponse(type, r)); } catch (Exception ex) { return DaprException.wrapMono(ex); } } private Mono getMonoForHttpResponse(TypeRef type, DaprHttp.Response r) { try { if (type == null) { return Mono.empty(); } T object = objectSerializer.deserialize(r.getBody(), type); if (object == null) { return Mono.empty(); } return Mono.just(object); } catch (Exception ex) { return DaprException.wrapMono(ex); } } /** * {@inheritDoc} */ @Override public Mono invokeBinding(InvokeBindingRequest request, TypeRef type) { try { final String name = request.getName(); final String operation = request.getOperation(); final Object data = request.getData(); final Map metadata = request.getMetadata(); if (name == null || name.trim().isEmpty()) { throw new IllegalArgumentException("Binding name cannot be null or empty."); } if (operation == null || operation.trim().isEmpty()) { throw new IllegalArgumentException("Binding operation cannot be null or empty."); } byte[] byteData = objectSerializer.serialize(data); DaprBindingsProtos.InvokeBindingRequest.Builder builder = DaprBindingsProtos.InvokeBindingRequest.newBuilder() .setName(name).setOperation(operation); if (byteData != null) { builder.setData(ByteString.copyFrom(byteData)); } if (metadata != null) { builder.putAllMetadata(metadata); } DaprBindingsProtos.InvokeBindingRequest envelope = builder.build(); Metadata responseMetadata = new Metadata(); return Mono.deferContextual( context -> this.createMono( responseMetadata, it -> intercept(context, asyncStub, m -> responseMetadata.merge(m)).invokeBinding(envelope, it) ) ).flatMap( it -> { int httpStatusCode = parseHttpStatusCode(it.getMetadataMap().getOrDefault("statusCode", "")); if (isValidHttpStatusCode(httpStatusCode) && !isSuccessfulHttpStatusCode(httpStatusCode)) { // Exception condition in a successful request. // This is useful to send an exception due to an error from the HTTP binding component. throw DaprException.propagate(new DaprHttpException(httpStatusCode, it.getData().toByteArray())); } try { if (type == null) { return Mono.empty(); } return Mono.justOrEmpty(objectSerializer.deserialize(it.getData().toByteArray(), type)); } catch (IOException e) { throw DaprException.propagate(e); } } ); } catch (Exception ex) { return DaprException.wrapMono(ex); } } /** * {@inheritDoc} */ @Override public Mono> getState(GetStateRequest request, TypeRef type) { try { final String stateStoreName = request.getStoreName(); final String key = request.getKey(); final StateOptions options = request.getStateOptions(); final Map metadata = request.getMetadata(); if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { throw new IllegalArgumentException("State store name cannot be null or empty."); } if ((key == null) || (key.trim().isEmpty())) { throw new IllegalArgumentException("Key cannot be null or empty."); } DaprStateProtos.GetStateRequest.Builder builder = DaprStateProtos.GetStateRequest.newBuilder() .setStoreName(stateStoreName) .setKey(key); if (metadata != null) { builder.putAllMetadata(metadata); } if (options != null && options.getConsistency() != null) { builder.setConsistency(getGrpcStateConsistency(options)); } DaprStateProtos.GetStateRequest envelope = builder.build(); return Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).getState(envelope, it) ) ).map( it -> { try { return buildStateKeyValue(it, key, options, type); } catch (IOException ex) { throw DaprException.propagate(ex); } } ); } catch (Exception ex) { return DaprException.wrapMono(ex); } } /** * {@inheritDoc} */ @Override public Mono>> getBulkState(GetBulkStateRequest request, TypeRef type) { try { final String stateStoreName = request.getStoreName(); final List keys = request.getKeys(); final int parallelism = request.getParallelism(); final Map metadata = request.getMetadata(); if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { throw new IllegalArgumentException("State store name cannot be null or empty."); } if (keys == null || keys.isEmpty()) { throw new IllegalArgumentException("Key cannot be null or empty."); } if (parallelism < 0) { throw new IllegalArgumentException("Parallelism cannot be negative."); } DaprStateProtos.GetBulkStateRequest.Builder builder = DaprStateProtos.GetBulkStateRequest.newBuilder() .setStoreName(stateStoreName) .addAllKeys(keys) .setParallelism(parallelism); if (metadata != null) { builder.putAllMetadata(metadata); } DaprStateProtos.GetBulkStateRequest envelope = builder.build(); return Mono.deferContextual( context -> this.createMono(it -> intercept(context, asyncStub) .getBulkState(envelope, it) ) ).map( it -> it .getItemsList() .stream() .map(b -> { try { return buildStateKeyValue(b, type); } catch (Exception e) { throw DaprException.propagate(e); } }) .collect(Collectors.toList()) ); } catch (Exception ex) { return DaprException.wrapMono(ex); } } private State buildStateKeyValue( DaprStateProtos.BulkStateItem item, TypeRef type) throws IOException { String key = item.getKey(); String error = item.getError(); if (!Strings.isNullOrEmpty(error)) { return new State<>(key, error); } String etag = item.getEtag(); if (etag.equals("")) { etag = null; } T value = null; if (type != null) { ByteString payload = item.getData(); byte[] data = payload == null ? null : payload.toByteArray(); value = stateSerializer.deserialize(data, type); } return new State<>(key, value, etag, item.getMetadataMap(), null); } private State buildStateKeyValue( DaprStateProtos.GetStateResponse response, String requestedKey, StateOptions stateOptions, TypeRef type) throws IOException { ByteString payload = response.getData(); byte[] data = payload == null ? null : payload.toByteArray(); T value = null; if (type != null) { value = stateSerializer.deserialize(data, type); } String etag = response.getEtag(); if (etag.equals("")) { etag = null; } return new State<>(requestedKey, value, etag, response.getMetadataMap(), stateOptions); } /** * {@inheritDoc} */ @Override public Mono executeStateTransaction(ExecuteStateTransactionRequest request) { try { final String stateStoreName = request.getStateStoreName(); final List> operations = request.getOperations(); final Map metadata = request.getMetadata(); if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { throw new IllegalArgumentException("State store name cannot be null or empty."); } DaprStateProtos.ExecuteStateTransactionRequest.Builder builder = DaprStateProtos.ExecuteStateTransactionRequest .newBuilder(); builder.setStoreName(stateStoreName); if (metadata != null) { builder.putAllMetadata(metadata); } for (TransactionalStateOperation operation : operations) { DaprStateProtos.TransactionalStateOperation.Builder operationBuilder = DaprStateProtos .TransactionalStateOperation .newBuilder(); operationBuilder.setOperationType(operation.getOperation().toString().toLowerCase()); operationBuilder.setRequest(buildStateRequest(operation.getRequest()).build()); builder.addOperations(operationBuilder.build()); } DaprStateProtos.ExecuteStateTransactionRequest req = builder.build(); return Mono.deferContextual( context -> this.createMono(it -> intercept(context, asyncStub) .executeStateTransaction(req, it)) ).then(); } catch (Exception e) { return DaprException.wrapMono(e); } } /** * {@inheritDoc} */ @Override public Mono saveBulkState(SaveStateRequest request) { try { final String stateStoreName = request.getStoreName(); final List> states = request.getStates(); if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { throw new IllegalArgumentException("State store name cannot be null or empty."); } DaprStateProtos.SaveStateRequest.Builder builder = DaprStateProtos.SaveStateRequest.newBuilder(); builder.setStoreName(stateStoreName); for (State state : states) { builder.addStates(buildStateRequest(state).build()); } DaprStateProtos.SaveStateRequest req = builder.build(); return Mono.deferContextual( context -> this.createMono(it -> intercept(context, asyncStub).saveState(req, it)) ).then(); } catch (Exception ex) { return DaprException.wrapMono(ex); } } private CommonProtos.StateItem.Builder buildStateRequest(State state) throws IOException { byte[] bytes = stateSerializer.serialize(state.getValue()); CommonProtos.StateItem.Builder stateBuilder = CommonProtos.StateItem.newBuilder(); if (state.getEtag() != null) { stateBuilder.setEtag(CommonProtos.Etag.newBuilder().setValue(state.getEtag()).build()); } if (state.getMetadata() != null) { stateBuilder.putAllMetadata(state.getMetadata()); } if (bytes != null) { stateBuilder.setValue(ByteString.copyFrom(bytes)); } stateBuilder.setKey(state.getKey()); CommonProtos.StateOptions.Builder optionBuilder = null; if (state.getOptions() != null) { StateOptions options = state.getOptions(); optionBuilder = CommonProtos.StateOptions.newBuilder(); if (options.getConcurrency() != null) { optionBuilder.setConcurrency(getGrpcStateConcurrency(options)); } if (options.getConsistency() != null) { optionBuilder.setConsistency(getGrpcStateConsistency(options)); } } if (optionBuilder != null) { stateBuilder.setOptions(optionBuilder.build()); } return stateBuilder; } /** * {@inheritDoc} */ @Override public Mono deleteState(DeleteStateRequest request) { try { final String stateStoreName = request.getStateStoreName(); final String key = request.getKey(); final StateOptions options = request.getStateOptions(); final String etag = request.getEtag(); final Map metadata = request.getMetadata(); if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { throw new IllegalArgumentException("State store name cannot be null or empty."); } if ((key == null) || (key.trim().isEmpty())) { throw new IllegalArgumentException("Key cannot be null or empty."); } CommonProtos.StateOptions.Builder optionBuilder = null; if (options != null) { optionBuilder = CommonProtos.StateOptions.newBuilder(); if (options.getConcurrency() != null) { optionBuilder.setConcurrency(getGrpcStateConcurrency(options)); } if (options.getConsistency() != null) { optionBuilder.setConsistency(getGrpcStateConsistency(options)); } } DaprStateProtos.DeleteStateRequest.Builder builder = DaprStateProtos.DeleteStateRequest.newBuilder() .setStoreName(stateStoreName) .setKey(key); if (metadata != null) { builder.putAllMetadata(metadata); } if (etag != null) { builder.setEtag(CommonProtos.Etag.newBuilder().setValue(etag).build()); } if (optionBuilder != null) { builder.setOptions(optionBuilder.build()); } DaprStateProtos.DeleteStateRequest req = builder.build(); return Mono.deferContextual( context -> this.createMono(it -> intercept(context, asyncStub).deleteState(req, it)) ).then(); } catch (Exception ex) { return DaprException.wrapMono(ex); } } /** * {@inheritDoc} */ @Override public Mono> getSecret(GetSecretRequest request) { String secretStoreName = request.getStoreName(); String key = request.getKey(); Map metadata = request.getMetadata(); try { if ((secretStoreName == null) || (secretStoreName.trim().isEmpty())) { throw new IllegalArgumentException("Secret store name cannot be null or empty."); } if ((key == null) || (key.trim().isEmpty())) { throw new IllegalArgumentException("Secret key cannot be null or empty."); } } catch (Exception e) { return DaprException.wrapMono(e); } DaprSecretProtos.GetSecretRequest.Builder requestBuilder = DaprSecretProtos.GetSecretRequest.newBuilder() .setStoreName(secretStoreName) .setKey(key); if (metadata != null) { requestBuilder.putAllMetadata(metadata); } DaprSecretProtos.GetSecretRequest req = requestBuilder.build(); return Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).getSecret(req, it)) ).map(DaprSecretProtos.GetSecretResponse::getDataMap); } /** * {@inheritDoc} */ @Override public Mono>> getBulkSecret(GetBulkSecretRequest request) { try { final String storeName = request.getStoreName(); final Map metadata = request.getMetadata(); if ((storeName == null) || (storeName.trim().isEmpty())) { throw new IllegalArgumentException("Secret store name cannot be null or empty."); } DaprSecretProtos.GetBulkSecretRequest.Builder builder = DaprSecretProtos.GetBulkSecretRequest.newBuilder() .setStoreName(storeName); if (metadata != null) { builder.putAllMetadata(metadata); } DaprSecretProtos.GetBulkSecretRequest envelope = builder.build(); return Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).getBulkSecret(envelope, it) ) ).map(it -> { Map secretsMap = it.getDataMap(); if (secretsMap == null) { return Collections.emptyMap(); } return secretsMap .entrySet() .stream() .collect(Collectors.toMap(Map.Entry::getKey, s -> s.getValue().getSecretsMap())); }); } catch (Exception ex) { return DaprException.wrapMono(ex); } } /** * {@inheritDoc} */ @Override public Mono tryLock(LockRequest request) { try { final String stateStoreName = request.getStoreName(); final String resourceId = request.getResourceId(); final String lockOwner = request.getLockOwner(); final Integer expiryInSeconds = request.getExpiryInSeconds(); if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { throw new IllegalArgumentException("State store name cannot be null or empty."); } if (resourceId == null || resourceId.isEmpty()) { throw new IllegalArgumentException("ResourceId cannot be null or empty."); } if (lockOwner == null || lockOwner.isEmpty()) { throw new IllegalArgumentException("LockOwner cannot be null or empty."); } if (expiryInSeconds < 0) { throw new IllegalArgumentException("ExpiryInSeconds cannot be negative."); } DaprLockProtos.TryLockRequest.Builder builder = DaprLockProtos.TryLockRequest.newBuilder() .setStoreName(stateStoreName) .setResourceId(resourceId) .setLockOwner(lockOwner) .setExpiryInSeconds(expiryInSeconds); DaprLockProtos.TryLockRequest tryLockRequest = builder.build(); return Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).tryLockAlpha1(tryLockRequest, it) ) ).flatMap(response -> { try { return Mono.just(response.getSuccess()); } catch (Exception ex) { return DaprException.wrapMono(ex); } }); } catch (Exception ex) { return DaprException.wrapMono(ex); } } /** * {@inheritDoc} */ @Override public Mono unlock(UnlockRequest request) { try { final String stateStoreName = request.getStoreName(); final String resourceId = request.getResourceId(); final String lockOwner = request.getLockOwner(); if ((stateStoreName == null) || (stateStoreName.trim().isEmpty())) { throw new IllegalArgumentException("State store name cannot be null or empty."); } if (resourceId == null || resourceId.isEmpty()) { throw new IllegalArgumentException("ResourceId cannot be null or empty."); } if (lockOwner == null || lockOwner.isEmpty()) { throw new IllegalArgumentException("LockOwner cannot be null or empty."); } DaprLockProtos.UnlockRequest.Builder builder = DaprLockProtos.UnlockRequest.newBuilder() .setStoreName(stateStoreName) .setResourceId(resourceId) .setLockOwner(lockOwner); DaprLockProtos.UnlockRequest unlockRequest = builder.build(); return Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).unlockAlpha1(unlockRequest, it) ) ).flatMap(response -> { try { return Mono.just(UnlockResponseStatus.valueOf(response.getStatus().getNumber())); } catch (Exception ex) { return DaprException.wrapMono(ex); } }); } catch (Exception ex) { return DaprException.wrapMono(ex); } } /** * {@inheritDoc} */ @Override public Mono> queryState(QueryStateRequest request, TypeRef type) { try { if (request == null) { throw new IllegalArgumentException("Query state request cannot be null."); } final String storeName = request.getStoreName(); final Map metadata = request.getMetadata(); if ((storeName == null) || (storeName.trim().isEmpty())) { throw new IllegalArgumentException("State store name cannot be null or empty."); } String queryString; if (request.getQuery() != null) { queryString = JSON_REQUEST_MAPPER.writeValueAsString(request.getQuery()); } else if (request.getQueryString() != null) { queryString = request.getQueryString(); } else { throw new IllegalArgumentException("Both query and queryString fields are not set."); } DaprStateProtos.QueryStateRequest.Builder builder = DaprStateProtos.QueryStateRequest.newBuilder() .setStoreName(storeName) .setQuery(queryString); if (metadata != null) { builder.putAllMetadata(metadata); } DaprStateProtos.QueryStateRequest envelope = builder.build(); return Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).queryStateAlpha1(envelope, it) ) ).map( it -> { Map resultMeta = it.getMetadataMap(); String token = it.getToken(); List> res = it.getResultsList() .stream() .map(v -> { try { return buildQueryStateKeyValue(v, type); } catch (Exception e) { throw DaprException.propagate(e); } }) .collect(Collectors.toList()); return new QueryStateResponse<>(res, token).setMetadata(metadata); }); } catch (Exception ex) { return DaprException.wrapMono(ex); } } private QueryStateItem buildQueryStateKeyValue( DaprStateProtos.QueryStateItem item, TypeRef type) throws IOException { String key = item.getKey(); String error = item.getError(); if (!Strings.isNullOrEmpty(error)) { return new QueryStateItem<>(key, null, error); } ByteString payload = item.getData(); byte[] data = payload == null ? null : payload.toByteArray(); T value = null; if (type != null) { value = stateSerializer.deserialize(data, type); } String etag = item.getEtag(); if (etag.equals("")) { etag = null; } return new QueryStateItem<>(key, value, etag); } /** * Closes the ManagedChannel for GRPC. * * @throws IOException on exception. * @see io.grpc.ManagedChannel#shutdown() */ @Override public void close() throws Exception { DaprException.wrap(() -> { if (channel != null) { channel.close(); } if (httpClient != null) { httpClient.close(); } return true; }).call(); } /** * {@inheritDoc} */ @Override public Mono shutdown() { DaprProtos.ShutdownRequest shutdownRequest = DaprProtos.ShutdownRequest.newBuilder().build(); return Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).shutdown(shutdownRequest, it)) ).then(); } /** * {@inheritDoc} */ @Override public Mono> getConfiguration(GetConfigurationRequest request) { try { final String configurationStoreName = request.getStoreName(); final Map metadata = request.getMetadata(); final List keys = request.getKeys(); if ((configurationStoreName == null) || (configurationStoreName.trim().isEmpty())) { throw new IllegalArgumentException("Configuration Store Name cannot be null or empty."); } DaprConfigurationProtos.GetConfigurationRequest.Builder builder = DaprConfigurationProtos.GetConfigurationRequest .newBuilder() .setStoreName(configurationStoreName).addAllKeys(keys); if (metadata != null) { builder.putAllMetadata(metadata); } DaprConfigurationProtos.GetConfigurationRequest envelope = builder.build(); return this.getConfiguration(envelope); } catch (Exception ex) { return DaprException.wrapMono(ex); } } private Mono> getConfiguration(DaprConfigurationProtos .GetConfigurationRequest envelope) { return Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).getConfiguration(envelope, it) ) ).map( it -> { Map configMap = new HashMap<>(); Iterator> itr = it.getItems().entrySet().iterator(); while (itr.hasNext()) { Map.Entry entry = itr.next(); configMap.put(entry.getKey(), buildConfigurationItem(entry.getValue(), entry.getKey())); } return Collections.unmodifiableMap(configMap); } ); } /** * {@inheritDoc} */ @Override public Flux subscribeConfiguration(SubscribeConfigurationRequest request) { try { final String configurationStoreName = request.getStoreName(); final List keys = request.getKeys(); final Map metadata = request.getMetadata(); if (configurationStoreName == null || (configurationStoreName.trim().isEmpty())) { throw new IllegalArgumentException("Configuration Store Name can not be null or empty."); } // keys can and empty list for subscribe all scenario, so we do not need check for empty keys. DaprConfigurationProtos.SubscribeConfigurationRequest.Builder builder = DaprConfigurationProtos .SubscribeConfigurationRequest .newBuilder() .setStoreName(configurationStoreName) .addAllKeys(keys); if (metadata != null) { builder.putAllMetadata(metadata); } DaprConfigurationProtos.SubscribeConfigurationRequest envelope = builder.build(); return this.createFlux( it -> intercept(null, asyncStub).subscribeConfiguration(envelope, it) ).map( it -> { Map configMap = new HashMap<>(); Iterator> itr = it.getItemsMap().entrySet().iterator(); while (itr.hasNext()) { Map.Entry entry = itr.next(); configMap.put(entry.getKey(), buildConfigurationItem(entry.getValue(), entry.getKey())); } return new SubscribeConfigurationResponse(it.getId(), Collections.unmodifiableMap(configMap)); } ); } catch (Exception ex) { return DaprException.wrapFlux(ex); } } /** * {@inheritDoc} */ @Override public Mono unsubscribeConfiguration(UnsubscribeConfigurationRequest request) { try { final String configurationStoreName = request.getStoreName(); final String id = request.getSubscriptionId(); if (configurationStoreName == null || (configurationStoreName.trim().isEmpty())) { throw new IllegalArgumentException("Configuration Store Name can not be null or empty."); } if (id.isEmpty()) { throw new IllegalArgumentException("Subscription id can not be null or empty."); } DaprConfigurationProtos.UnsubscribeConfigurationRequest.Builder builder = DaprConfigurationProtos.UnsubscribeConfigurationRequest.newBuilder() .setId(id) .setStoreName(configurationStoreName); DaprConfigurationProtos.UnsubscribeConfigurationRequest envelope = builder.build(); return this.createMono( it -> intercept(null, asyncStub).unsubscribeConfiguration(envelope, it) ).map( it -> new UnsubscribeConfigurationResponse(it.getOk(), it.getMessage()) ); } catch (Exception ex) { return DaprException.wrapMono(ex); } } /** * {@inheritDoc} */ public Mono scheduleJob(ScheduleJobRequest scheduleJobRequest) { try { validateScheduleJobRequest(scheduleJobRequest); DaprJobsProtos.Job.Builder jobBuilder = DaprJobsProtos.Job.newBuilder(); jobBuilder.setName(scheduleJobRequest.getName()); DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); if (scheduleJobRequest.getData() != null) { jobBuilder.setData(Any.newBuilder() .setValue(ByteString.copyFrom(scheduleJobRequest.getData())).build()); } if (scheduleJobRequest.getSchedule() != null) { jobBuilder.setSchedule(scheduleJobRequest.getSchedule().getExpression()); } if (scheduleJobRequest.getTtl() != null) { jobBuilder.setTtl(iso8601Formatter.format(scheduleJobRequest.getTtl())); } if (scheduleJobRequest.getRepeats() != null) { jobBuilder.setRepeats(scheduleJobRequest.getRepeats()); } if (scheduleJobRequest.getDueTime() != null) { jobBuilder.setDueTime(iso8601Formatter.format(scheduleJobRequest.getDueTime())); } if (scheduleJobRequest.getFailurePolicy() != null) { jobBuilder.setFailurePolicy(FailurePolicyUtils.getJobFailurePolicy(scheduleJobRequest.getFailurePolicy())); } Mono scheduleJobResponseMono = Mono.deferContextual(context -> this.createMono( it -> intercept(context, asyncStub) .scheduleJobAlpha1(DaprJobsProtos.ScheduleJobRequest.newBuilder() .setOverwrite(scheduleJobRequest.getOverwrite()) .setJob(jobBuilder.build()).build(), it) ) ); return scheduleJobResponseMono.then(); } catch (Exception ex) { return DaprException.wrapMono(ex); } } /** * {@inheritDoc} */ public Mono getJob(GetJobRequest getJobRequest) { try { validateGetJobRequest(getJobRequest); Mono getJobResponseMono = Mono.deferContextual(context -> this.createMono( it -> intercept(context, asyncStub) .getJobAlpha1(DaprJobsProtos.GetJobRequest.newBuilder() .setName(getJobRequest.getName()).build(), it) ) ); return getJobResponseMono.map(response -> { DaprJobsProtos.Job job = response.getJob(); GetJobResponse getJobResponse = null; if (job.hasSchedule() && job.hasDueTime()) { getJobResponse = new GetJobResponse(job.getName(), JobSchedule.fromString(job.getSchedule())); getJobResponse.setDueTime(Instant.parse(job.getDueTime())); } else if (job.hasSchedule()) { getJobResponse = new GetJobResponse(job.getName(), JobSchedule.fromString(job.getSchedule())); } else { getJobResponse = new GetJobResponse(job.getName(), Instant.parse(job.getDueTime())); } if (job.hasFailurePolicy()) { getJobResponse.setFailurePolicy(getJobFailurePolicy(job.getFailurePolicy())); } return getJobResponse .setTtl(job.hasTtl() ? Instant.parse(job.getTtl()) : null) .setData(job.hasData() ? job.getData().getValue().toByteArray() : null) .setRepeat(job.hasRepeats() ? job.getRepeats() : null); }); } catch (Exception ex) { return DaprException.wrapMono(ex); } } private FailurePolicy getJobFailurePolicy(CommonProtos.JobFailurePolicy jobFailurePolicy) { if (jobFailurePolicy.hasDrop()) { return new DropFailurePolicy(); } CommonProtos.JobFailurePolicyConstant jobFailurePolicyConstant = jobFailurePolicy.getConstant(); if (jobFailurePolicyConstant.hasInterval() && jobFailurePolicyConstant.hasMaxRetries()) { return new ConstantFailurePolicy(jobFailurePolicyConstant.getMaxRetries()) .setDurationBetweenRetries(Duration.of(jobFailurePolicyConstant.getInterval().getNanos(), ChronoUnit.NANOS)); } if (jobFailurePolicyConstant.hasMaxRetries()) { return new ConstantFailurePolicy(jobFailurePolicyConstant.getMaxRetries()); } return new ConstantFailurePolicy( Duration.of(jobFailurePolicyConstant.getInterval().getNanos(), ChronoUnit.NANOS)); } /** * {@inheritDoc} */ public Mono deleteJob(DeleteJobRequest deleteJobRequest) { try { validateDeleteJobRequest(deleteJobRequest); Mono deleteJobResponseMono = Mono.deferContextual(context -> this.createMono( it -> intercept(context, asyncStub) .deleteJobAlpha1(DaprJobsProtos.DeleteJobRequest.newBuilder() .setName(deleteJobRequest.getName()).build(), it) ) ); return deleteJobResponseMono.then(); } catch (Exception ex) { return DaprException.wrapMono(ex); } } private void validateScheduleJobRequest(ScheduleJobRequest scheduleJobRequest) { if (scheduleJobRequest == null) { throw new IllegalArgumentException("scheduleJobRequest cannot be null"); } if (scheduleJobRequest.getName() == null || scheduleJobRequest.getName().isEmpty()) { throw new IllegalArgumentException("Name in the request cannot be null or empty"); } if (scheduleJobRequest.getSchedule() == null && scheduleJobRequest.getDueTime() == null) { throw new IllegalArgumentException("At least one of schedule or dueTime must be provided"); } } private void validateGetJobRequest(GetJobRequest getJobRequest) { if (getJobRequest == null) { throw new IllegalArgumentException("getJobRequest cannot be null"); } if (getJobRequest.getName() == null || getJobRequest.getName().isEmpty()) { throw new IllegalArgumentException("Name in the request cannot be null or empty"); } } private void validateDeleteJobRequest(DeleteJobRequest deleteJobRequest) { if (deleteJobRequest == null) { throw new IllegalArgumentException("deleteJobRequest cannot be null"); } if (deleteJobRequest.getName() == null || deleteJobRequest.getName().isEmpty()) { throw new IllegalArgumentException("Name in the request cannot be null or empty"); } } /** * Build a new Configuration Item from provided parameter. * * @param configurationItem CommonProtos.ConfigurationItem * @return io.dapr.client.domain.ConfigurationItem */ private ConfigurationItem buildConfigurationItem( CommonProtos.ConfigurationItem configurationItem, String key) { return new ConfigurationItem( key, configurationItem.getValue(), configurationItem.getVersion(), configurationItem.getMetadataMap()); } /** * Populates GRPC client with interceptors for telemetry. * * @param context Reactor's context. * @param client GRPC client for Dapr. * @return Client after adding interceptors. */ private DaprGrpc.DaprStub intercept(ContextView context, DaprGrpc.DaprStub client) { return this.grpcInterceptors.intercept(client, context); } /** * Populates GRPC client with interceptors for telemetry. * * @param context Reactor's context. * @param client GRPC client for Dapr. * @param metadataConsumer Consumer of gRPC metadata. * @return Client after adding interceptors. */ private DaprGrpc.DaprStub intercept( ContextView context, DaprGrpc.DaprStub client, Consumer metadataConsumer) { return this.grpcInterceptors.intercept(client, context, metadataConsumer); } private Mono createMono(Consumer> consumer) { return this.createMono(null, consumer); } private Mono createMono(Metadata metadata, Consumer> consumer) { return retryPolicy.apply( Mono.create(sink -> DaprException.wrap(() -> consumer.accept( createStreamObserver(sink, metadata))).run())); } private Flux createFlux(Consumer> consumer) { return this.createFlux(null, consumer); } private Flux createFlux(Metadata metadata, Consumer> consumer) { return retryPolicy.apply( Flux.create(sink -> DaprException.wrap(() -> consumer.accept(createStreamObserver(sink, metadata))).run())); } private StreamObserver createStreamObserver(MonoSink sink, Metadata grpcMetadata) { return new StreamObserver() { @Override public void onNext(T value) { sink.success(value); } @Override public void onError(Throwable t) { sink.error(DaprException.propagate(DaprHttpException.fromGrpcExecutionException(grpcMetadata, t))); } @Override public void onCompleted() { sink.success(); } }; } private StreamObserver createStreamObserver(FluxSink sink, final Metadata grpcMetadata) { return new StreamObserver() { @Override public void onNext(T value) { sink.next(value); } @Override public void onError(Throwable t) { sink.error(DaprException.propagate(DaprHttpException.fromGrpcExecutionException(grpcMetadata, t))); } @Override public void onCompleted() { sink.complete(); } }; } @Override public Mono getMetadata() { DaprMetadataProtos.GetMetadataRequest metadataRequest = DaprMetadataProtos.GetMetadataRequest.newBuilder().build(); return Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).getMetadata(metadataRequest, it))) .map( it -> { try { return buildDaprMetadata(it); } catch (IOException ex) { throw DaprException.propagate(ex); } }); } /** * {@inheritDoc} */ @Deprecated(forRemoval = true) @Override public Mono converse(ConversationRequest conversationRequest) { try { validateConversationRequest(conversationRequest); DaprAiProtos.ConversationRequest.Builder protosConversationRequestBuilder = DaprAiProtos.ConversationRequest .newBuilder().setTemperature(conversationRequest.getTemperature()) .setScrubPII(conversationRequest.isScrubPii()) .setName(conversationRequest.getName()); if (conversationRequest.getContextId() != null) { protosConversationRequestBuilder.setContextID(conversationRequest.getContextId()); } for (ConversationInput input : conversationRequest.getInputs()) { if (input.getContent() == null || input.getContent().isEmpty()) { throw new IllegalArgumentException("Conversation input content cannot be null or empty."); } DaprAiProtos.ConversationInput.Builder conversationInputOrBuilder = DaprAiProtos.ConversationInput.newBuilder() .setContent(input.getContent()) .setScrubPII(input.isScrubPii()); if (input.getRole() != null) { conversationInputOrBuilder.setRole(input.getRole().toString()); } protosConversationRequestBuilder.addInputs(conversationInputOrBuilder.build()); } Mono conversationResponseMono = Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub) .converseAlpha1(protosConversationRequestBuilder.build(), it) ) ); return conversationResponseMono.map(conversationResponse -> { List conversationOutputs = new ArrayList<>(); for (DaprAiProtos.ConversationResult conversationResult : conversationResponse.getOutputsList()) { Map parameters = new HashMap<>(); for (Map.Entry entrySet : conversationResult.getParametersMap().entrySet()) { parameters.put(entrySet.getKey(), entrySet.getValue().toByteArray()); } ConversationOutput conversationOutput = new ConversationOutput(conversationResult.getResult(), parameters); conversationOutputs.add(conversationOutput); } return new ConversationResponse(conversationResponse.getContextID(), conversationOutputs); }); } catch (Exception ex) { return DaprException.wrapMono(ex); } } private void validateConversationRequest(ConversationRequest conversationRequest) { if ((conversationRequest.getName() == null) || (conversationRequest.getName().trim().isEmpty())) { throw new IllegalArgumentException("LLM name cannot be null or empty."); } if ((conversationRequest.getInputs() == null) || (conversationRequest .getInputs().isEmpty())) { throw new IllegalArgumentException("Conversation inputs cannot be null or empty."); } } /** * {@inheritDoc} */ @Override public Mono converseAlpha2(ConversationRequestAlpha2 conversationRequestAlpha2) { try { if ((conversationRequestAlpha2.getName() == null) || (conversationRequestAlpha2.getName().trim().isEmpty())) { throw new IllegalArgumentException("LLM name cannot be null or empty."); } if (conversationRequestAlpha2.getInputs() == null || conversationRequestAlpha2.getInputs().isEmpty()) { throw new IllegalArgumentException("Conversation Inputs cannot be null or empty."); } DaprAiProtos.ConversationRequestAlpha2 protoRequest = buildConversationRequestProto(conversationRequestAlpha2); Mono conversationResponseMono = Mono.deferContextual( context -> this.createMono( it -> intercept(context, asyncStub).converseAlpha2(protoRequest, it) ) ); DaprAiProtos.ConversationResponseAlpha2 conversationResponse = conversationResponseMono.block(); assert conversationResponse != null; List results = buildConversationResults(conversationResponse.getOutputsList()); return Mono.just(new ConversationResponseAlpha2(conversationResponse.getContextId(), results)); } catch (Exception ex) { return DaprException.wrapMono(ex); } } private DaprAiProtos.ConversationRequestAlpha2 buildConversationRequestProto(ConversationRequestAlpha2 request) { DaprAiProtos.ConversationRequestAlpha2.Builder builder = DaprAiProtos.ConversationRequestAlpha2 .newBuilder() .setTemperature(request.getTemperature()) .setScrubPii(request.isScrubPii()) .setName(request.getName()); if (request.getContextId() != null) { builder.setContextId(request.getContextId()); } if (request.getToolChoice() != null) { builder.setToolChoice(request.getToolChoice()); } if (request.getTools() != null) { for (ConversationTools tool : request.getTools()) { builder.addTools(buildConversationTools(tool)); } } if (request.getMetadata() != null) { builder.putAllMetadata(request.getMetadata()); } if (request.getParameters() != null) { Map parameters = request.getParameters() .entrySet().stream() .collect(Collectors.toMap( Map.Entry::getKey, e -> { try { return Any.newBuilder().setValue(ByteString.copyFrom(objectSerializer.serialize(e.getValue()))) .build(); } catch (IOException ex) { throw new RuntimeException(ex); } }) ); builder.putAllParameters(parameters); } for (ConversationInputAlpha2 input : request.getInputs()) { DaprAiProtos.ConversationInputAlpha2.Builder inputBuilder = DaprAiProtos.ConversationInputAlpha2 .newBuilder() .setScrubPii(input.isScrubPii()); if (input.getMessages() != null) { for (ConversationMessage message : input.getMessages()) { DaprAiProtos.ConversationMessage protoMessage = buildConversationMessage(message); inputBuilder.addMessages(protoMessage); } } builder.addInputs(inputBuilder.build()); } if (request.getResponseFormat() != null) { builder.setResponseFormat(request.getResponseFormat()); } if (request.getPromptCacheRetention() != null) { Duration javaDuration = request.getPromptCacheRetention(); builder.setPromptCacheRetention( com.google.protobuf.Duration.newBuilder() .setSeconds(javaDuration.getSeconds()) .setNanos(javaDuration.getNano()) .build() ); } return builder.build(); } private DaprAiProtos.ConversationTools buildConversationTools(ConversationTools tool) { ConversationToolsFunction function = tool.getFunction(); DaprAiProtos.ConversationToolsFunction.Builder protoFunction = DaprAiProtos.ConversationToolsFunction.newBuilder() .setName(function.getName()); if (function.getDescription() != null) { protoFunction.setDescription(function.getDescription()); } if (function.getParameters() != null) { Map functionParams = function.getParameters() .entrySet().stream() .collect(Collectors.toMap( Map.Entry::getKey, e -> { try { return ProtobufValueHelper.toProtobufValue(e.getValue()); } catch (IOException ex) { throw new RuntimeException(ex); } } )); protoFunction.setParameters(Struct.newBuilder().putAllFields(functionParams).build()); } return DaprAiProtos.ConversationTools.newBuilder().setFunction(protoFunction).build(); } private DaprAiProtos.ConversationMessage buildConversationMessage(ConversationMessage message) { DaprAiProtos.ConversationMessage.Builder messageBuilder = DaprAiProtos.ConversationMessage.newBuilder(); switch (message.getRole()) { case TOOL: DaprAiProtos.ConversationMessageOfTool.Builder toolMessage = DaprAiProtos.ConversationMessageOfTool.newBuilder(); if (message.getName() != null) { toolMessage.setName(message.getName()); } if (message.getContent() != null) { toolMessage.addAllContent(getConversationMessageContent(message)); } if (((ToolMessage)message).getToolId() != null) { toolMessage.setToolId(((ToolMessage)message).getToolId()); } messageBuilder.setOfTool(toolMessage); break; case USER: DaprAiProtos.ConversationMessageOfUser.Builder userMessage = DaprAiProtos.ConversationMessageOfUser.newBuilder(); if (message.getName() != null) { userMessage.setName(message.getName()); } if (message.getContent() != null) { userMessage.addAllContent(getConversationMessageContent(message)); } messageBuilder.setOfUser(userMessage); break; case ASSISTANT: DaprAiProtos.ConversationMessageOfAssistant.Builder assistantMessage = DaprAiProtos.ConversationMessageOfAssistant.newBuilder(); if (message.getName() != null) { assistantMessage.setName(message.getName()); } if (message.getContent() != null) { assistantMessage.addAllContent(getConversationMessageContent(message)); } if (((AssistantMessage)message).getToolCalls() != null) { assistantMessage.addAllToolCalls(getConversationToolCalls((AssistantMessage)message)); } messageBuilder.setOfAssistant(assistantMessage); break; case DEVELOPER: DaprAiProtos.ConversationMessageOfDeveloper.Builder developerMessage = DaprAiProtos.ConversationMessageOfDeveloper.newBuilder(); if (message.getName() != null) { developerMessage.setName(message.getName()); } if (message.getContent() != null) { developerMessage.addAllContent(getConversationMessageContent(message)); } messageBuilder.setOfDeveloper(developerMessage); break; case SYSTEM: DaprAiProtos.ConversationMessageOfSystem.Builder systemMessage = DaprAiProtos.ConversationMessageOfSystem.newBuilder(); if (message.getName() != null) { systemMessage.setName(message.getName()); } if (message.getContent() != null) { systemMessage.addAllContent(getConversationMessageContent(message)); } messageBuilder.setOfSystem(systemMessage); break; default: throw new IllegalArgumentException("No role of type " + message.getRole() + " found"); } return messageBuilder.build(); } private List buildConversationResults( List protoResults) { List results = new ArrayList<>(); for (DaprAiProtos.ConversationResultAlpha2 protoResult : protoResults) { List choices = new ArrayList<>(); for (DaprAiProtos.ConversationResultChoices protoChoice : protoResult.getChoicesList()) { ConversationResultMessage message = buildConversationResultMessage(protoChoice); choices.add(new ConversationResultChoices(protoChoice.getFinishReason(), protoChoice.getIndex(), message)); } results.add(new ConversationResultAlpha2( choices, protoResult.getModel(), getConversationResultCompletionUsage(protoResult)) ); } return results; } private static ConversationResultCompletionUsage getConversationResultCompletionUsage( DaprAiProtos.ConversationResultAlpha2 protoResult) { var usage = new ConversationResultCompletionUsage( protoResult.getUsage().getCompletionTokens(), protoResult.getUsage().getPromptTokens(), protoResult.getUsage().getTotalTokens()); usage.setCompletionTokenDetails(new ConversationResultCompletionUsageDetails( protoResult.getUsage().getCompletionTokensDetails().getAcceptedPredictionTokens(), protoResult.getUsage().getCompletionTokensDetails().getAudioTokens(), protoResult.getUsage().getCompletionTokensDetails().getReasoningTokens(), protoResult.getUsage().getCompletionTokensDetails().getRejectedPredictionTokens())); usage.setPromptTokenDetails(new ConversationResultPromptUsageDetails( protoResult.getUsage().getPromptTokensDetails().getAudioTokens(), protoResult.getUsage().getPromptTokensDetails().getCachedTokens() )); return usage; } private ConversationResultMessage buildConversationResultMessage(DaprAiProtos.ConversationResultChoices protoChoice) { if (!protoChoice.hasMessage()) { return null; } List toolCalls = new ArrayList<>(); for (DaprAiProtos.ConversationToolCalls protoToolCall : protoChoice.getMessage().getToolCallsList()) { ConversationToolCallsOfFunction function = null; if (protoToolCall.hasFunction()) { function = new ConversationToolCallsOfFunction( protoToolCall.getFunction().getName(), protoToolCall.getFunction().getArguments() ); } ConversationToolCalls conversationToolCalls = new ConversationToolCalls(function); conversationToolCalls.setId(protoToolCall.getId()); toolCalls.add(conversationToolCalls); } return new ConversationResultMessage(protoChoice.getMessage().getContent(), toolCalls ); } private List getConversationMessageContent( ConversationMessage conversationMessage) { List conversationMessageContents = new ArrayList<>(); for (ConversationMessageContent conversationMessageContent: conversationMessage.getContent()) { conversationMessageContents.add(DaprAiProtos.ConversationMessageContent.newBuilder() .setText(conversationMessageContent.getText()) .build()); } return conversationMessageContents; } private List getConversationToolCalls( AssistantMessage assistantMessage) { List conversationToolCalls = new ArrayList<>(); for (ConversationToolCalls conversationToolCall: assistantMessage.getToolCalls()) { DaprAiProtos.ConversationToolCalls.Builder toolCallsBuilder = DaprAiProtos.ConversationToolCalls.newBuilder() .setFunction(DaprAiProtos.ConversationToolCallsOfFunction.newBuilder() .setName(conversationToolCall.getFunction().getName()) .setArguments(conversationToolCall.getFunction().getArguments()) .build()); if (conversationToolCall.getId() != null) { toolCallsBuilder.setId(conversationToolCall.getId()); } conversationToolCalls.add(toolCallsBuilder.build()); } return conversationToolCalls; } private DaprMetadata buildDaprMetadata(DaprMetadataProtos.GetMetadataResponse response) throws IOException { String id = response.getId(); String runtimeVersion = response.getRuntimeVersion(); List enabledFeatures = response.getEnabledFeaturesList(); List actors = getActors(response); Map attributes = response.getExtendedMetadataMap(); List components = getComponents(response); List httpEndpoints = getHttpEndpoints(response); List subscriptions = getSubscriptions(response); AppConnectionPropertiesMetadata appConnectionProperties = getAppConnectionProperties(response); return new DaprMetadata(id, runtimeVersion, enabledFeatures, actors, attributes, components, httpEndpoints, subscriptions, appConnectionProperties); } private List getActors(DaprMetadataProtos.GetMetadataResponse response) { DaprMetadataProtos.ActorRuntime actorRuntime = response.getActorRuntime(); List activeActorsList = actorRuntime.getActiveActorsList(); List actors = new ArrayList<>(); for (DaprMetadataProtos.ActiveActorsCount aac : activeActorsList) { actors.add(new ActorMetadata(aac.getType(), aac.getCount())); } return actors; } private List getComponents(DaprMetadataProtos.GetMetadataResponse response) { List registeredComponentsList = response.getRegisteredComponentsList(); List components = new ArrayList<>(); for (DaprMetadataProtos.RegisteredComponents rc : registeredComponentsList) { components.add(new ComponentMetadata(rc.getName(), rc.getType(), rc.getVersion(), rc.getCapabilitiesList())); } return components; } private List getSubscriptions(DaprMetadataProtos.GetMetadataResponse response) { List subscriptionsList = response.getSubscriptionsList(); List subscriptions = new ArrayList<>(); for (DaprMetadataProtos.PubsubSubscription s : subscriptionsList) { List rulesList = s.getRules().getRulesList(); List rules = new ArrayList<>(); for (DaprMetadataProtos.PubsubSubscriptionRule r : rulesList) { rules.add(new RuleMetadata(r.getMatch(), r.getPath())); } subscriptions.add(new SubscriptionMetadata(s.getPubsubName(), s.getTopic(), s.getMetadataMap(), rules, s.getDeadLetterTopic())); } return subscriptions; } private List getHttpEndpoints(DaprMetadataProtos.GetMetadataResponse response) { List httpEndpointsList = response.getHttpEndpointsList(); List httpEndpoints = new ArrayList<>(); for (DaprMetadataProtos.MetadataHTTPEndpoint m : httpEndpointsList) { httpEndpoints.add(new HttpEndpointMetadata(m.getName())); } return httpEndpoints; } private AppConnectionPropertiesMetadata getAppConnectionProperties(DaprMetadataProtos.GetMetadataResponse response) { DaprMetadataProtos.AppConnectionProperties appConnectionProperties = response.getAppConnectionProperties(); int port = appConnectionProperties.getPort(); String protocol = appConnectionProperties.getProtocol(); String channelAddress = appConnectionProperties.getChannelAddress(); int maxConcurrency = appConnectionProperties.getMaxConcurrency(); AppConnectionPropertiesHealthMetadata health = getAppConnectionPropertiesHealth(appConnectionProperties); return new AppConnectionPropertiesMetadata(port, protocol, channelAddress, maxConcurrency, health); } private AppConnectionPropertiesHealthMetadata getAppConnectionPropertiesHealth( DaprMetadataProtos.AppConnectionProperties appConnectionProperties) { if (!appConnectionProperties.hasHealth()) { return null; } DaprMetadataProtos.AppConnectionHealthProperties health = appConnectionProperties.getHealth(); String healthCheckPath = health.getHealthCheckPath(); String healthProbeInterval = health.getHealthProbeInterval(); String healthProbeTimeout = health.getHealthProbeTimeout(); int healthThreshold = health.getHealthThreshold(); return new AppConnectionPropertiesHealthMetadata(healthCheckPath, healthProbeInterval, healthProbeTimeout, healthThreshold); } /** * {@inheritDoc} */ @Override public Flux encrypt(EncryptRequestAlpha1 request) { try { if (request == null) { throw new IllegalArgumentException("EncryptRequestAlpha1 cannot be null."); } if (request.getComponentName() == null || request.getComponentName().trim().isEmpty()) { throw new IllegalArgumentException("Component name cannot be null or empty."); } if (request.getKeyName() == null || request.getKeyName().trim().isEmpty()) { throw new IllegalArgumentException("Key name cannot be null or empty."); } if (request.getKeyWrapAlgorithm() == null || request.getKeyWrapAlgorithm().trim().isEmpty()) { throw new IllegalArgumentException("Key wrap algorithm cannot be null or empty."); } if (request.getPlainTextStream() == null) { throw new IllegalArgumentException("Plaintext stream cannot be null."); } return Flux.create(sink -> { // Create response observer to receive encrypted data final StreamObserver responseObserver = new StreamObserver() { @Override public void onNext(DaprCryptoProtos.EncryptResponse response) { if (response.hasPayload()) { byte[] data = response.getPayload().getData().toByteArray(); if (data.length > 0) { sink.next(data); } } } @Override public void onError(Throwable t) { sink.error(DaprException.propagate(new DaprException("ENCRYPT_ERROR", "Error during encryption: " + t.getMessage(), t))); } @Override public void onCompleted() { sink.complete(); } }; // Build options for the first message DaprCryptoProtos.EncryptRequestOptions.Builder optionsBuilder = DaprCryptoProtos.EncryptRequestOptions .newBuilder() .setComponentName(request.getComponentName()) .setKeyName(request.getKeyName()) .setKeyWrapAlgorithm(request.getKeyWrapAlgorithm()); if (request.getDataEncryptionCipher() != null && !request.getDataEncryptionCipher().isEmpty()) { optionsBuilder.setDataEncryptionCipher(request.getDataEncryptionCipher()); } optionsBuilder.setOmitDecryptionKeyName(request.isOmitDecryptionKeyName()); if (request.getDecryptionKeyName() != null && !request.getDecryptionKeyName().isEmpty()) { optionsBuilder.setDecryptionKeyName(request.getDecryptionKeyName()); } final DaprCryptoProtos.EncryptRequestOptions options = optionsBuilder.build(); final long[] sequenceNumber = {0}; final boolean[] firstMessage = {true}; // Get the request stream observer from gRPC final StreamObserver requestObserver = intercept(null, asyncStub).encryptAlpha1(responseObserver); // Subscribe to the plaintext stream and send chunks request.getPlainTextStream() .doOnNext(chunk -> { DaprCryptoProtos.EncryptRequest.Builder reqBuilder = DaprCryptoProtos.EncryptRequest.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(chunk)) .setSeq(sequenceNumber[0]++) .build()); // Include options only in the first message if (firstMessage[0]) { reqBuilder.setOptions(options); firstMessage[0] = false; } requestObserver.onNext(reqBuilder.build()); }) .doOnError(error -> { requestObserver.onError(error); sink.error(DaprException.propagate(new DaprException("ENCRYPT_ERROR", "Error reading plaintext stream: " + error.getMessage(), error))); }) .doOnComplete(() -> { requestObserver.onCompleted(); }) .subscribe(); }); } catch (Exception ex) { return DaprException.wrapFlux(ex); } } /** * {@inheritDoc} */ @Override public Flux decrypt(DecryptRequestAlpha1 request) { try { if (request == null) { throw new IllegalArgumentException("DecryptRequestAlpha1 cannot be null."); } if (request.getComponentName() == null || request.getComponentName().trim().isEmpty()) { throw new IllegalArgumentException("Component name cannot be null or empty."); } if (request.getCipherTextStream() == null) { throw new IllegalArgumentException("Ciphertext stream cannot be null."); } return Flux.create(sink -> { // Create response observer to receive decrypted data final StreamObserver responseObserver = new StreamObserver() { @Override public void onNext(DaprCryptoProtos.DecryptResponse response) { if (response.hasPayload()) { byte[] data = response.getPayload().getData().toByteArray(); if (data.length > 0) { sink.next(data); } } } @Override public void onError(Throwable t) { sink.error(DaprException.propagate(new DaprException("DECRYPT_ERROR", "Error during decryption: " + t.getMessage(), t))); } @Override public void onCompleted() { sink.complete(); } }; // Build options for the first message DaprCryptoProtos.DecryptRequestOptions.Builder optionsBuilder = DaprCryptoProtos.DecryptRequestOptions .newBuilder() .setComponentName(request.getComponentName()); if (request.getKeyName() != null && !request.getKeyName().isEmpty()) { optionsBuilder.setKeyName(request.getKeyName()); } final DaprCryptoProtos.DecryptRequestOptions options = optionsBuilder.build(); final long[] sequenceNumber = {0}; final boolean[] firstMessage = {true}; // Get the request stream observer from gRPC final StreamObserver requestObserver = intercept(null, asyncStub).decryptAlpha1(responseObserver); // Subscribe to the ciphertext stream and send chunks request.getCipherTextStream() .doOnNext(chunk -> { DaprCryptoProtos.DecryptRequest.Builder reqBuilder = DaprCryptoProtos.DecryptRequest.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(chunk)) .setSeq(sequenceNumber[0]++) .build()); // Include options only in the first message if (firstMessage[0]) { reqBuilder.setOptions(options); firstMessage[0] = false; } requestObserver.onNext(reqBuilder.build()); }) .doOnError(error -> { requestObserver.onError(error); sink.error(DaprException.propagate(new DaprException("DECRYPT_ERROR", "Error reading ciphertext stream: " + error.getMessage(), error))); }) .doOnComplete(() -> { requestObserver.onCompleted(); }) .subscribe(); }); } catch (Exception ex) { return DaprException.wrapFlux(ex); } } } ================================================ FILE: sdk/src/main/java/io/dapr/client/DaprHttp.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.domain.Metadata; import io.dapr.exceptions.DaprError; import io.dapr.exceptions.DaprException; import io.dapr.internal.exceptions.DaprHttpException; import io.dapr.utils.Version; import reactor.core.publisher.Mono; import reactor.util.context.ContextView; import java.io.IOException; import java.net.URI; import java.net.URLEncoder; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.nio.charset.StandardCharsets; import java.time.Duration; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.UUID; import java.util.concurrent.CompletableFuture; public class DaprHttp implements AutoCloseable { /** * Dapr API used in this client. */ public static final String API_VERSION = "v1.0"; /** * Dapr alpha API used in this client. */ public static final String ALPHA_1_API_VERSION = "v1.0-alpha1"; /** * Header used for request id in Dapr. */ private static final String HEADER_DAPR_REQUEST_ID = "X-DaprRequestId"; /** * Dapr's http default scheme. */ private static final String DEFAULT_HTTP_SCHEME = "http"; /** * Context entries allowed to be in HTTP Headers. */ private static final Set ALLOWED_CONTEXT_IN_HEADERS = Set.of("grpc-trace-bin", "traceparent", "tracestate", "baggage"); /** * Object mapper to parse DaprError with or without details. */ private static final ObjectMapper DAPR_ERROR_DETAILS_OBJECT_MAPPER = new ObjectMapper(); /** * HTTP Methods supported. */ public enum HttpMethods { NONE, GET, PUT, POST, DELETE, HEAD, CONNECT, OPTIONS, TRACE, PATCH } public static class Response { private final byte[] body; private final Map headers; private final int statusCode; /** * Represents a HTTP response. * * @param body The body of the http response. * @param headers The headers of the http response. * @param statusCode The status code of the http response. */ public Response(byte[] body, Map headers, int statusCode) { this.body = body == null ? EMPTY_BYTES : Arrays.copyOf(body, body.length); this.headers = headers == null ? null : Collections.unmodifiableMap(headers); this.statusCode = statusCode; } public byte[] getBody() { return Arrays.copyOf(this.body, this.body.length); } public Map getHeaders() { return headers; } public int getStatusCode() { return statusCode; } } /** * Defines the standard application/json type for HTTP calls in Dapr. */ private static final String MEDIA_TYPE_APPLICATION_JSON = "application/json; charset=utf-8"; /** * Empty input or output. */ private static final byte[] EMPTY_BYTES = new byte[0]; /** * Empty Body Publisher. */ private static final HttpRequest.BodyPublisher EMPTY_BODY_PUBLISHER = HttpRequest.BodyPublishers.noBody(); /** * Endpoint used to communicate to Dapr's HTTP endpoint. */ private final URI uri; /** * Dapr API Token required to interact with DAPR APIs. */ private final String daprApiToken; /** * Http client request read timeout. */ private final Duration readTimeout; /** * Http client used for all API calls. */ private final HttpClient httpClient; /** * Creates a new instance of {@link DaprHttp}. * * @param hostname Hostname for calling Dapr. (e.g. "127.0.0.1") * @param port Port for calling Dapr. (e.g. 3500) * @param readTimeout HTTP request read timeout * @param httpClient RestClient used for all API calls in this new instance. */ DaprHttp(String hostname, int port, String daprApiToken, Duration readTimeout, HttpClient httpClient) { this.uri = URI.create(DEFAULT_HTTP_SCHEME + "://" + hostname + ":" + port); this.daprApiToken = daprApiToken; this.readTimeout = readTimeout; this.httpClient = httpClient; } /** * Creates a new instance of {@link DaprHttp}. * * @param uri Endpoint for calling Dapr. * @param readTimeout HTTP request read timeout * @param httpClient RestClient used for all API calls in this new instance. */ DaprHttp(String uri, String daprApiToken, Duration readTimeout, HttpClient httpClient) { this.uri = URI.create(uri); this.daprApiToken = daprApiToken; this.readTimeout = readTimeout; this.httpClient = httpClient; } /** * Invokes an API asynchronously without payload that returns a text payload. * * @param method HTTP method. * @param pathSegments Array of path segments ("/a/b/c" maps to ["a", "b", "c"]). * @param urlParameters URL parameters * @param headers HTTP headers. * @param context OpenTelemetry's Context. * @return Asynchronous text */ public Mono invokeApi( String method, String[] pathSegments, Map> urlParameters, Map headers, ContextView context) { return this.invokeApi(method, pathSegments, urlParameters, (byte[]) null, headers, context); } /** * Invokes an API asynchronously that returns a text payload. * * @param method HTTP method. * @param pathSegments Array of path segments ("/a/b/c" maps to ["a", "b", "c"]). * @param urlParameters Parameters in the URL * @param content payload to be posted. * @param headers HTTP headers. * @param context OpenTelemetry's Context. * @return Asynchronous response */ public Mono invokeApi( String method, String[] pathSegments, Map> urlParameters, String content, Map headers, ContextView context) { return this.invokeApi( method, pathSegments, urlParameters, content == null ? EMPTY_BYTES : content.getBytes(StandardCharsets.UTF_8), headers, context); } /** * Invokes an API asynchronously that returns a text payload. * * @param method HTTP method. * @param pathSegments Array of path segments ("/a/b/c" maps to ["a", "b", "c"]). * @param urlParameters Parameters in the URL * @param content payload to be posted. * @param headers HTTP headers. * @param context OpenTelemetry's Context. * @return Asynchronous response */ public Mono invokeApi( String method, String[] pathSegments, Map> urlParameters, byte[] content, Map headers, ContextView context) { // fromCallable() is needed so the invocation does not happen early, causing a hot mono. return Mono.fromCallable(() -> doInvokeApi(method, headers, pathSegments, urlParameters, content, context)) .flatMap(Mono::fromFuture); } /** * Shutdown call is not necessary for HttpClient. * @see HttpClient */ @Override public void close() { // No code needed } /** * Invokes an API that returns a text payload. * * @param method HTTP method. * @param pathSegments Array of path segments (/a/b/c -> ["a", "b", "c"]). * @param urlParameters Parameters in the URL * @param content payload to be posted. * @param headers HTTP headers. * @param context OpenTelemetry's Context. * @return CompletableFuture for Response. */ private CompletableFuture doInvokeApi( String method, Map headers, String[] pathSegments, Map> urlParameters, byte[] content, ContextView context) { HttpRequest.Builder requestBuilder = HttpRequest.newBuilder(); requestBuilder.uri(createUri(uri, pathSegments, urlParameters)); addHeader(requestBuilder, Headers.DAPR_USER_AGENT, Version.getSdkVersion()); addHeader(requestBuilder, HEADER_DAPR_REQUEST_ID, UUID.randomUUID().toString()); addHeader(requestBuilder, "Content-Type", getContentType(headers)); addHeaders(requestBuilder, headers); if (daprApiToken != null) { addHeader(requestBuilder, Headers.DAPR_API_TOKEN, daprApiToken); } if (context != null) { context.stream() .filter(entry -> ALLOWED_CONTEXT_IN_HEADERS.contains(entry.getKey().toString().toLowerCase())) .forEach(entry -> addHeader(requestBuilder, entry.getKey().toString(), entry.getValue().toString())); } HttpRequest.BodyPublisher body = getBodyPublisher(content); if (HttpMethods.GET.name().equals(method)) { requestBuilder.GET(); } else if (HttpMethods.DELETE.name().equals(method)) { requestBuilder.DELETE(); } else if (HttpMethods.HEAD.name().equals(method)) { // HTTP HEAD is not exposed as a normal method requestBuilder.method(HttpMethods.HEAD.name(), EMPTY_BODY_PUBLISHER); } else { requestBuilder.method(method, body); } HttpRequest request = requestBuilder.timeout(readTimeout).build(); return httpClient.sendAsync(request, HttpResponse.BodyHandlers.ofByteArray()) .thenApply(this::createResponse); } private static String getContentType(Map headers) { String result = headers != null ? headers.get(Metadata.CONTENT_TYPE) : null; return result == null ? MEDIA_TYPE_APPLICATION_JSON : result; } private static URI createUri(URI uri, String[] pathSegments, Map> urlParameters) { String path = createPath(uri, pathSegments); String query = createQuery(urlParameters); StringBuilder result = new StringBuilder(); result.append(uri.getScheme()).append("://").append(uri.getAuthority()).append(path); if (query != null) { result.append("?").append(query); } try { return URI.create(result.toString()); } catch (IllegalArgumentException exception) { throw new DaprException(exception); } } private static String createPath(URI uri, String[] pathSegments) { String basePath = uri.getPath(); if (pathSegments == null || pathSegments.length == 0) { return basePath; } StringBuilder pathBuilder = new StringBuilder(basePath); if (!basePath.endsWith("/")) { // Add a "/" if needed pathBuilder.append("/"); } for (String segment : pathSegments) { if (segment == null || segment.isEmpty()) { continue; // Skip empty segments } pathBuilder.append(encodePathSegment(segment)).append("/"); // Encode each segment } pathBuilder.deleteCharAt(pathBuilder.length() - 1); // Remove the trailing "/" return pathBuilder.toString(); } private static String createQuery(Map> urlParameters) { if (urlParameters == null || urlParameters.isEmpty()) { return null; } StringBuilder queryBuilder = new StringBuilder(); for (Map.Entry> entry : urlParameters.entrySet()) { String key = entry.getKey(); if (key == null || key.isEmpty()) { continue; // Skip empty keys } List values = entry.getValue(); for (String value : values) { if (queryBuilder.length() > 0) { queryBuilder.append("&"); } queryBuilder.append(encodeQueryParam(key, value)); // Encode key and value } } return queryBuilder.toString(); } private static String encodePathSegment(String segment) { return URLEncoder.encode(segment, StandardCharsets.UTF_8).replace("+", "%20"); // Encode and handle spaces } private static String encodeQueryParam(String key, String value) { return URLEncoder.encode(key, StandardCharsets.UTF_8) + "=" + URLEncoder.encode(value, StandardCharsets.UTF_8); } private static void addHeader(HttpRequest.Builder requestBuilder, String name, String value) { requestBuilder.header(name, value); } private static void addHeaders(HttpRequest.Builder requestBuilder, Map headers) { if (headers == null || headers.isEmpty()) { return; } headers.forEach((k, v) -> addHeader(requestBuilder, k, v)); } private static HttpRequest.BodyPublisher getBodyPublisher(byte[] content) { return HttpRequest.BodyPublishers.ofByteArray(Objects.requireNonNullElse(content, EMPTY_BYTES)); } private Response createResponse(HttpResponse httpResponse) { Optional headerValue = httpResponse.headers().firstValue("Metadata.statuscode"); int httpStatusCode = parseHttpStatusCode(headerValue, httpResponse.statusCode()); byte[] body = getBodyBytesOrEmptyArray(httpResponse.body()); if (!DaprHttpException.isSuccessfulHttpStatusCode(httpStatusCode)) { DaprError error = parseDaprError(body); if (error != null) { throw new DaprException(error, body, httpStatusCode); } else { throw new DaprException("UNKNOWN", "", body, httpStatusCode); } } Map responseHeaders = new HashMap<>(); httpResponse.headers().map().forEach((k, v) -> responseHeaders.put(k, v.isEmpty() ? null : v.get(0))); return new Response(body, responseHeaders, httpStatusCode); } /** * Tries to parse an error from Dapr response body. * * @param json Response body from Dapr. * @return DaprError or null if could not parse. */ private static DaprError parseDaprError(byte[] json) { if ((json == null) || (json.length == 0)) { return null; } try { return DAPR_ERROR_DETAILS_OBJECT_MAPPER.readValue(json, DaprError.class); } catch (IOException e) { // Could not parse DaprError. Return null. return null; } } private static byte[] getBodyBytesOrEmptyArray(byte[] body) { return body == null ? EMPTY_BYTES : body; } private static int parseHttpStatusCode(Optional headerValue, int defaultStatusCode) { if (headerValue.isEmpty()) { return defaultStatusCode; } // Metadata used to override status code with code received from HTTP binding. try { int httpStatusCode = Integer.parseInt(headerValue.get()); if (DaprHttpException.isValidHttpStatusCode(httpStatusCode)) { return httpStatusCode; } return defaultStatusCode; } catch (NumberFormatException nfe) { return defaultStatusCode; } } } ================================================ FILE: sdk/src/main/java/io/dapr/client/DaprHttpBuilder.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.config.Properties; import java.net.http.HttpClient; import java.time.Duration; import java.util.concurrent.Executor; import java.util.concurrent.Executors; import static io.dapr.config.Properties.API_TOKEN; import static io.dapr.config.Properties.HTTP_CLIENT_MAX_REQUESTS; import static io.dapr.config.Properties.HTTP_CLIENT_READ_TIMEOUT_SECONDS; import static io.dapr.config.Properties.HTTP_ENDPOINT; import static io.dapr.config.Properties.HTTP_PORT; import static io.dapr.config.Properties.SIDECAR_IP; /** * A builder for the DaprHttp. */ public class DaprHttpBuilder { private static volatile HttpClient HTTP_CLIENT; /** * Static lock object. */ private static final Object LOCK = new Object(); /** * Build an instance of the Http client based on the provided setup. * @param properties to configure the DaprHttp client * @return an instance of {@link DaprHttp} * @throws IllegalStateException if any required field is missing */ public DaprHttp build(Properties properties) { return buildDaprHttp(properties); } /** * Creates an instance of the HTTP Client. * @param properties to configure the DaprHttp client * @return Instance of {@link DaprHttp} */ private DaprHttp buildDaprHttp(Properties properties) { if (HTTP_CLIENT == null) { synchronized (LOCK) { if (HTTP_CLIENT == null) { int maxRequests = properties.getValue(HTTP_CLIENT_MAX_REQUESTS); Executor executor = Executors.newFixedThreadPool(maxRequests); HTTP_CLIENT = HttpClient.newBuilder() .executor(executor) .version(HttpClient.Version.HTTP_1_1) .build(); } } } String endpoint = properties.getValue(HTTP_ENDPOINT); String apiToken = properties.getValue(API_TOKEN); Duration readTimeout = Duration.ofSeconds(properties.getValue(HTTP_CLIENT_READ_TIMEOUT_SECONDS)); if ((endpoint != null) && !endpoint.isEmpty()) { return new DaprHttp(endpoint, apiToken, readTimeout, HTTP_CLIENT); } String sidecarIp = properties.getValue(SIDECAR_IP); int port = properties.getValue(HTTP_PORT); return new DaprHttp(sidecarIp, port, apiToken, readTimeout, HTTP_CLIENT); } } ================================================ FILE: sdk/src/main/java/io/dapr/client/DaprPreviewClient.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.client.domain.BulkPublishEntry; import io.dapr.client.domain.BulkPublishRequest; import io.dapr.client.domain.BulkPublishResponse; import io.dapr.client.domain.BulkPublishResponseFailedEntry; import io.dapr.client.domain.ConversationRequest; import io.dapr.client.domain.ConversationRequestAlpha2; import io.dapr.client.domain.ConversationResponse; import io.dapr.client.domain.ConversationResponseAlpha2; import io.dapr.client.domain.DecryptRequestAlpha1; import io.dapr.client.domain.EncryptRequestAlpha1; import io.dapr.client.domain.LockRequest; import io.dapr.client.domain.QueryStateRequest; import io.dapr.client.domain.QueryStateResponse; import io.dapr.client.domain.UnlockRequest; import io.dapr.client.domain.UnlockResponseStatus; import io.dapr.client.domain.query.Query; import io.dapr.utils.TypeRef; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import java.util.List; import java.util.Map; /** * Generic client interface for preview or alpha APIs in Dapr, regardless of GRPC or HTTP. * * @see io.dapr.client.DaprClientBuilder for information on how to make instance for this interface. */ public interface DaprPreviewClient extends AutoCloseable { /** * Query for states using a query string. * * @param storeName Name of the state store to query. * @param query String value of the query. * @param metadata Optional metadata passed to the state store. * @param clazz The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono of QueryStateResponse of type T. */ Mono> queryState(String storeName, String query, Map metadata, Class clazz); /** * Query for states using a query string. * * @param storeName Name of the state store to query. * @param query String value of the query. * @param metadata Optional metadata passed to the state store. * @param type The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono of QueryStateResponse of type T. */ Mono> queryState(String storeName, String query, Map metadata, TypeRef type); /** * Query for states using a query string. * * @param storeName Name of the state store to query. * @param query String value of the query. * @param clazz The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono of QueryStateResponse of type T. */ Mono> queryState(String storeName, String query, Class clazz); /** * Query for states using a query string. * * @param storeName Name of the state store to query. * @param query String value of the query. * @param type The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono of QueryStateResponse of type T. */ Mono> queryState(String storeName, String query, TypeRef type); /** * Query for states using a query domain object. * * @param storeName Name of the state store to query. * @param query Query value domain object. * @param metadata Optional metadata passed to the state store. * @param clazz The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono of QueryStateResponse of type T. */ Mono> queryState(String storeName, Query query, Map metadata, Class clazz); /** * Query for states using a query domain object. * * @param storeName Name of the state store to query. * @param query Query value domain object. * @param metadata Optional metadata passed to the state store. * @param type The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono of QueryStateResponse of type T. */ Mono> queryState(String storeName, Query query, Map metadata, TypeRef type); /** * Query for states using a query domain object. * * @param storeName Name of the state store to query. * @param query Query value domain object. * @param clazz The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono of QueryStateResponse of type T. */ Mono> queryState(String storeName, Query query, Class clazz); /** * Query for states using a query domain object. * * @param storeName Name of the state store to query. * @param query Query value domain object. * @param type The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono of QueryStateResponse of type T. */ Mono> queryState(String storeName, Query query, TypeRef type); /** * Query for states using a query request. * * @param request Query request object. * @param clazz The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono of QueryStateResponse of type T. */ Mono> queryState(QueryStateRequest request, Class clazz); /** * Query for states using a query request. * * @param request Query request object. * @param type The type needed as return for the call. * @param The Type of the return, use byte[] to skip serialization. * @return A Mono of QueryStateResponse of type T. */ Mono> queryState(QueryStateRequest request, TypeRef type); /** * Publish multiple events to Dapr in a single request. * * @param request {@link BulkPublishRequest} object. * @param The type of events to publish in the call. * @return A Mono of {@link BulkPublishResponse} object. * @deprecated This method is now stable. Use {@link DaprClient#publishEvents(BulkPublishRequest)} instead. */ @Deprecated Mono> publishEvents(BulkPublishRequest request); /** * Publish multiple events to Dapr in a single request. * * @param pubsubName the pubsub name we will publish the event to. * @param topicName the topicName where the event will be published. * @param events the {@link List} of events to be published. * @param contentType the content type of the event. Use Mime based types. * @param The type of the events to publish in the call. * @return the {@link BulkPublishResponse} containing publish status of each event. * The "entryID" field in {@link BulkPublishEntry} in {@link BulkPublishResponseFailedEntry} will be * generated based on the order of events in the {@link List}. * @deprecated This method is now stable. * Use {@link DaprClient#publishEvents(String, String, String, List)} instead. */ @Deprecated Mono> publishEvents(String pubsubName, String topicName, String contentType, List events); /** * Publish multiple events to Dapr in a single request. * * @param pubsubName the pubsub name we will publish the event to. * @param topicName the topicName where the event will be published. * @param events the varargs of events to be published. * @param contentType the content type of the event. Use Mime based types. * @param The type of the events to publish in the call. * @return the {@link BulkPublishResponse} containing publish status of each event. * The "entryID" field in {@link BulkPublishEntry} in {@link BulkPublishResponseFailedEntry} will be * generated based on the order of events in the {@link List}. * @deprecated This method is now stable. * Use {@link DaprClient#publishEvents(String, String, String, Object[])} instead. */ @Deprecated Mono> publishEvents(String pubsubName, String topicName, String contentType, T... events); /** * Publish multiple events to Dapr in a single request. * * @param pubsubName the pubsub name we will publish the event to. * @param topicName the topicName where the event will be published. * @param events the {@link List} of events to be published. * @param contentType the content type of the event. Use Mime based types. * @param requestMetadata the metadata to be set at the request level for the {@link BulkPublishRequest}. * @param The type of the events to publish in the call. * @return the {@link BulkPublishResponse} containing publish status of each event. * The "entryID" field in {@link BulkPublishEntry} in {@link BulkPublishResponseFailedEntry} will be * generated based on the order of events in the {@link List}. * @deprecated This method is now stable. * Use {@link DaprClient#publishEvents(String, String, String, Map, List)} instead. */ @Deprecated Mono> publishEvents(String pubsubName, String topicName, String contentType, Map requestMetadata, List events); /** * Publish multiple events to Dapr in a single request. * * @param pubsubName the pubsub name we will publish the event to. * @param topicName the topicName where the event will be published. * @param events the varargs of events to be published. * @param contentType the content type of the event. Use Mime based types. * @param requestMetadata the metadata to be set at the request level for the {@link BulkPublishRequest}. * @param The type of the events to publish in the call. * @return the {@link BulkPublishResponse} containing publish status of each event. * The "entryID" field in {@link BulkPublishEntry} in {@link BulkPublishResponseFailedEntry} will be * generated based on the order of events in the {@link List}. * @deprecated This method is now stable. * Use {@link DaprClient#publishEvents(String, String, String, Map, Object[])} instead. */ @Deprecated Mono> publishEvents(String pubsubName, String topicName, String contentType, Map requestMetadata, T... events); /** * Tries to get a lock with an expiry. * @param storeName Name of the store * @param resourceId Lock key * @param lockOwner The identifier of lock owner * @param expiryInSeconds The time before expiry * @return Whether the lock is successful */ Mono tryLock(String storeName, String resourceId, String lockOwner, Integer expiryInSeconds); /** * Tries to get a lock with an expiry. * @param request The request to lock * @return Whether the lock is successful */ Mono tryLock(LockRequest request); /** * Unlocks a lock. * @param storeName Name of the store * @param resourceId Lock key * @param lockOwner The identifier of lock owner * @return Unlock result */ Mono unlock(String storeName, String resourceId, String lockOwner); /** * Unlocks a lock. * @param request The request to unlock * @return Unlock result */ Mono unlock(UnlockRequest request); /** * Subscribe to pubsub via streaming. * @param pubsubName Name of the pubsub component. * @param topic Name of the topic to subscribe to. * @param listener Callback methods to process events. * @param type Type for object deserialization. * @param Type of object deserialization. * @return An active subscription. * @deprecated Use {@link #subscribeToTopic(String, String, TypeRef)} instead for a more reactive approach. */ @Deprecated Subscription subscribeToEvents( String pubsubName, String topic, SubscriptionListener listener, TypeRef type); /** * Subscribe to pubsub events via streaming using Project Reactor Flux. * * @param pubsubName Name of the pubsub component. * @param topic Name of the topic to subscribe to. * @param type Type for object deserialization. * @param Type of the event payload. * @return A Flux of deserialized event payloads. * @deprecated Use {@link #subscribeToTopic(String, String, TypeRef)} instead. */ @Deprecated Flux subscribeToEvents(String pubsubName, String topic, TypeRef type); /** * Subscribe to pubsub events via streaming using Project Reactor Flux with metadata support. * * @param pubsubName Name of the pubsub component. * @param topic Name of the topic to subscribe to. * @param type Type for object deserialization. * @param metadata Subscription metadata (e.g., {"rawPayload": "true"}). * @param Type of the event payload. * @return A Flux of deserialized event payloads. * @deprecated Use {@link #subscribeToTopic(String, String, TypeRef, Map)} instead. */ @Deprecated Flux subscribeToEvents(String pubsubName, String topic, TypeRef type, Map metadata); /** * Subscribe to pubsub events via streaming using Project Reactor Flux. * *

    The type parameter determines what is deserialized from the event data: *

      *
    • Use {@code TypeRef.STRING} or similar for raw payload data
    • *
    • Use {@code new TypeRef>(){}} to receive CloudEvent with metadata
    • *
    * * @param pubsubName Name of the pubsub component. * @param topic Name of the topic to subscribe to. * @param type Type for object deserialization. * @return A Flux of deserialized event payloads. * @param Type of the event payload. */ Flux subscribeToTopic(String pubsubName, String topic, TypeRef type); /** * Subscribe to pubsub events via streaming using Project Reactor Flux with metadata support. * *

    If metadata is null or empty, this method delegates to {@link #subscribeToTopic(String, String, TypeRef)}. * Use metadata {@code {"rawPayload": "true"}} for raw payload subscriptions where Dapr * delivers messages without CloudEvent wrapping. * * @param pubsubName Name of the pubsub component. * @param topic Name of the topic to subscribe to. * @param type Type for object deserialization. * @param metadata Subscription metadata (e.g., {"rawPayload": "true"}). * @return A Flux of deserialized event payloads. * @param Type of the event payload. */ Flux subscribeToTopic(String pubsubName, String topic, TypeRef type, Map metadata); /* * Converse with an LLM. * * @param conversationRequest request to be passed to the LLM. * @return {@link ConversationResponse}. */ @Deprecated public Mono converse(ConversationRequest conversationRequest); /* * Converse with an LLM using Alpha2 API. * * @param conversationRequestAlpha2 request to be passed to the LLM with Alpha2 features. * @return {@link ConversationResponseAlpha2}. */ public Mono converseAlpha2(ConversationRequestAlpha2 conversationRequestAlpha2); /** * Encrypt data using the Dapr cryptography building block. * This method uses streaming to handle large payloads efficiently. * * @param request The encryption request containing component name, key information, and plaintext stream. * @return A Flux of encrypted byte arrays (ciphertext chunks). * @throws IllegalArgumentException if required parameters are missing. */ Flux encrypt(EncryptRequestAlpha1 request); /** * Decrypt data using the Dapr cryptography building block. * This method uses streaming to handle large payloads efficiently. * * @param request The decryption request containing component name, optional key name, and ciphertext stream. * @return A Flux of decrypted byte arrays (plaintext chunks). * @throws IllegalArgumentException if required parameters are missing. */ Flux decrypt(DecryptRequestAlpha1 request); } ================================================ FILE: sdk/src/main/java/io/dapr/client/GrpcChannelFacade.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.v1.DaprGrpc; import io.grpc.ManagedChannel; import java.io.Closeable; import java.io.IOException; /** * Facade for common operations on gRPC channel. * * @see DaprGrpc * @see DaprClient */ class GrpcChannelFacade implements Closeable { /** * The GRPC managed channel to be used. */ private final ManagedChannel channel; /** * Default access level constructor, in order to create an instance of this class use io.dapr.client.DaprClientBuilder * * @param channel A Managed GRPC channel * @see DaprClientBuilder */ GrpcChannelFacade(ManagedChannel channel) { this.channel = channel; } /** * Returns the gRPC channel to the sidecar. * @return Sidecar's gRPC channel. */ ManagedChannel getGrpcChannel() { return this.channel; } @Override public void close() throws IOException { if (channel != null && !channel.isShutdown()) { channel.shutdown(); } } } ================================================ FILE: sdk/src/main/java/io/dapr/client/Headers.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; /** * Common headers for GRPC and HTTP communication. */ public final class Headers { /** * OpenCensus's metadata for GRPC. */ public static final String GRPC_TRACE_BIN = "grpc-trace-bin"; /** * Token for authentication from Application to Dapr runtime. */ public static final String DAPR_API_TOKEN = "dapr-api-token"; /** * Header for Api Logging User-Agent. */ public static final String DAPR_USER_AGENT = "User-Agent"; /** * W3C Baggage header for context propagation. */ public static final String BAGGAGE = "baggage"; } ================================================ FILE: sdk/src/main/java/io/dapr/client/ObjectSerializer.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.protobuf.MessageLite; import io.dapr.client.domain.CloudEvent; import io.dapr.utils.TypeRef; import java.io.IOException; import java.lang.reflect.Method; /** * Serializes and deserializes an internal object. */ public class ObjectSerializer { /** * Shared Json serializer/deserializer as per Jackson's documentation. */ protected static final ObjectMapper OBJECT_MAPPER = new ObjectMapper() .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) .setSerializationInclusion(JsonInclude.Include.NON_NULL); /** * Default constructor to avoid class from being instantiated outside package but still inherited. */ protected ObjectSerializer() { } protected ObjectMapper getObjectMapper() { return OBJECT_MAPPER; } /** * Serializes a given state object into byte array. * * @param state State object to be serialized. * @return Array of bytes[] with the serialized content. * @throws IOException In case state cannot be serialized. */ public byte[] serialize(Object state) throws IOException { if (state == null) { return null; } if (state.getClass() == Void.class) { return null; } // Have this check here to be consistent with deserialization (see deserialize() method below). if (state instanceof byte[]) { return (byte[]) state; } // Proto buffer class is serialized directly. if (state instanceof MessageLite) { return ((MessageLite) state).toByteArray(); } // Not string, not primitive, so it is a complex type: we use JSON for that. return getObjectMapper().writeValueAsBytes(state); } /** * Deserializes the byte array into the original object. * * @param content Content to be parsed. * @param type Type of the object being deserialized. * @param Generic type of the object being deserialized. * @return Object of type T. * @throws IOException In case content cannot be deserialized. */ public T deserialize(byte[] content, TypeRef type) throws IOException { return deserialize(content, getObjectMapper().constructType(type.getType())); } /** * Deserializes the byte array into the original object. * * @param content Content to be parsed. * @param clazz Type of the object being deserialized. * @param Generic type of the object being deserialized. * @return Object of type T. * @throws IOException In case content cannot be deserialized. */ public T deserialize(byte[] content, Class clazz) throws IOException { return deserialize(content, getObjectMapper().constructType(clazz)); } private T deserialize(byte[] content, JavaType javaType) throws IOException { if ((javaType == null) || javaType.isTypeOrSubTypeOf(Void.class)) { return null; } if (javaType.isPrimitive()) { return deserializePrimitives(content, javaType); } if (content == null) { return null; } // Deserialization of GRPC response fails without this check since it does not come as base64 encoded byte[]. if (javaType.hasRawClass(byte[].class)) { return (T) content; } if (content.length == 0) { return null; } if (javaType.hasRawClass(CloudEvent.class)) { return (T) CloudEvent.deserialize(content); } if (javaType.isTypeOrSubTypeOf(MessageLite.class)) { try { Method method = javaType.getRawClass().getDeclaredMethod("parseFrom", byte[].class); if (method != null) { return (T) method.invoke(null, content); } } catch (NoSuchMethodException e) { // It was a best effort. Skip this try. } catch (Exception e) { throw new IOException(e); } } return getObjectMapper().readValue(content, javaType); } /** * Parses the JSON content into a node for fine-grained processing. * * @param content JSON content. * @return JsonNode. * @throws IOException In case content cannot be parsed. */ public JsonNode parseNode(byte[] content) throws IOException { return getObjectMapper().readTree(content); } /** * Parses a given String to the corresponding object defined by class. * * @param content Value to be parsed. * @param javaType Type of the expected result type. * @param Result type. * @return Result as corresponding type. * @throws IOException if cannot deserialize primitive time. */ private static T deserializePrimitives(byte[] content, JavaType javaType) throws IOException { if ((content == null) || (content.length == 0)) { if (javaType.hasRawClass(boolean.class)) { return (T) Boolean.FALSE; } if (javaType.hasRawClass(byte.class)) { return (T) Byte.valueOf((byte) 0); } if (javaType.hasRawClass(short.class)) { return (T) Short.valueOf((short) 0); } if (javaType.hasRawClass(int.class)) { return (T) Integer.valueOf(0); } if (javaType.hasRawClass(long.class)) { return (T) Long.valueOf(0L); } if (javaType.hasRawClass(float.class)) { return (T) Float.valueOf(0); } if (javaType.hasRawClass(double.class)) { return (T) Double.valueOf(0); } if (javaType.hasRawClass(char.class)) { return (T) Character.valueOf(Character.MIN_VALUE); } return null; } return OBJECT_MAPPER.readValue(content, javaType); } } ================================================ FILE: sdk/src/main/java/io/dapr/client/ProtobufValueHelper.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import com.google.protobuf.ListValue; import com.google.protobuf.NullValue; import com.google.protobuf.Struct; import com.google.protobuf.Value; import io.dapr.serializer.DaprObjectSerializer; import java.io.IOException; import java.util.List; import java.util.Map; /** * Helper class to convert Java objects to Google Protobuf Value types. */ public class ProtobufValueHelper { /** * Converts a Java object to a Google Protobuf Value. * * @param obj the Java object to convert * @return the corresponding Protobuf Value * @throws IOException if serialization fails */ public static Value toProtobufValue(Object obj) throws IOException { if (obj == null) { return Value.newBuilder().setNullValue(NullValue.NULL_VALUE).build(); } if (obj instanceof Boolean) { return Value.newBuilder().setBoolValue((Boolean) obj).build(); } if (obj instanceof String) { return Value.newBuilder().setStringValue((String) obj).build(); } if (obj instanceof Number) { return Value.newBuilder().setNumberValue(((Number) obj).doubleValue()).build(); } if (obj instanceof List) { ListValue.Builder listBuilder = ListValue.newBuilder(); for (Object item : (List) obj) { listBuilder.addValues(toProtobufValue(item)); } return Value.newBuilder().setListValue(listBuilder.build()).build(); } if (obj instanceof Map) { Struct.Builder structBuilder = Struct.newBuilder(); for (Map.Entry entry : ((Map) obj).entrySet()) { String key = entry.getKey().toString(); Value value = toProtobufValue(entry.getValue()); structBuilder.putFields(key, value); } return Value.newBuilder().setStructValue(structBuilder.build()).build(); } // Fallback: convert to string return Value.newBuilder().setStringValue(obj.toString()).build(); } } ================================================ FILE: sdk/src/main/java/io/dapr/client/Subscription.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.client.domain.CloudEvent; import io.dapr.exceptions.DaprException; import io.dapr.v1.DaprAppCallbackProtos; import io.dapr.v1.DaprGrpc; import io.dapr.v1.DaprPubsubProtos; import io.grpc.stub.StreamObserver; import reactor.core.publisher.Mono; import javax.annotation.Nonnull; import java.io.Closeable; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.Semaphore; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; /** * Streaming subscription of events for Dapr's pubsub. * @param Application's object type. */ @Deprecated public class Subscription implements Closeable { private final BlockingQueue ackQueue = new LinkedBlockingQueue<>(50); private final AtomicBoolean running = new AtomicBoolean(true); private final Semaphore receiverStateChange = new Semaphore(0); private Thread acker; private Thread receiver; Subscription(DaprGrpc.DaprStub asyncStub, DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 request, SubscriptionListener listener, Function> cloudEventConverter) { final AtomicReference> streamRef = new AtomicReference<>(); this.acker = new Thread(() -> { while (running.get()) { try { var ackResponse = ackQueue.take(); if (ackResponse == null) { continue; } var stream = streamRef.get(); if (stream == null) { Thread.sleep(1000); // stream not ready yet continue; } stream.onNext(ackResponse); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return; } catch (Exception e) { // No-op and continue after waiting for some time. // This is useful when there is a reconnection, for example. try { Thread.sleep(1000); } catch (InterruptedException ex) { Thread.currentThread().interrupt(); return; } } } }); this.receiver = new Thread(() -> { while (running.get()) { var stream = asyncStub.subscribeTopicEventsAlpha1(new StreamObserver<>() { @Override public void onNext(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 topicEventRequest) { try { var stream = streamRef.get(); if (stream == null) { throw new RuntimeException("Cannot receive event: streaming subscription is not initialized."); } CloudEvent cloudEvent = cloudEventConverter.apply(topicEventRequest); if (cloudEvent == null) { return; } var id = cloudEvent.getId(); if ((id == null) || id.isEmpty()) { return; } onEvent(listener, cloudEvent).subscribe(status -> { var ack = buildAckRequest(id, status); try { ackQueue.put(ack); } catch (InterruptedException e) { throw new RuntimeException(e); } }); } catch (Exception e) { this.onError(DaprException.propagate(e)); } } @Override public void onError(Throwable throwable) { listener.onError(DaprException.propagate(throwable)); } @Override public void onCompleted() { receiverStateChange.release(); } }); streamRef.set(stream); stream.onNext(request); // Keep the client running try { receiverStateChange.acquire(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); running.set(false); } } }); } private static Mono onEvent( SubscriptionListener listener, CloudEvent cloudEvent) { return listener.onEvent(cloudEvent).onErrorMap(t -> { var exception = DaprException.propagate(t); listener.onError(exception); return exception; }).onErrorReturn(SubscriptionListener.Status.RETRY); } @Nonnull private static DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 buildAckRequest( String id, SubscriptionListener.Status status) { DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1 eventProcessed = DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.newBuilder() .setId(id) .setStatus( DaprAppCallbackProtos.TopicEventResponse.newBuilder() .setStatus(DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.valueOf( status.name())) .build()) .build(); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 ack = DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.newBuilder() .setEventProcessed(eventProcessed) .build(); return ack; } void start() { this.receiver.start(); this.acker.start(); } /** * Stops the subscription. */ @Override public void close() { running.set(false); receiverStateChange.release(); this.acker.interrupt(); } /** * Awaits (blocks) for subscription to end. * @throws InterruptedException Exception if interrupted while awaiting. */ public void awaitTermination() throws InterruptedException { this.receiver.join(); this.acker.join(); } } ================================================ FILE: sdk/src/main/java/io/dapr/client/SubscriptionListener.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.client.domain.CloudEvent; import reactor.core.publisher.Mono; /** * Callback interface to receive events from a streaming subscription of events. * @param Object type for deserialization. */ @Deprecated public interface SubscriptionListener { /** * Callback status response for acknowledging a message. */ enum Status { SUCCESS, RETRY, DROP } /** * Processes an event from streaming subscription. * @param event Event received. * @return Acknowledgement status. */ Mono onEvent(CloudEvent event); /** * Processes an exception during streaming subscription. * @param exception Exception to be processed. */ void onError(RuntimeException exception); } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ActorMetadata.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * ActorMetadata describes a registered Dapr Actor. */ public final class ActorMetadata { private final String type; private final int count; /** * Constructor for a ActorMetadata. * * @param type of the actor * @param count number of actors of a particular type */ public ActorMetadata(String type, int count) { this.type = type; this.count = count; } public String getType() { return type; } public int getCount() { return count; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/AppConnectionPropertiesHealthMetadata.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * AppConnectionPropertiesHealthMetadata describes the application health properties. */ public final class AppConnectionPropertiesHealthMetadata { private final String healthCheckPath; private final String healthProbeInterval; private final String healthProbeTimeout; private final int healthThreshold; /** * Constructor for a AppConnectionPropertiesHealthMetadata. * * @param healthCheckPath of the application * @param healthProbeInterval time interval between health probes * @param healthProbeTimeout timeout for each health probe * @param healthThreshold max number of failed health probes */ public AppConnectionPropertiesHealthMetadata(String healthCheckPath, String healthProbeInterval, String healthProbeTimeout, int healthThreshold) { this.healthCheckPath = healthCheckPath; this.healthProbeInterval = healthProbeInterval; this.healthProbeTimeout = healthProbeTimeout; this.healthThreshold = healthThreshold; } public String getHealthCheckPath() { return healthCheckPath; } public String getHealthProbeInterval() { return healthProbeInterval; } public String getHealthProbeTimeout() { return healthProbeTimeout; } public int getHealthThreshold() { return healthThreshold; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/AppConnectionPropertiesMetadata.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * AppConnectionPropertiesMetadata describes the application connection properties. */ public final class AppConnectionPropertiesMetadata { private final int port; private final String protocol; private final String channelAddress; private final int maxConcurrency; private final AppConnectionPropertiesHealthMetadata health; /** * Constructor for a AppConnectionPropertiesMetadata. * * @param port of the application * @param protocol of the application * @param channelAddress host address of the application * @param maxConcurrency number of concurrent requests the app can handle * @param health health check details of the application */ public AppConnectionPropertiesMetadata(int port, String protocol, String channelAddress, int maxConcurrency, AppConnectionPropertiesHealthMetadata health) { this.port = port; this.protocol = protocol; this.channelAddress = channelAddress; this.maxConcurrency = maxConcurrency; this.health = health; } public int getPort() { return port; } public String getProtocol() { return protocol; } public String getChannelAddress() { return channelAddress; } public int getMaxConcurrency() { return maxConcurrency; } public AppConnectionPropertiesHealthMetadata getHealth() { return health; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/AssistantMessage.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * Assistant message containing responses from the AI model. * Can include regular content and/or tool calls that the model wants to make. */ public class AssistantMessage implements ConversationMessage { private String name; private final List content; private final List toolCalls; /** * Creates an assistant message with content and optional tool calls. * @param content the content of the assistant message. * @param toolCalls the tool calls requested by the assistant. */ public AssistantMessage(List content, List toolCalls) { this.content = List.copyOf(content); this.toolCalls = List.copyOf(toolCalls); } @Override public ConversationMessageRole getRole() { return ConversationMessageRole.ASSISTANT; } @Override public String getName() { return name; } /** * Sets the name of the assistant participant. * * @param name the name to set * @return this instance for method chaining */ public AssistantMessage setName(String name) { this.name = name; return this; } @Override public List getContent() { return content; } public List getToolCalls() { return toolCalls; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/BulkPublishEntry.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.HashMap; import java.util.Map; /** * Class representing an entry in the BulkPublishRequest or BulkPublishResponse. * * @param Type of the event that is part of the request. */ public final class BulkPublishEntry { /** * The ID uniquely identifying this particular request entry across the request and scoped for this request only. */ private final String entryId; /** * The event to be published. */ private final T event; /** * The content type of the event to be published. Uses MIME style content-type values. */ private final String contentType; /** * The metadata set for this particular event. * Any particular values in this metadata overrides the request metadata present in BulkPublishRequest. */ private final Map metadata; /** * Constructor for the BulkPublishRequestEntry object. * * @param entryId A request scoped ID uniquely identifying this entry in the BulkPublishRequest. * @param event Event to be published. * @param contentType Content Type of the event to be published in MIME format. */ public BulkPublishEntry(String entryId, T event, String contentType) { this.entryId = entryId; this.event = event; this.contentType = contentType; this.metadata = Map.of(); } /** * Constructor for the BulkPublishRequestEntry object. * * @param entryId A request scoped ID uniquely identifying this entry in the BulkPublishRequest. * @param event Event to be published. * @param contentType Content Type of the event to be published in MIME format. * @param metadata Metadata for the event. */ public BulkPublishEntry(String entryId, T event, String contentType, Map metadata) { this.entryId = entryId; this.event = event; this.contentType = contentType; this.metadata = metadata == null ? Map.of() : Collections.unmodifiableMap(metadata); } public String getEntryId() { return entryId; } public T getEvent() { return event; } public String getContentType() { return contentType; } public Map getMetadata() { return metadata; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/BulkPublishRequest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; /** * A request to bulk publish multiples events in a single call to Dapr. * * @param Type parameter of the event. */ public final class BulkPublishRequest { /** * The name of the pubsub to publish to. */ private final String pubsubName; /** * The name of the topic to publish to. */ private final String topic; /** * The metadata for the request sent to the pubsub broker. * This is also used for setting common metadata for all entries in the request such as ttlInSeconds etc. */ private Map metadata; /** * The list of entry objects that make up this request. */ private final List> entries; /** * Constructor for BulkPublishRequest. * @param pubsubName Name of the pubsub to publish to. * @param topic Name of the topic to publish to. * @param entries List of {@link BulkPublishEntry} objects. */ public BulkPublishRequest(String pubsubName, String topic, List> entries) { this.pubsubName = pubsubName; this.topic = topic; this.entries = entries == null ? Collections.unmodifiableList(new ArrayList<>()) : Collections.unmodifiableList(entries); } /** * Constructor for the BulkPublishRequest. * * @param pubsubName Name of the pubsub to publish to. * @param topic Name of the topic to publish to. * @param entries List of {@link BulkPublishEntry} objects. * @param metadata Metadata for the request. */ public BulkPublishRequest(String pubsubName, String topic, List> entries, Map metadata) { this.pubsubName = pubsubName; this.topic = topic; this.entries = entries == null ? List.of() : Collections.unmodifiableList(entries); this.metadata = metadata == null ? Map.of() : Collections.unmodifiableMap(metadata); } public String getPubsubName() { return pubsubName; } public String getTopic() { return topic; } public Map getMetadata() { return metadata; } public BulkPublishRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } public List> getEntries() { return entries; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/BulkPublishResponse.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * Class representing the response returned on bulk publishing events. */ public class BulkPublishResponse { /** * List of {@link BulkPublishResponseFailedEntry} objects that have failed to publish. */ private final List> failedEntries; /** * Default constructor for class. */ public BulkPublishResponse() { this.failedEntries = Collections.unmodifiableList(new ArrayList<>()); } /** * Constructor for the BulkPublishResponse object. * * @param failedEntries The List of BulkPublishResponseEntries representing the list of * events that failed to be published. */ public BulkPublishResponse(List> failedEntries) { this.failedEntries = failedEntries == null ? Collections.unmodifiableList(new ArrayList<>()) : Collections.unmodifiableList(failedEntries); } public List> getFailedEntries() { return failedEntries; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/BulkPublishResponseFailedEntry.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Class representing the entry that failed to be published using BulkPublishRequest. */ public final class BulkPublishResponseFailedEntry { /** * The entry that failed to be published. */ private final BulkPublishEntry entry; /** * Error message as to why the entry failed to publish. */ private final String errorMessage; /** * Constructor for BulkPublishResponseFailedEntry. * @param entry The entry that has failed. * @param errorMessage The error message for why the entry failed. */ public BulkPublishResponseFailedEntry(BulkPublishEntry entry, String errorMessage) { this.entry = entry; this.errorMessage = errorMessage; } public BulkPublishEntry getEntry() { return entry; } public String getErrorMessage() { return errorMessage; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/BulkSubscribeAppResponse.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Collections; import java.util.List; /** * Response from the application containing status for each entry from the bulk publish message. */ public final class BulkSubscribeAppResponse { private final List statuses; /** * Instantiate a BulkSubscribeAppResponse. * @param statuses list of statuses. */ @JsonCreator public BulkSubscribeAppResponse( @JsonProperty("statuses") List statuses) { this.statuses = Collections.unmodifiableList(statuses); } public List getStatuses() { return statuses; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/BulkSubscribeAppResponseEntry.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; /** * Maps a {@link BulkSubscribeMessageEntry} to a {@link BulkSubscribeAppResponseStatus}. */ public final class BulkSubscribeAppResponseEntry { private final String entryId; private final BulkSubscribeAppResponseStatus status; /** * Instantiate a BulkSubscribeAppResponseEntry. * @param entryId entry ID of the event. * @param status status of the event processing in application. */ @JsonCreator public BulkSubscribeAppResponseEntry( @JsonProperty("entryId") String entryId, @JsonProperty("status") BulkSubscribeAppResponseStatus status) { this.entryId = entryId; this.status = status; } public String getEntryId() { return entryId; } public BulkSubscribeAppResponseStatus getStatus() { return status; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/BulkSubscribeAppResponseStatus.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Status of the message handled in bulk subscribe handler. */ public enum BulkSubscribeAppResponseStatus { SUCCESS, RETRY, DROP } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/BulkSubscribeMessage.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Collections; import java.util.List; import java.util.Map; /** * Represents a bulk of messages received from the message bus. */ public final class BulkSubscribeMessage { private final List> entries; private final String topic; private final Map metadata; /** * Instantiate a BulkSubscribeMessage. * @param entries maps a {@link BulkSubscribeMessageEntry} to a {@link BulkSubscribeAppResponseStatus}. * @param topic pubSub topic. * @param metadata metadata for the {@link BulkSubscribeMessage} */ @JsonCreator public BulkSubscribeMessage( @JsonProperty("entries") List> entries, @JsonProperty("topic") String topic, @JsonProperty("metadata") Map metadata) { this.entries = Collections.unmodifiableList(entries); this.topic = topic; this.metadata = Collections.unmodifiableMap(metadata); } public List> getEntries() { return entries; } public String getTopic() { return topic; } public Map getMetadata() { return metadata; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/BulkSubscribeMessageEntry.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Collections; import java.util.HashMap; import java.util.Map; /** * Represents a single event from a {@link BulkSubscribeMessage}. * @param Type of event. */ public final class BulkSubscribeMessageEntry { private final String entryId; private final T event; private final String contentType; private final Map metadata; /** * Instantiate a BulkPubSubMessageEntry. * @param entryId unique identifier for the event. * @param event pubSub event. * @param contentType content type of the event. * @param metadata metadata for the event. */ @JsonCreator public BulkSubscribeMessageEntry( @JsonProperty("entryId") String entryId, @JsonProperty("event") T event, @JsonProperty("contentType") String contentType, @JsonProperty("metadata") Map metadata) { this.entryId = entryId; this.event = event; this.contentType = contentType; if (metadata == null) { metadata = new HashMap<>(); } this.metadata = Collections.unmodifiableMap(metadata); } public String getEntryId() { return entryId; } public T getEvent() { return event; } public String getContentType() { return contentType; } public Map getMetadata() { return metadata; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/CloudEvent.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import java.io.IOException; import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; import java.util.Arrays; import java.util.Objects; /** * A cloud event in Dapr. * @param The type of the payload. */ public class CloudEvent { /** * Mime type used for CloudEvent. */ public static final String CONTENT_TYPE = "application/cloudevents+json"; /** * Shared Json serializer/deserializer as per Jackson's documentation. */ protected static final ObjectMapper OBJECT_MAPPER = new ObjectMapper() .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) .setSerializationInclusion(JsonInclude.Include.NON_NULL); /** * Identifier of the message being processed. */ private String id; /** * Event's source. */ private String source; /** * Envelope type. */ private String type; /** * Version of the specification. */ private String specversion; /** * Type of the data's content. */ private String datacontenttype; /** * Cloud event specs says data can be a JSON object or string. */ private T data; /** * Cloud event specs says binary data should be in data_base64. */ @JsonProperty("data_base64") private byte[] binaryData; /** * The pubsub component this CloudEvent came from. */ @JsonProperty("pubsubname") private String pubsubName; /** * The topic this CloudEvent came from. */ private String topic; /** * The time this CloudEvent was created. */ @JsonSerialize(using = OffsetDateTimeSerializer.class) @JsonDeserialize(using = OffsetDateTimeDeserializer.class) private OffsetDateTime time; /** * The trace id is the legacy name for trace parent. */ @Deprecated @JsonProperty("traceid") private String traceId; /** * The trace parent. */ @JsonProperty("traceparent") private String traceParent; /** * The trace state. */ @JsonProperty("tracestate") private String traceState; /** * Instantiates a CloudEvent. */ public CloudEvent() { } /** * Instantiates a CloudEvent. * @param id Identifier of the message being processed. * @param source Source for this event. * @param type Type of event. * @param specversion Version of the event spec. * @param datacontenttype Type of the payload. * @param data Payload. */ public CloudEvent( String id, String source, String type, String specversion, String datacontenttype, T data) { this.id = id; this.source = source; this.type = type; this.specversion = specversion; this.datacontenttype = datacontenttype; this.data = data; } /** * Instantiates a CloudEvent. * @param id Identifier of the message being processed. * @param source Source for this event. * @param type Type of event. * @param specversion Version of the event spec. * @param binaryData Payload. */ public CloudEvent( String id, String source, String type, String specversion, byte[] binaryData) { this.id = id; this.source = source; this.type = type; this.specversion = specversion; this.datacontenttype = "application/octet-stream"; this.binaryData = binaryData == null ? null : Arrays.copyOf(binaryData, binaryData.length); } /** * Deserialize a message topic from Dapr. * * @param payload Payload sent from Dapr. * @return Message (can be null if input is null) * @throws IOException If cannot parse. */ public static CloudEvent deserialize(byte[] payload) throws IOException { if (payload == null) { return null; } return OBJECT_MAPPER.readValue(payload, CloudEvent.class); } /** * Gets the identifier of the message being processed. * @return Identifier of the message being processed. */ public String getId() { return id; } /** * Sets the identifier of the message being processed. * @param id Identifier of the message being processed. */ public void setId(String id) { this.id = id; } /** * Gets the event's source. * @return Event's source. */ public String getSource() { return source; } /** * Sets the event's source. * @param source Event's source. */ public void setSource(String source) { this.source = source; } /** * Gets the envelope type. * @return Envelope type. */ public String getType() { return type; } /** * Sets the envelope type. * @param type Envelope type. */ public void setType(String type) { this.type = type; } /** * Gets the version of the specification. * @return Version of the specification. */ public String getSpecversion() { return specversion; } /** * Sets the version of the specification. * @param specversion Version of the specification. */ public void setSpecversion(String specversion) { this.specversion = specversion; } /** * Gets the type of the data's content. * @return Type of the data's content. */ public String getDatacontenttype() { return datacontenttype; } /** * Sets the type of the data's content. * @param datacontenttype Type of the data's content. */ public void setDatacontenttype(String datacontenttype) { this.datacontenttype = datacontenttype; } /** * Gets the cloud event data. * @return Cloud event's data. As per specs, data can be a JSON object or string. */ public T getData() { return data; } /** * Sets the cloud event data. As per specs, data can be a JSON object or string. * @param data Cloud event's data. As per specs, data can be a JSON object or string. */ public void setData(T data) { this.data = data; } /** * Gets the cloud event's binary data. * @return Cloud event's binary data. */ public byte[] getBinaryData() { return this.binaryData == null ? null : Arrays.copyOf(this.binaryData, this.binaryData.length); } /** * Sets the cloud event's binary data. * @param binaryData Cloud event's binary data. */ public void setBinaryData(byte[] binaryData) { this.binaryData = binaryData == null ? null : Arrays.copyOf(binaryData, binaryData.length); } /** * Gets the pubsub component name. * @return the pubsub component name. */ public String getPubsubName() { return pubsubName; } /** * Sets the pubsub component name. * @param pubsubName the pubsub component name. */ public void setPubsubName(String pubsubName) { this.pubsubName = pubsubName; } /** * Gets the topic name. * @return the topic name. */ public String getTopic() { return topic; } /** * Sets the topic name. * @param topic the topic name. */ public void setTopic(String topic) { this.topic = topic; } /** * Gets the time. * @return the time. */ public OffsetDateTime getTime() { return time; } /** * Sets the time. * @param time the time. */ public void setTime(OffsetDateTime time) { this.time = time; } /** * Gets the trace id which is the legacy name for trace parent. * @return the trace id. */ @Deprecated public String getTraceId() { return traceId; } /** * Sets the trace id which is the legacy name for trace parent. * @param traceId the trace id. */ @Deprecated public void setTraceId(String traceId) { this.traceId = traceId; } /** * Gets the trace parent. * @return the trace parent. */ public String getTraceParent() { return traceParent; } /** * Sets the trace parent. * @param traceParent the trace parent. */ public void setTraceParent(String traceParent) { this.traceParent = traceParent; } /** * Gets the trace state. * @return the trace state. */ public String getTraceState() { return traceState; } /** * Sets the trace state. * @param traceState the trace state. */ public void setTraceState(String traceState) { this.traceState = traceState; } /** * {@inheritDoc} */ @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } CloudEvent that = (CloudEvent) o; return Objects.equals(id, that.id) && Objects.equals(source, that.source) && Objects.equals(type, that.type) && Objects.equals(specversion, that.specversion) && Objects.equals(datacontenttype, that.datacontenttype) && Objects.equals(data, that.data) && Arrays.equals(binaryData, that.binaryData) && Objects.equals(pubsubName, that.pubsubName) && Objects.equals(topic, that.topic) && ((time == null && that.time == null) || (time != null && that.time != null && time.isEqual(that.time))) && Objects.equals(traceId, that.traceId) && Objects.equals(traceParent, that.traceParent) && Objects.equals(traceState, that.traceState); } /** * {@inheritDoc} */ @Override public int hashCode() { return Objects.hash(id, source, type, specversion, datacontenttype, data, binaryData, pubsubName, topic, time, traceId, traceParent, traceState); } private static class OffsetDateTimeSerializer extends JsonSerializer { @Override public void serialize(OffsetDateTime offsetDateTime, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { jsonGenerator.writeString(offsetDateTime.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)); } } private static class OffsetDateTimeDeserializer extends JsonDeserializer { @Override public OffsetDateTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { return OffsetDateTime.parse(jsonParser.getText()); } } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ComponentMetadata.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.List; /** * ComponentMetadata describes a Dapr Component. */ public final class ComponentMetadata { private final String name; private final String type; private final String version; private final List capabilities; /** * Constructor for a ComponentMetadata. * * @param name of the component * @param type component type * @param version version of the component * @param capabilities capabilities of the component */ public ComponentMetadata(String name, String type, String version, List capabilities) { this.name = name; this.type = type; this.version = version; this.capabilities = capabilities == null ? Collections.emptyList() : Collections.unmodifiableList(capabilities); } public String getName() { return name; } public String getType() { return type; } public String getVersion() { return version; } public List getCapabilities() { return capabilities; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConfigurationItem.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Collections; import java.util.Map; /** * A configuration item from Dapr's configuration store. */ public class ConfigurationItem { private final String key; private final String value; private final String version; private final Map metadata; /** * Constructor for a configuration Item. * * @param key key of the configuration item * @param value value for the provided key * @param version version of the configuration item * @param metadata additional information */ public ConfigurationItem(String key, String value, String version, Map metadata) { this.key = key; this.value = value; this.version = version; this.metadata = Collections.unmodifiableMap(metadata); } /** * Constructor for a configuration Item. * * @param key key of the configuration item * @param value value for the provided key * @param version version of the configuration item */ @JsonCreator public ConfigurationItem( @JsonProperty("key") String key, @JsonProperty("value") String value, @JsonProperty("version") String version) { this.key = key; this.value = value; this.version = version; this.metadata = Collections.emptyMap(); } public String getKey() { return key; } public String getValue() { return value; } public String getVersion() { return version; } public Map getMetadata() { return metadata; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConstantFailurePolicy.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonTypeName; import java.time.Duration; /** * A failure policy that applies a constant retry interval for job retries. * This implementation of {@link FailurePolicy} retries a job a fixed number of times * with a constant delay between each retry attempt. */ @JsonTypeName("CONSTANT") public class ConstantFailurePolicy implements FailurePolicy { private Integer maxRetries; private Duration durationBetweenRetries; /** * Default constructor. */ public ConstantFailurePolicy() { } /** * Constructs a {@code JobConstantFailurePolicy} with the specified maximum number of retries. * * @param maxRetries the maximum number of retries */ public ConstantFailurePolicy(Integer maxRetries) { this.maxRetries = maxRetries; } /** * Constructs a {@code JobConstantFailurePolicy} with the specified duration between retries. * * @param durationBetweenRetries the duration to wait between retries */ public ConstantFailurePolicy(Duration durationBetweenRetries) { this.durationBetweenRetries = durationBetweenRetries; } /** * Sets the duration to wait between retry attempts. * * @param durationBetweenRetries the duration between retries * @return a {@code JobFailurePolicyConstant}. */ public ConstantFailurePolicy setDurationBetweenRetries(Duration durationBetweenRetries) { this.durationBetweenRetries = durationBetweenRetries; return this; } /** * Sets the maximum number of retries allowed. * * @param maxRetries the number of retries * @return a {@code JobFailurePolicyConstant}. */ public ConstantFailurePolicy setMaxRetries(int maxRetries) { this.maxRetries = maxRetries; return this; } /** * Returns the configured duration between retry attempts. * * @return the duration between retries */ public Duration getDurationBetweenRetries() { return this.durationBetweenRetries; } /** * Returns the configured maximum number of retries. * * @return the maximum number of retries */ public Integer getMaxRetries() { return this.maxRetries; } /** * Returns the type of failure policy. * * @return {@link FailurePolicyType#CONSTANT} */ @Override public FailurePolicyType getFailurePolicyType() { return FailurePolicyType.CONSTANT; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationInput.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Represents an input message for a conversation with an LLM. */ public class ConversationInput { private final String content; private String role; private boolean scrubPii; /** * Constructor. * * @param content for the llm. */ public ConversationInput(String content) { this.content = content; } /** * The message content to send to the LLM. Required * * @return The content to be sent to the LLM. */ public String getContent() { return content; } /** * The role for the LLM to assume. * * @return this. */ public String getRole() { return role; } /** * Set the role for LLM to assume. * * @param role The role to assign to the message. * @return this. */ public ConversationInput setRole(String role) { this.role = role; return this; } /** * Checks if Personally Identifiable Information (PII) should be scrubbed before sending to the LLM. * * @return {@code true} if PII should be scrubbed, {@code false} otherwise. */ public boolean isScrubPii() { return scrubPii; } /** * Enable obfuscation of sensitive information present in the content field. Optional * * @param scrubPii A boolean indicating whether to remove PII. * @return this. */ public ConversationInput setScrubPii(boolean scrubPii) { this.scrubPii = scrubPii; return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationInputAlpha2.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * Represents an Alpha2 input for conversation with enhanced message support. */ public class ConversationInputAlpha2 { private final List messages; private boolean scrubPii; /** * Constructor. * * @param messages the list of conversation messages */ public ConversationInputAlpha2(List messages) { this.messages = List.copyOf(messages); } /** * Gets the list of conversation messages. * * @return the list of messages */ public List getMessages() { return messages; } /** * Checks if Personally Identifiable Information (PII) should be scrubbed before sending to the LLM. * * @return {@code true} if PII should be scrubbed, {@code false} otherwise. */ public boolean isScrubPii() { return scrubPii; } /** * Enable obfuscation of sensitive information present in the content field. Optional * * @param scrubPii A boolean indicating whether to remove PII. * @return this. */ public ConversationInputAlpha2 setScrubPii(boolean scrubPii) { this.scrubPii = scrubPii; return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationMessage.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * Interface representing a conversation message with role-specific content. * Supports different message types: system, user, assistant, developer, and tool. */ public interface ConversationMessage { /** * Gets the role of the message sender. * * @return the message role */ ConversationMessageRole getRole(); /** * Gets the name of the participant in the message. * * @return the participant name, or null if not specified */ String getName(); /** * Gets the content of the message. * * @return the message content */ List getContent(); } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationMessageContent.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Represents the content of a conversation message. */ public class ConversationMessageContent { private final String text; /** * Constructor. * * @param text the text content of the message */ public ConversationMessageContent(String text) { this.text = text; } /** * Gets the text content of the message. * * @return the text content */ public String getText() { return text; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationMessageRole.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Enum representing the different roles a conversation message can have. */ public enum ConversationMessageRole { /** * System message that sets the behavior or context for the conversation. */ SYSTEM, /** * User message containing input from the human user. */ USER, /** * Assistant message containing responses from the AI model. */ ASSISTANT, /** * Tool message containing results from function/tool calls. */ TOOL, /** * Developer message for development and debugging purposes. */ DEVELOPER } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationOutput.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Map; /** * Returns the conversation output. */ public class ConversationOutput { private final String result; private final Map parameters; /** * Constructor. * * @param result result for one of the conversation input. * @param parameters all custom fields. */ public ConversationOutput(String result, Map parameters) { this.result = result; this.parameters = Map.copyOf(parameters); } /** * Result for the one conversation input. * * @return result output from the LLM. */ public String getResult() { return this.result; } /** * Parameters for all custom fields. * * @return parameters. */ public Map getParameters() { return this.parameters; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * Represents a conversation configuration with details about component name, * conversation inputs, context identifier, PII scrubbing, and temperature control. */ public class ConversationRequest { private final String name; private final List inputs; private String contextId; private boolean scrubPii; private double temperature; /** * Constructs a DaprConversation with a component name and conversation inputs. * * @param name The name of the Dapr conversation component. See a list of all available conversation components * @see * @param inputs the list of Dapr conversation inputs */ public ConversationRequest(String name, List inputs) { this.name = name; this.inputs = inputs; } /** * Gets the conversation component name. * * @return the conversation component name */ public String getName() { return name; } /** * Gets the list of Dapr conversation input. * * @return the list of conversation input */ public List getInputs() { return inputs; } /** * Gets the context identifier. * * @return the context identifier */ public String getContextId() { return contextId; } /** * Sets the context identifier. * * @param contextId the context identifier to set * @return the current instance of {@link ConversationRequest} */ public ConversationRequest setContextId(String contextId) { this.contextId = contextId; return this; } /** * Checks if PII scrubbing is enabled. * * @return true if PII scrubbing is enabled, false otherwise */ public boolean isScrubPii() { return scrubPii; } /** * Enable obfuscation of sensitive information returning from the LLM. Optional. * * @param scrubPii whether to enable PII scrubbing * @return the current instance of {@link ConversationRequest} */ public ConversationRequest setScrubPii(boolean scrubPii) { this.scrubPii = scrubPii; return this; } /** * Gets the temperature of the model. Used to optimize for consistency and creativity. Optional * * @return the temperature value */ public double getTemperature() { return temperature; } /** * Sets the temperature of the model. Used to optimize for consistency and creativity. Optional * * @param temperature the temperature value to set * @return the current instance of {@link ConversationRequest} */ public ConversationRequest setTemperature(double temperature) { this.temperature = temperature; return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationRequestAlpha2.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.google.protobuf.Struct; import io.dapr.utils.ProtobufUtils; import java.time.Duration; import java.util.List; import java.util.Map; /** * Represents the Alpha2 conversation configuration with enhanced features including * tools, improved message handling, and better compatibility with OpenAI ChatCompletion API. */ public class ConversationRequestAlpha2 { private final String name; private final List inputs; private String contextId; private boolean scrubPii; private double temperature; private List tools; private String toolChoice; private Map parameters; private Map metadata; private Struct responseFormat; private Duration promptCacheRetention; /** * Constructs a ConversationRequestAlpha2 with a component name and conversation inputs. * * @param name The name of the Dapr conversation component. See a list of all available conversation components * @see * @param inputs the list of Dapr conversation inputs (Alpha2 format) */ public ConversationRequestAlpha2(String name, List inputs) { this.name = name; this.inputs = inputs; } /** * Gets the conversation component name. * * @return the conversation component name */ public String getName() { return name; } /** * Gets the list of Dapr conversation input (Alpha2 format). * * @return the list of conversation input */ public List getInputs() { return inputs; } /** * Gets the context identifier. * * @return the context identifier */ public String getContextId() { return contextId; } /** * Sets the context identifier. * * @param contextId the context identifier to set * @return the current instance of {@link ConversationRequestAlpha2} */ public ConversationRequestAlpha2 setContextId(String contextId) { this.contextId = contextId; return this; } /** * Checks if PII scrubbing is enabled. * * @return true if PII scrubbing is enabled, false otherwise */ public boolean isScrubPii() { return scrubPii; } /** * Enable obfuscation of sensitive information returning from the LLM. Optional. * * @param scrubPii whether to enable PII scrubbing * @return the current instance of {@link ConversationRequestAlpha2} */ public ConversationRequestAlpha2 setScrubPii(boolean scrubPii) { this.scrubPii = scrubPii; return this; } /** * Gets the temperature of the model. Used to optimize for consistency and creativity. Optional * * @return the temperature value */ public double getTemperature() { return temperature; } /** * Sets the temperature of the model. Used to optimize for consistency and creativity. Optional * * @param temperature the temperature value to set * @return the current instance of {@link ConversationRequestAlpha2} */ public ConversationRequestAlpha2 setTemperature(double temperature) { this.temperature = temperature; return this; } /** * Gets the tools available to be used by the LLM during the conversation. * * @return the list of tools */ public List getTools() { return tools; } /** * Sets the tools available to be used by the LLM during the conversation. * These are sent on a per request basis. * * @param tools the tools to set * @return the current instance of {@link ConversationRequestAlpha2} */ public ConversationRequestAlpha2 setTools(List tools) { this.tools = tools; return this; } /** * Gets the tool choice setting which controls which (if any) tool is called by the model. * * @return the tool choice setting */ public String getToolChoice() { return toolChoice; } /** * Sets the tool choice setting which controls which (if any) tool is called by the model. * - "none" means the model will not call any tool and instead generates a message * - "auto" means the model can pick between generating a message or calling one or more tools * - "required" requires one or more functions to be called * - Alternatively, a specific tool name may be used here * * @param toolChoice the tool choice setting to set * @return the current instance of {@link ConversationRequestAlpha2} */ public ConversationRequestAlpha2 setToolChoice(String toolChoice) { this.toolChoice = toolChoice; return this; } /** * Gets the parameters for all custom fields. * * @return the parameters map */ public Map getParameters() { return parameters; } /** * Sets the parameters for all custom fields. * * @param parameters the parameters to set * @return the current instance of {@link ConversationRequestAlpha2} */ public ConversationRequestAlpha2 setParameters(Map parameters) { this.parameters = parameters; return this; } /** * Gets the metadata passing to conversation components. * * @return the metadata map */ public Map getMetadata() { return metadata; } /** * Sets the metadata passing to conversation components. * * @param metadata the metadata to set * @return the current instance of {@link ConversationRequestAlpha2} */ public ConversationRequestAlpha2 setMetadata(Map metadata) { this.metadata = metadata; return this; } /** * Gets the response format in JSON-Schema format. * * @return the response format */ public Struct getResponseFormat() { return responseFormat; } /** * Sets the response format in JSON-Schema format. * Structured output described using a JSON Schema object. * Use this when you want typed structured output. * Supported by Deepseek, Google AI, Hugging Face, OpenAI, and Anthropic components * * @param responseFormat the response format to set * @return the current instance of {@link ConversationRequestAlpha2} */ public ConversationRequestAlpha2 setResponseFormat(Struct responseFormat) { this.responseFormat = responseFormat; return this; } public ConversationRequestAlpha2 setResponseFormat(String responseFormat) { this.responseFormat = ProtobufUtils.jsonToStruct(responseFormat); return this; } /** * retention duration for the prompt cache. * * @return the prompt cache retention duration */ public Duration getPromptCacheRetention() { return promptCacheRetention; } /** * Retention duration for the prompt cache. * When set, enables extended prompt caching so cached prefixes stay active longer. * With OpenAI, supports up to 24 hours. * See [OpenAI prompt caching](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). * * @param promptCacheRetention the prompt cache retention duration * @return the current instance of {@link ConversationRequestAlpha2} */ public ConversationRequestAlpha2 setPromptCacheRetention(Duration promptCacheRetention) { this.promptCacheRetention = promptCacheRetention; return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationResponse.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * Response from the Dapr Conversation API. */ public class ConversationResponse { private String contextId; private final List outputs; /** * Constructor. * * @param contextId context id supplied to LLM. * @param outputs outputs from the LLM. */ public ConversationResponse(String contextId, List outputs) { this.contextId = contextId; this.outputs = List.copyOf(outputs); } /** * The ID of an existing chat (like in ChatGPT). * * @return String identifier. */ public String getContextId() { return this.contextId; } /** * Get list of conversation outputs. * * @return List{@link ConversationOutput}. */ public List getConversationOutputs() { return this.outputs; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationResponseAlpha2.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * Alpha2 response from the Dapr Conversation API with enhanced features. */ public class ConversationResponseAlpha2 { private final String contextId; private final List outputs; /** * Constructor. * * @param contextId context id supplied to LLM. * @param outputs outputs from the LLM (Alpha2 format). */ public ConversationResponseAlpha2(String contextId, List outputs) { this.contextId = contextId; this.outputs = List.copyOf(outputs); } /** * The ID of an existing chat (like in ChatGPT). * * @return String identifier. */ public String getContextId() { return this.contextId; } /** * Get list of conversation outputs (Alpha2 format). * * @return List{@link ConversationResultAlpha2}. */ public List getOutputs() { return this.outputs; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationResultAlpha2.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * Alpha2 result for conversation output with enhanced choice-based structure. */ public class ConversationResultAlpha2 { private final List choices; private final String model; private final ConversationResultCompletionUsage usage; /** * Constructor. * * @param choices the list of conversation result choices. * @param model the model used for the conversation. * @param usage the usage of the model. */ public ConversationResultAlpha2(List choices, String model, ConversationResultCompletionUsage usage) { this.choices = List.copyOf(choices); this.model = model; this.usage = usage; } /** * Gets the list of conversation result choices. * * @return the list of conversation result choices */ public List getChoices() { return choices; } /** * Gets the model used for the conversation. * * @return the model used for the conversation. */ public String getModel() { return model; } /** * Gets the usage of the model. * * @return the usage of the model. */ public ConversationResultCompletionUsage getUsage() { return usage; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationResultChoices.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Represents a conversation result choice with finish reason, index, and message. */ public class ConversationResultChoices { private final String finishReason; private final long index; private final ConversationResultMessage message; /** * Constructor. * * @param finishReason the reason the model stopped generating tokens * @param index the index of the choice in the list of choices * @param message the result message */ public ConversationResultChoices(String finishReason, long index, ConversationResultMessage message) { this.finishReason = finishReason; this.index = index; this.message = message; } /** * Gets the reason the model stopped generating tokens. * This will be "stop" if the model hit a natural stop point or a provided stop sequence, * "length" if the maximum number of tokens specified in the request was reached, * "content_filter" if content was omitted due to a flag from content filters, * "tool_calls" if the model called a tool. * * @return the finish reason */ public String getFinishReason() { return finishReason; } /** * Gets the index of the choice in the list of choices. * * @return the index */ public long getIndex() { return index; } /** * Gets the result message. * * @return the message */ public ConversationResultMessage getMessage() { return message; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationResultCompletionUsage.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; public class ConversationResultCompletionUsage { private final long completionTokens; private final long promptTokens; private final long totalTokens; private ConversationResultCompletionUsageDetails completionTokenDetails; private ConversationResultPromptUsageDetails promptTokenDetails; /** * Constructor. * * @param completionTokens completion tokens used. * @param promptTokens prompt tokens used. * @param totalTokens total tokens used. */ public ConversationResultCompletionUsage(long completionTokens, long promptTokens, long totalTokens) { this.completionTokens = completionTokens; this.promptTokens = promptTokens; this.totalTokens = totalTokens; } /** * Completion tokens used. * * @return completion tokens used. */ public long getCompletionTokens() { return completionTokens; } /** * Prompt tokens used. * * @return prompt tokens used. */ public long getPromptTokens() { return promptTokens; } /** * Total tokens used. * * @return total tokens used. */ public long getTotalTokens() { return totalTokens; } /** * Completion token details. * * @return the completionTokenDetails */ public ConversationResultCompletionUsageDetails getCompletionTokenDetails() { return completionTokenDetails; } /** * Completion token details. * * @param completionTokenDetails the completionTokenDetails to set */ public void setCompletionTokenDetails(ConversationResultCompletionUsageDetails completionTokenDetails) { this.completionTokenDetails = completionTokenDetails; } /** * Prompt token details. * * @return the promptTokenDetails */ public ConversationResultPromptUsageDetails getPromptTokenDetails() { return promptTokenDetails; } /** * Prompt token details. * * @param promptTokenDetails the promptTokenDetails to set */ public void setPromptTokenDetails(ConversationResultPromptUsageDetails promptTokenDetails) { this.promptTokenDetails = promptTokenDetails; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationResultCompletionUsageDetails.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; public class ConversationResultCompletionUsageDetails { private final long acceptedPredictionTokens; private final long audioTokens; private final long reasoningTokens; private final long rejectedPredictionTokens; /** * Constructor. * * @param acceptedPredictionTokens accepted prediction tokens used. * @param audioTokens audio tokens used. * @param reasoningTokens reasoning tokens used. * @param rejectedPredictionTokens rejected prediction tokens used. */ public ConversationResultCompletionUsageDetails(long acceptedPredictionTokens, long audioTokens, long reasoningTokens, long rejectedPredictionTokens) { this.acceptedPredictionTokens = acceptedPredictionTokens; this.audioTokens = audioTokens; this.reasoningTokens = reasoningTokens; this.rejectedPredictionTokens = rejectedPredictionTokens; } /** * Accepted prediction tokens used. * * @return accepted prediction tokens used. */ public long getAcceptedPredictionTokens() { return acceptedPredictionTokens; } /** * Audio tokens used. * * @return audio tokens used. */ public long getAudioTokens() { return audioTokens; } /** * Reasoning tokens used. * * @return reasoning tokens used. */ public long getReasoningTokens() { return reasoningTokens; } /** * Rejected prediction tokens used. * * @return rejected prediction tokens used. */ public long getRejectedPredictionTokens() { return rejectedPredictionTokens; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationResultMessage.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * Represents a conversation result message with content and optional tool calls. */ public class ConversationResultMessage { private final String content; private final List toolCalls; /** * Constructor. * * @param content the contents of the message * @param toolCalls the tool calls generated by the model (optional) */ public ConversationResultMessage(String content, List toolCalls) { this.content = content; this.toolCalls = toolCalls != null ? List.copyOf(toolCalls) : null; } /** * Constructor for message without tool calls. * * @param content the contents of the message */ public ConversationResultMessage(String content) { this(content, null); } /** * Gets the contents of the message. * * @return the message content */ public String getContent() { return content; } /** * Gets the tool calls generated by the model. * * @return the tool calls, or null if none */ public List getToolCalls() { return toolCalls; } /** * Checks if the message has tool calls. * * @return true if there are tool calls, false otherwise */ public boolean hasToolCalls() { return toolCalls != null && !toolCalls.isEmpty(); } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationResultPromptUsageDetails.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; public class ConversationResultPromptUsageDetails { private final long audioTokens; private final long cachedTokens; /** * Constructor. * * @param audioTokens audio input tokens present in the prompt. * @param cachedTokens cached tokens present in the prompt. */ public ConversationResultPromptUsageDetails(long audioTokens, long cachedTokens) { this.audioTokens = audioTokens; this.cachedTokens = cachedTokens; } /** * Audio input tokens present in the prompt. * * @return audio input tokens present in the prompt. */ public long getAudioTokens() { return audioTokens; } /** * Cached tokens present in the prompt. * * @return cached tokens present in the prompt. */ public long getCachedTokens() { return cachedTokens; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationToolCalls.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Represents a tool call request sent from the LLM to the client to execute. */ public class ConversationToolCalls { private String id; private final ConversationToolCallsOfFunction function; /** * Constructor without ID. * * @param function the function to call */ public ConversationToolCalls(ConversationToolCallsOfFunction function) { this.function = function; } /** * Gets the unique identifier for the tool call. * * @return the tool call ID, or null if not provided */ public String getId() { return id; } /** * Set with ID. * * @param id the unique identifier for the tool call * @return this instance for method chaining */ public ConversationToolCalls setId(String id) { this.id = id; return this; } /** * Gets the function to call. * * @return the function details */ public ConversationToolCallsOfFunction getFunction() { return function; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationToolCallsOfFunction.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Represents a function call within a tool call. */ public class ConversationToolCallsOfFunction { private final String name; private final String arguments; /** * Constructor. * * @param name the name of the function to call * @param arguments the arguments to call the function with, as generated by the model in JSON format */ public ConversationToolCallsOfFunction(String name, String arguments) { this.name = name; this.arguments = arguments; } /** * Gets the name of the function to call. * * @return the function name */ public String getName() { return name; } /** * Gets the arguments to call the function with, as generated by the model in JSON format. * Note that the model does not always generate valid JSON, and may hallucinate parameters * not defined by your function schema. Validate the arguments in your code before calling your function. * * @return the function arguments in JSON format */ public String getArguments() { return arguments; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationTools.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Represents tool definitions that can be used during conversation. */ public class ConversationTools { private final ConversationToolsFunction function; /** * Constructor. * * @param function the function definition */ public ConversationTools(ConversationToolsFunction function) { this.function = function; } /** * Gets the function definition. * * @return the function definition */ public ConversationToolsFunction getFunction() { return function; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ConversationToolsFunction.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Map; /** * Represents a function definition for conversation tools. */ public class ConversationToolsFunction { private String description; private final String name; private final Map parameters; /** * Constructor. * * @param name the function name * @param parameters the function parameters schema */ public ConversationToolsFunction(String name, Map parameters) { this.name = name; this.parameters = parameters; } /** * Gets the function name. * * @return the function name */ public String getName() { return name; } /** * Gets the function description. * * @return the function description */ public String getDescription() { return description; } /** * Sets the function description. * * @param description the function description * @return this instance for method chaining */ public ConversationToolsFunction setDescription(String description) { this.description = description; return this; } /** * Gets the function parameters schema. * * @return the function parameters */ public Map getParameters() { return parameters; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/DaprMetadata.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.List; import java.util.Map; /** * DaprMetadata describes the Dapr Metadata. */ public final class DaprMetadata { private final String id; private final String runtimeVersion; private final List enabledFeatures; private final List actors; private final Map attributes; private final List components; private final List httpEndpoints; private final List subscriptions; private final AppConnectionPropertiesMetadata appConnectionProperties; /** * Constructor for a DaprMetadata. * * @param id of the application * @param runtimeVersion Dapr version * @param enabledFeatures list of enabled features * @param actors list of registered features * @param attributes map of extended attributes * @param components list of registered components * @param httpEndpoints list of registered http endpoints * @param subscriptions list of registered subscription * @param appConnectionProperties connection properties of the application */ public DaprMetadata(String id, String runtimeVersion, List enabledFeatures, List actors, Map attributes, List components, List httpEndpoints, List subscriptions, AppConnectionPropertiesMetadata appConnectionProperties) { this.id = id; this.runtimeVersion = runtimeVersion; this.enabledFeatures = enabledFeatures == null ? Collections.emptyList() : Collections.unmodifiableList(enabledFeatures); this.actors = actors == null ? Collections.emptyList() : Collections.unmodifiableList(actors); this.attributes = attributes == null ? Collections.emptyMap() : Collections.unmodifiableMap(attributes); this.components = components == null ? Collections.emptyList() : Collections.unmodifiableList(components); this.httpEndpoints = httpEndpoints == null ? Collections.emptyList() : Collections.unmodifiableList(httpEndpoints); this.subscriptions = subscriptions == null ? Collections.emptyList() : Collections.unmodifiableList(subscriptions); this.appConnectionProperties = appConnectionProperties; } public String getId() { return id; } public String getRuntimeVersion() { return runtimeVersion; } public List getEnabledFeatures() { return enabledFeatures; } public List getActors() { return actors; } public Map getAttributes() { return attributes; } public List getComponents() { return components; } public List getHttpEndpoints() { return httpEndpoints; } public List getSubscriptions() { return subscriptions; } public AppConnectionPropertiesMetadata getAppConnectionProperties() { return appConnectionProperties; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/DecryptRequestAlpha1.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import reactor.core.publisher.Flux; /** * Request to decrypt data using the Dapr Cryptography building block. * Uses streaming to handle large payloads efficiently. */ public class DecryptRequestAlpha1 { private final String componentName; private final Flux cipherTextStream; private String keyName; /** * Constructor for DecryptRequestAlpha1. * * @param componentName Name of the cryptography component. Required. * @param cipherTextStream Stream of ciphertext data to decrypt. Required. */ public DecryptRequestAlpha1(String componentName, Flux cipherTextStream) { this.componentName = componentName; this.cipherTextStream = cipherTextStream; } /** * Gets the cryptography component name. * * @return the component name */ public String getComponentName() { return componentName; } /** * Gets the ciphertext data stream to decrypt. * * @return the ciphertext stream as Flux of byte arrays */ public Flux getCipherTextStream() { return cipherTextStream; } /** * Gets the key name (or name/version) to use for decryption. * * @return the key name, or null if using the key embedded in the ciphertext */ public String getKeyName() { return keyName; } /** * Sets the key name (or name/version) to decrypt the message. * This overrides any key reference included in the message if present. * This is required if the message doesn't include a key reference * (i.e., was created with omitDecryptionKeyName set to true). * * @param keyName the key name to use for decryption * @return this request instance for method chaining */ public DecryptRequestAlpha1 setKeyName(String keyName) { this.keyName = keyName; return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/DeleteJobRequest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Represents a request to schedule a job in Dapr. */ public class DeleteJobRequest { private final String name; /** * Constructor to create Delete Job Request. * * @param name of the job to delete. */ public DeleteJobRequest(String name) { this.name = name; } /** * Gets the name of the job. * * @return The job name. */ public String getName() { return name; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/DeleteStateRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.Map; /** * A request to delete a state by key. */ public class DeleteStateRequest { private final String stateStoreName; private final String key; private Map metadata; private String etag; private StateOptions stateOptions; /** * Constructor for DeleteStateRequest. * * @param storeName Name of the state store * @param key Key present in the state store */ public DeleteStateRequest(String storeName, String key) { this.stateStoreName = storeName; this.key = key; } public String getStateStoreName() { return stateStoreName; } public String getKey() { return key; } public String getEtag() { return etag; } public DeleteStateRequest setEtag(String etag) { this.etag = etag; return this; } public StateOptions getStateOptions() { return stateOptions; } public DeleteStateRequest setStateOptions(StateOptions stateOptions) { this.stateOptions = stateOptions; return this; } public Map getMetadata() { return metadata; } public DeleteStateRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/DeveloperMessage.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * Developer message for development and debugging purposes. * Used for providing additional context or instructions during development. */ public class DeveloperMessage implements ConversationMessage { private String name; private final List content; /** * Creates a developer message with content. * * @param content the content of the developer message */ public DeveloperMessage(List content) { this.content = List.copyOf(content); } @Override public ConversationMessageRole getRole() { return ConversationMessageRole.DEVELOPER; } @Override public String getName() { return name; } /** * Sets the name of the developer participant. * * @param name the name to set * @return this instance for method chaining */ public DeveloperMessage setName(String name) { this.name = name; return this; } @Override public List getContent() { return content; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/DropFailurePolicy.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonTypeName; /** * A failure policy that drops the job upon failure without retrying. * This implementation of {@link FailurePolicy} immediately discards failed jobs * instead of retrying them. */ @JsonTypeName("DROP") public class DropFailurePolicy implements FailurePolicy { /** * Returns the type of failure policy. * * @return {@link FailurePolicyType#DROP} */ @Override public FailurePolicyType getFailurePolicyType() { return FailurePolicyType.DROP; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/EncryptRequestAlpha1.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import reactor.core.publisher.Flux; /** * Request to encrypt data using the Dapr Cryptography building block. * Uses streaming to handle large payloads efficiently. */ public class EncryptRequestAlpha1 { private final String componentName; private final Flux plainTextStream; private final String keyName; private final String keyWrapAlgorithm; private String dataEncryptionCipher; private boolean omitDecryptionKeyName; private String decryptionKeyName; /** * Constructor for EncryptRequestAlpha1. * * @param componentName Name of the cryptography component. Required. * @param plainTextStream Stream of plaintext data to encrypt. Required. * @param keyName Name (or name/version) of the key to use for encryption. Required. * @param keyWrapAlgorithm Key wrapping algorithm to use. Required. * Supported options: A256KW (alias: AES), A128CBC, A192CBC, A256CBC, * RSA-OAEP-256 (alias: RSA). */ public EncryptRequestAlpha1(String componentName, Flux plainTextStream, String keyName, String keyWrapAlgorithm) { this.componentName = componentName; this.plainTextStream = plainTextStream; this.keyName = keyName; this.keyWrapAlgorithm = keyWrapAlgorithm; } /** * Gets the cryptography component name. * * @return the component name */ public String getComponentName() { return componentName; } /** * Gets the plaintext data stream to encrypt. * * @return the plaintext stream as Flux of byte arrays */ public Flux getPlainTextStream() { return plainTextStream; } /** * Gets the key name (or name/version). * * @return the key name */ public String getKeyName() { return keyName; } /** * Gets the key wrap algorithm. * * @return the key wrap algorithm */ public String getKeyWrapAlgorithm() { return keyWrapAlgorithm; } /** * Gets the data encryption cipher. * * @return the data encryption cipher, or null if not set */ public String getDataEncryptionCipher() { return dataEncryptionCipher; } /** * Sets the cipher used to encrypt data. * Optional. Supported values: "aes-gcm" (default), "chacha20-poly1305". * * @param dataEncryptionCipher the cipher to use for data encryption * @return this request instance for method chaining */ public EncryptRequestAlpha1 setDataEncryptionCipher(String dataEncryptionCipher) { this.dataEncryptionCipher = dataEncryptionCipher; return this; } /** * Checks if the decryption key name should be omitted from the encrypted document. * * @return true if the key name should be omitted */ public boolean isOmitDecryptionKeyName() { return omitDecryptionKeyName; } /** * Sets whether to omit the decryption key name from the encrypted document. * If true, calls to decrypt must provide a key reference (name or name/version). * Defaults to false. * * @param omitDecryptionKeyName whether to omit the key name * @return this request instance for method chaining */ public EncryptRequestAlpha1 setOmitDecryptionKeyName(boolean omitDecryptionKeyName) { this.omitDecryptionKeyName = omitDecryptionKeyName; return this; } /** * Gets the decryption key name to embed in the encrypted document. * * @return the decryption key name, or null if not set */ public String getDecryptionKeyName() { return decryptionKeyName; } /** * Sets the key reference to embed in the encrypted document (name or name/version). * This is helpful if the reference of the key used to decrypt the document is * different from the one used to encrypt it. * If unset, uses the reference of the key used to encrypt the document. * This option is ignored if omitDecryptionKeyName is true. * * @param decryptionKeyName the key name to embed for decryption * @return this request instance for method chaining */ public EncryptRequestAlpha1 setDecryptionKeyName(String decryptionKeyName) { this.decryptionKeyName = decryptionKeyName; return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ExecuteStateTransactionRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.List; import java.util.Map; /** * A request for executing state transaction operations. */ public class ExecuteStateTransactionRequest { /** * Name of the state store. */ private final String stateStoreName; /** * Transactional operations list. */ private List> operations; /** * Metadata used for transactional operations. */ private Map metadata; /** * Constructor for ExecuteStateTransactionRequest. * * @param stateStoreName Name of the state store */ public ExecuteStateTransactionRequest(String stateStoreName) { this.stateStoreName = stateStoreName; } public String getStateStoreName() { return stateStoreName; } public ExecuteStateTransactionRequest setOperations(List> operations) { this.operations = operations == null ? null : Collections.unmodifiableList(operations); return this; } public List> getOperations() { return operations; } public ExecuteStateTransactionRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } public Map getMetadata() { return metadata; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/FailurePolicy.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; /** * Set a failure policy for the job or reminder. */ @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "failurePolicyType", include = JsonTypeInfo.As.EXISTING_PROPERTY) @JsonSubTypes({ @JsonSubTypes.Type(value = DropFailurePolicy.class, name = "DROP"), @JsonSubTypes.Type(value = ConstantFailurePolicy.class, name = "CONSTANT") }) public interface FailurePolicy { FailurePolicyType getFailurePolicyType(); } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/FailurePolicyType.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; public enum FailurePolicyType { DROP, CONSTANT } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/GetBulkSecretRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.Map; /** * A request to get a secret by key. */ public class GetBulkSecretRequest { private final String storeName; private Map metadata; /** * Constructor for GetBulkSecretRequest. * * @param storeName Name of the secret store */ public GetBulkSecretRequest(String storeName) { this.storeName = storeName; } public String getStoreName() { return storeName; } public Map getMetadata() { return metadata; } public GetBulkSecretRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/GetBulkStateRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; /** * A request to get bulk state by keys. */ public class GetBulkStateRequest { private final String storeName; private final List keys; private Map metadata = Collections.emptyMap(); private int parallelism = 1; /** * Constructor for GetBulkStateRequest. * * @param storeName Name of the state store * @param keys keys for the state objects */ public GetBulkStateRequest(String storeName, List keys) { this.storeName = storeName; this.keys = keys == null ? null : Collections.unmodifiableList(keys); } public GetBulkStateRequest(String storeName, String... keys) { this.storeName = storeName; this.keys = keys == null ? null : Collections.unmodifiableList(Arrays.asList(keys)); } public String getStoreName() { return storeName; } public List getKeys() { return keys; } public int getParallelism() { return parallelism; } public GetBulkStateRequest setParallelism(int parallelism) { this.parallelism = parallelism; return this; } public Map getMetadata() { return metadata; } public GetBulkStateRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/GetConfigurationRequest.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.List; import java.util.Map; /** * Request to get one or more configuration items from Dapr's configuration store. */ public class GetConfigurationRequest { private final String storeName; private final List keys; private Map metadata; /** * Constructor for GetConfigurationRequest. * * @param storeName Name of the configuration store * @param keys Keys for the configuration objects */ public GetConfigurationRequest(String storeName, List keys) { this.storeName = storeName; this.keys = keys == null ? Collections.emptyList() : Collections.unmodifiableList(keys); } public GetConfigurationRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } public String getStoreName() { return storeName; } public List getKeys() { return keys; } public Map getMetadata() { return metadata; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/GetJobRequest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Represents a request to schedule a job in Dapr. */ public class GetJobRequest { private final String name; /** * Constructor to create Get Job Request. * * @param name of the job to fetch.. */ public GetJobRequest(String name) { this.name = name; } /** * Gets the name of the job. * * @return The job name. */ public String getName() { return name; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/GetJobResponse.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.time.Instant; /** * Represents a request to schedule a job in Dapr. */ public class GetJobResponse { private final String name; private byte[] data; private JobSchedule schedule; private Instant dueTime; private Integer repeats; private Instant ttl; private FailurePolicy failurePolicy; /** * Constructor to create GetJobResponse. * * @param name of the job. * @param schedule job has to run. */ public GetJobResponse(String name, JobSchedule schedule) { this.name = name; this.schedule = schedule; } /** * Constructor to create GetJobResponse. * * @param name of the job. * @param dueTime An optional time at which the job should be active, or the “one shot” time, if other scheduling * type fields are not provided. Accepts a “point in time” string in the format of RFC3339, * Go duration string (calculated from creation time), or non-repeating ISO8601 */ public GetJobResponse(String name, Instant dueTime) { this.name = name; this.dueTime = dueTime; } /** * Sets the data payload for the job. * This should be a JSON serialized value or object. * * @param data The job data in byte array format. * @return This builder instance. */ public GetJobResponse setData(byte[] data) { this.data = data; return this; } /** * Sets the schedule for the job. * The format should follow cron expressions or other supported scheduling formats. * * @param schedule The job schedule. * @return This builder instance. */ public GetJobResponse setSchedule(JobSchedule schedule) { this.schedule = schedule; return this; } /** * Sets the due time when the job should become active or execute once. * This can be in RFC3339, Go duration string, or non-repeating ISO8601 format. * * @param dueTime The due time of the job. * @return This builder instance. */ public GetJobResponse setDueTime(Instant dueTime) { this.dueTime = dueTime; return this; } /** * Sets the number of times the job should be triggered. * If not set, the job runs indefinitely or until expiration. * * @param repeats The number of times the job should repeat. * @return This builder instance. */ public GetJobResponse setRepeat(Integer repeats) { this.repeats = repeats; return this; } /** * Sets the time-to-live (TTL) or expiration for the job. * This can be in RFC3339, Go duration string, or non-repeating ISO8601 format. * * @param ttl The time-to-live for the job. * @return This builder instance. */ public GetJobResponse setTtl(Instant ttl) { this.ttl = ttl; return this; } /** * Sets the failure policy for the scheduled job. * This defines how the job should behave in case of failure, such as retrying with a delay * or dropping the job entirely. * * @param failurePolicy the {@link FailurePolicy} to apply to the job * @return this {@code ScheduleJobRequest} instance for method chaining */ public GetJobResponse setFailurePolicy(FailurePolicy failurePolicy) { this.failurePolicy = failurePolicy; return this; } // Getters /** * Gets the name of the job. * * @return The job name. */ public String getName() { return name; } /** * Gets the data payload of the job. * * @return The job data as a byte array. */ public byte[] getData() { return data; } /** * Gets the schedule of the job. * * @return The job schedule. */ public JobSchedule getSchedule() { return schedule; } /** * Gets the due time of the job. * * @return The due time. */ public Instant getDueTime() { return dueTime; } /** * Gets the number of times the job should repeat. * * @return The repeat count, or null if not set. */ public Integer getRepeats() { return repeats; } /** * Gets the time-to-live (TTL) or expiration of the job. * * @return The TTL value. */ public Instant getTtl() { return ttl; } /** * Gets the failure policy. * * @return FailurePolicy. */ public FailurePolicy getFailurePolicy() { return failurePolicy; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/GetSecretRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.Map; /** * A request to get a secret by key. */ public class GetSecretRequest { private final String storeName; private final String key; /** * Constructor for GetSecretRequest. * * @param storeName Name of the Secret Store * @param key Key for retrieving the secret */ public GetSecretRequest(String storeName, String key) { this.storeName = storeName; this.key = key; } private Map metadata; public String getStoreName() { return storeName; } public String getKey() { return key; } public Map getMetadata() { return metadata; } public GetSecretRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/GetStateRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.Map; /** * A request to get a state by key. */ public class GetStateRequest { private final String storeName; private final String key; private Map metadata; private StateOptions stateOptions; /** * Constructor for GetStateRequest. * * @param storeName Name of the state store * @param key Key of the state object */ public GetStateRequest(String storeName, String key) { this.storeName = storeName; this.key = key; } public String getStoreName() { return storeName; } public String getKey() { return key; } public StateOptions getStateOptions() { return stateOptions; } public GetStateRequest setStateOptions(StateOptions stateOptions) { this.stateOptions = stateOptions; return this; } public Map getMetadata() { return metadata; } public GetStateRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/HttpEndpointMetadata.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * HttpEndpointMetadata describes a registered Dapr HTTP endpoint. */ public final class HttpEndpointMetadata { private final String name; /** * Constructor for a HttpEndpointMetadata. * * @param name of the HTTP endpoint */ public HttpEndpointMetadata(String name) { this.name = name; } public String getName() { return name; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/HttpExtension.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import io.dapr.client.DaprHttp; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.Collections; import java.util.List; import java.util.Map; /** * HTTP Extension class. * This class is only needed if the app you are calling is listening on HTTP. * It contains properties that represent data that may be populated for an HTTP receiver. */ public final class HttpExtension { /** * Convenience HttpExtension object for {@link io.dapr.client.DaprHttp.HttpMethods#NONE} with empty queryString. */ public static final HttpExtension NONE = new HttpExtension(DaprHttp.HttpMethods.NONE); /** * Convenience HttpExtension object for the {@link DaprHttp.HttpMethods#GET} Verb with empty queryString. */ public static final HttpExtension GET = new HttpExtension(DaprHttp.HttpMethods.GET); /** * Convenience HttpExtension object for the {@link DaprHttp.HttpMethods#PUT} Verb with empty queryString. */ public static final HttpExtension PUT = new HttpExtension(DaprHttp.HttpMethods.PUT); /** * Convenience HttpExtension object for the {@link DaprHttp.HttpMethods#POST} Verb with empty queryString. */ public static final HttpExtension POST = new HttpExtension(DaprHttp.HttpMethods.POST); /** * Convenience HttpExtension object for the {@link DaprHttp.HttpMethods#DELETE} Verb with empty queryString. */ public static final HttpExtension DELETE = new HttpExtension(DaprHttp.HttpMethods.DELETE); /** * Convenience HttpExtension object for the {@link DaprHttp.HttpMethods#PATCH} Verb with empty queryString. */ public static final HttpExtension PATCH = new HttpExtension(DaprHttp.HttpMethods.PATCH); /** * Convenience HttpExtension object for the {@link DaprHttp.HttpMethods#HEAD} Verb with empty queryString. */ public static final HttpExtension HEAD = new HttpExtension(DaprHttp.HttpMethods.HEAD); /** * Convenience HttpExtension object for the {@link DaprHttp.HttpMethods#CONNECT} Verb with empty queryString. */ public static final HttpExtension CONNECT = new HttpExtension(DaprHttp.HttpMethods.CONNECT); /** * Convenience HttpExtension object for the {@link DaprHttp.HttpMethods#OPTIONS} Verb with empty queryString. */ public static final HttpExtension OPTIONS = new HttpExtension(DaprHttp.HttpMethods.OPTIONS); /** * Convenience HttpExtension object for the {@link DaprHttp.HttpMethods#TRACE} Verb with empty queryString. */ public static final HttpExtension TRACE = new HttpExtension(DaprHttp.HttpMethods.TRACE); /** * HTTP verb. */ private final DaprHttp.HttpMethods method; /** * HTTP query params. */ private final Map> queryParams; /** * HTTP headers. */ private final Map headers; /** * Construct a HttpExtension object. * @param method Required value denoting the HttpMethod. * @param queryParams map for the query parameters the HTTP call. * @param headers map to set HTTP headers. * @see io.dapr.client.DaprHttp.HttpMethods for supported methods. * @throws IllegalArgumentException on null method or queryString. */ public HttpExtension(DaprHttp.HttpMethods method, Map> queryParams, Map headers) { if (method == null) { throw new IllegalArgumentException("HttpExtension method cannot be null"); } this.method = method; this.queryParams = Collections.unmodifiableMap(queryParams == null ? Collections.emptyMap() : queryParams); this.headers = Collections.unmodifiableMap(headers == null ? Collections.emptyMap() : headers); } /** * Construct a HttpExtension object. * @param method Required value denoting the HttpMethod. * @see io.dapr.client.DaprHttp.HttpMethods for supported methods. * @throws IllegalArgumentException on null method or queryString. */ public HttpExtension(DaprHttp.HttpMethods method) { this(method, null, null); } public DaprHttp.HttpMethods getMethod() { return method; } public Map> getQueryParams() { return queryParams; } public Map getHeaders() { return headers; } /** * Encodes the query string for the HTTP request. * @return Encoded HTTP query string. */ public String encodeQueryString() { if (queryParams == null || queryParams.isEmpty()) { return ""; } StringBuilder queryBuilder = new StringBuilder(); for (Map.Entry> entry : queryParams.entrySet()) { String key = entry.getKey(); List values = entry.getValue(); for (String value : values) { if (queryBuilder.length() > 0) { queryBuilder.append("&"); } queryBuilder.append(encodeQueryParam(key, value)); // Encode key and value } } return queryBuilder.toString(); } private static String encodeQueryParam(String key, String value) { return URLEncoder.encode(key, StandardCharsets.UTF_8) + "=" + URLEncoder.encode(value, StandardCharsets.UTF_8); } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/InvokeBindingRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.Map; /** * A request to invoke binding. */ public class InvokeBindingRequest { private final String name; private final String operation; private Object data; private Map metadata; /** * Constructor for InvokeBindingRequest. * * @param bindingName Name of the binding * @param operation Name of the binding operation */ public InvokeBindingRequest(String bindingName, String operation) { this.name = bindingName; this.operation = operation; } public String getName() { return name; } public String getOperation() { return operation; } public Object getData() { return data; } public InvokeBindingRequest setData(Object data) { this.data = data; return this; } public Map getMetadata() { return metadata; } public InvokeBindingRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/InvokeMethodRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.Map; /** * A request to invoke a service. */ public class InvokeMethodRequest { private final String appId; private final String method; private Object body; private HttpExtension httpExtension; private String contentType; private Map metadata; /** * Constructor for InvokeMethodRequest. * * @param appId ID of the Dapr application * @param method Name of the method to be invoked */ public InvokeMethodRequest(String appId, String method) { this.appId = appId; this.method = method; } public String getAppId() { return appId; } public String getMethod() { return method; } public Object getBody() { return body; } public InvokeMethodRequest setBody(Object body) { this.body = body; return this; } public HttpExtension getHttpExtension() { return httpExtension; } public InvokeMethodRequest setHttpExtension(HttpExtension httpExtension) { this.httpExtension = httpExtension; return this; } public String getContentType() { return contentType; } public InvokeMethodRequest setContentType(String contentType) { this.contentType = contentType; return this; } public Map getMetadata() { return metadata; } public InvokeMethodRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/JobSchedule.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.time.Duration; /** * Represents a job schedule using cron expressions or fixed intervals. * This class provides various static methods to create schedules based on predefined periods * (e.g., daily, weekly, monthly) or using custom cron expressions. * Example usage: *

     * JobsSchedule schedule = JobsSchedule.daily();
     * System.out.println(schedule.getExpression()); // Outputs: "0 0 0 * * *"
     * 
    */ public class JobSchedule { private final String expression; /** * Private constructor to create a job schedule from a cron expression. * * @param expression the cron expression defining the schedule. */ private JobSchedule(String expression) { this.expression = expression; } /** * Creates a job schedule from a fixed period using a {@link Duration}. * The resulting expression follows the format: "@every XhYmZsWms" * where X, Y, Z, and W represent hours, minutes, seconds, and milliseconds respectively. * Example: *
       * JobsSchedule schedule = JobsSchedule.fromPeriod(Duration.ofMinutes(30));
       * System.out.println(schedule.getExpression()); // Outputs: "@every 0h30m0s0ms"
       * 
    * * @param duration the duration of the period. * @return a {@code JobsSchedule} with the corresponding interval. * @throws IllegalArgumentException if the duration is null. */ public static JobSchedule fromPeriod(Duration duration) { if (duration == null) { throw new IllegalArgumentException("duration cannot be null"); } String formattedDuration = String.format("%dh%dm%ds%dms", duration.toHoursPart(), duration.toMinutesPart(), duration.toSecondsPart(), duration.toMillisPart()); return new JobSchedule("@every " + formattedDuration); } /** * Creates a job schedule from a custom cron expression. * * @param cronExpression the cron expression. * @return a {@code JobsSchedule} representing the given cron expression. */ public static JobSchedule fromString(String cronExpression) { if (cronExpression == null) { throw new IllegalArgumentException("cronExpression cannot be null"); } return new JobSchedule(cronExpression); } /** * Creates a yearly job schedule, running at midnight on January 1st. * * @return a {@code JobsSchedule} for yearly execution. */ public static JobSchedule yearly() { return new JobSchedule("0 0 0 1 1 *"); } /** * Creates a monthly job schedule, running at midnight on the first day of each month. * * @return a {@code JobsSchedule} for monthly execution. */ public static JobSchedule monthly() { return new JobSchedule("0 0 0 1 * *"); } /** * Creates a weekly job schedule, running at midnight on Sunday. * * @return a {@code JobsSchedule} for weekly execution. */ public static JobSchedule weekly() { return new JobSchedule("0 0 0 * * 0"); } /** * Creates a daily job schedule, running at midnight every day. * * @return a {@code JobsSchedule} for daily execution. */ public static JobSchedule daily() { return new JobSchedule("0 0 0 * * *"); } /** * Creates an hourly job schedule, running at the start of every hour. * * @return a {@code JobsSchedule} for hourly execution. */ public static JobSchedule hourly() { return new JobSchedule("0 0 * * * *"); } /** * Gets the cron expression representing this job schedule. * * @return the cron expression as a string. */ public String getExpression() { return this.expression; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/LockRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonIgnore; import java.io.Serializable; /** * A request to lock. */ public class LockRequest implements Serializable { /** * The lock store name,e.g. `redis`. */ @JsonIgnore private final String storeName; /** * Required. resourceId is the lock key. e.g. `order_id_111` * It stands for "which resource I want to protect" */ private final String resourceId; /** * lockOwner indicate the identifier of lock owner. * You can generate a uuid as lock_owner.For example,in golang: * req.LockOwner = uuid.New().String() * This field is per request,not per process,so it is different for each request, * which aims to prevent multi-thread in the same process trying the same lock concurrently. * The reason why we don't make it automatically generated is: * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response. * This name is so weird that we think it is inappropriate to put it into the api spec * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner', * which means the current lock owner of this lock, * we find that in some lock services users can't get the current lock owner. * Actually users don't need it at all. * 3. When reentrant lock is needed,the existing lock_owner is required to identify client * and check "whether this client can reenter this lock". * So this field in the request shouldn't be removed. */ private final String lockOwner; /** * The time before expiry.The time unit is second. */ private final Integer expiryInSeconds; /** * Constructor of LockRequest. * @param storeName Name of the store * @param resourceId Lock key * @param lockOwner The identifier of lock owner * @param expiryInSeconds The time before expiry */ public LockRequest(String storeName, String resourceId, String lockOwner, Integer expiryInSeconds) { this.storeName = storeName; this.resourceId = resourceId; this.lockOwner = lockOwner; this.expiryInSeconds = expiryInSeconds; } public String getStoreName() { return storeName; } public String getResourceId() { return resourceId; } public String getLockOwner() { return lockOwner; } public Integer getExpiryInSeconds() { return expiryInSeconds; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/Metadata.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Enumerates commonly used metadata attributes. */ public final class Metadata { public static final String CONTENT_TYPE = "content-type"; public static final String TTL_IN_SECONDS = "ttlInSeconds"; private Metadata() { } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/PublishEventRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.Map; /** * A request to publish an event. */ public class PublishEventRequest { private final String pubsubName; private final String topic; private final Object data; private String contentType; private Map metadata = Collections.emptyMap(); /** * Constructor for PublishEventRequest. * @param pubsubName name of the pubsub * @param topic name of the topic in the pubsub * @param data data to published */ public PublishEventRequest(String pubsubName, String topic, Object data) { this.pubsubName = pubsubName; this.topic = topic; this.data = data; } public String getPubsubName() { return pubsubName; } public String getTopic() { return topic; } public Object getData() { return data; } public String getContentType() { return this.contentType; } public PublishEventRequest setContentType(String contentType) { this.contentType = contentType; return this; } public Map getMetadata() { return metadata; } public PublishEventRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/QueryStateItem.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; public class QueryStateItem { /** * The value of the state. */ private final T value; /** * The key of the state. */ private final String key; /** * The ETag to be used * Keep in mind that for some state stores (like redis) only numbers are supported. */ private final String etag; /** * The error in case the key could not be retrieved. */ private final String error; /** * Create an immutable state reference to be retrieved or deleted. * This Constructor CAN be used anytime you need to retrieve or delete a state. * * @param key - The key of the state */ public QueryStateItem(String key) { this.key = key; this.value = null; this.etag = null; this.error = null; } /** * Create an immutable state reference to be retrieved or deleted. * This Constructor CAN be used anytime you need to retrieve or delete a state. * * @param key - The key of the state * @param etag - The etag of the state - Keep in mind that for some state stores (like redis) only numbers * are supported. * @param error - Error when fetching the state. */ public QueryStateItem(String key, String etag, String error) { this.value = null; this.key = key; this.etag = etag; this.error = error; } /** * Create an immutable state. * This Constructor CAN be used anytime you want the state to be saved. * * @param key - The key of the state. * @param value - The value of the state. * @param etag - The etag of the state - for some state stores (like redis) only numbers are supported. */ public QueryStateItem(String key, T value, String etag) { this.value = value; this.key = key; this.etag = etag; this.error = null; } /** * Retrieves the Value of the state. * * @return The value of the state */ public T getValue() { return value; } /** * Retrieves the Key of the state. * * @return The key of the state */ public String getKey() { return key; } /** * Retrieve the ETag of this state. * * @return The etag of the state */ public String getEtag() { return etag; } /** * Retrieve the error for this state. * * @return The error for this state. */ public String getError() { return error; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof QueryStateItem)) { return false; } QueryStateItem that = (QueryStateItem) o; if (getValue() != null ? !getValue().equals(that.getValue()) : that.getValue() != null) { return false; } if (getKey() != null ? !getKey().equals(that.getKey()) : that.getKey() != null) { return false; } if (getEtag() != null ? !getEtag().equals(that.getEtag()) : that.getEtag() != null) { return false; } return getError() != null ? getError().equals(that.getError()) : that.getError() == null; } @Override public int hashCode() { int result = getValue() != null ? getValue().hashCode() : 0; result = 31 * result + (getKey() != null ? getKey().hashCode() : 0); result = 31 * result + (getEtag() != null ? getEtag().hashCode() : 0); result = 31 * result + (getError() != null ? getError().hashCode() : 0); return result; } @Override public String toString() { return "QueryStateItem{" + "key='" + key + "'" + ", value=" + value + ", etag='" + etag + "'" + ", error='" + error + "'" + "}"; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/QueryStateRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonIgnore; import io.dapr.client.domain.query.Query; import java.util.Collections; import java.util.Map; public class QueryStateRequest { @JsonIgnore private final String storeName; private Query query; private String queryString; @JsonIgnore private Map metadata; public QueryStateRequest(String storeName) { this.storeName = storeName; } public String getStoreName() { return storeName; } public Query getQuery() { return query; } /** * Validate and set the query field. Mutually exclusive with the queryString field in this instance. * * @param query Valid Query domain object. * @return This instance. */ public QueryStateRequest setQuery(Query query) { if (this.queryString != null) { throw new IllegalArgumentException("queryString filed is already set in the request. query field cannot be set."); } if (query == null || query.getFilter() == null) { throw new IllegalArgumentException("query cannot be null or with null filter"); } this.query = query; return this; } public String getQueryString() { return queryString; } /** * Validate and set the queryString field. Mutually exclusive with the query field in this instance. * * @param queryString String value of the query. * @return This request object for fluent API. */ public QueryStateRequest setQueryString(String queryString) { if (this.query != null) { throw new IllegalArgumentException("query filed is already set in the request. queryString field cannot be set."); } if (queryString == null || queryString.isEmpty()) { throw new IllegalArgumentException("queryString cannot be null or blank"); } this.queryString = queryString; return this; } public Map getMetadata() { return metadata; } public QueryStateRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/QueryStateResponse.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.List; import java.util.Map; public class QueryStateResponse { private final List> results; private final String token; private Map metadata; public QueryStateResponse(List> results, String token) { this.results = results == null ? null : Collections.unmodifiableList(results); this.token = token; } public List> getResults() { return results; } public String getToken() { return token; } public Map getMetadata() { return metadata; } public QueryStateResponse setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/RuleMetadata.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * RuleMetadata describes the Subscription Rule's Metadata. */ public final class RuleMetadata { private final String match; private final String path; /** * Constructor for a RuleMetadata. * * @param match CEL expression to match the message * @param path path to route the message */ public RuleMetadata(String match, String path) { this.match = match; this.path = path; } public String getMatch() { return match; } public String getPath() { return path; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/SaveStateRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Arrays; import java.util.Collections; import java.util.List; /** * A request to save states to state store. */ public class SaveStateRequest { private final String storeName; private List> states; /** * Constructor for SaveStateRequest. * * @param storeName Name of the state store */ public SaveStateRequest(String storeName) { this.storeName = storeName; } public String getStoreName() { return storeName; } public List> getStates() { return states; } public SaveStateRequest setStates(List> states) { this.states = states == null ? null : Collections.unmodifiableList(states); return this; } public SaveStateRequest setStates(State... states) { this.states = Collections.unmodifiableList(Arrays.asList(states)); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ScheduleJobRequest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.time.Instant; /** * Represents a request to schedule a job in Dapr. */ public class ScheduleJobRequest { private final String name; private byte[] data; private JobSchedule schedule; private Instant dueTime; private Integer repeats; private Instant ttl; private FailurePolicy failurePolicy; private boolean overwrite; /** * Constructor to create ScheduleJobRequest. * * @param name of the job. * @param schedule job has to run. */ public ScheduleJobRequest(String name, JobSchedule schedule) { this.name = name; this.schedule = schedule; } /** * Constructor to create ScheduleJobRequest. * * @param name of the job. * @param dueTime An optional time at which the job should be active, or the “one shot” time, if other scheduling * type fields are not provided. Accepts a “point in time” string in the format of RFC3339, * Go duration string (calculated from creation time), or non-repeating ISO8601 */ public ScheduleJobRequest(String name, Instant dueTime) { this.name = name; this.dueTime = dueTime; } /** * Sets the data payload for the job. * This should be a JSON serialized value or object. * * @param data The job data in byte array format. * @return This builder instance. */ public ScheduleJobRequest setData(byte[] data) { this.data = data; return this; } /** * Sets the schedule for the job. * The format should follow cron expressions or other supported scheduling formats. * * @param schedule The job schedule. * @return This builder instance. */ public ScheduleJobRequest setSchedule(JobSchedule schedule) { this.schedule = schedule; return this; } /** * Sets the due time when the job should become active or execute once. * This can be in RFC3339, Go duration string, or non-repeating ISO8601 format. * * @param dueTime The due time of the job. * @return This builder instance. */ public ScheduleJobRequest setDueTime(Instant dueTime) { this.dueTime = dueTime; return this; } /** * Sets the number of times the job should be triggered. * If not set, the job runs indefinitely or until expiration. * * @param repeats The number of times the job should repeat. * @return This builder instance. */ public ScheduleJobRequest setRepeat(Integer repeats) { this.repeats = repeats; return this; } /** * Sets the time-to-live (TTL) or expiration for the job. * This can be in RFC3339, Go duration string, or non-repeating ISO8601 format. * * @param ttl The time-to-live for the job. * @return This builder instance. */ public ScheduleJobRequest setTtl(Instant ttl) { this.ttl = ttl; return this; } /** * Sets the failure policy for the scheduled job. * This defines how the job should behave in case of failure, such as retrying with a delay * or dropping the job entirely. * * @param failurePolicy the {@link FailurePolicy} to apply to the job * @return this {@code ScheduleJobRequest} instance for method chaining */ public ScheduleJobRequest setFailurePolicy(FailurePolicy failurePolicy) { this.failurePolicy = failurePolicy; return this; } /** * Gets the name of the job. * * @return The job name. */ public String getName() { return name; } /** * Gets the data payload of the job. * * @return The job data as a byte array. */ public byte[] getData() { return data; } /** * Gets the schedule of the job. * * @return The job schedule. */ public JobSchedule getSchedule() { return schedule; } /** * Gets the due time of the job. * * @return The due time. */ public Instant getDueTime() { return dueTime; } /** * Gets the number of times the job should repeat. * * @return The repeat count, or null if not set. */ public Integer getRepeats() { return repeats; } /** * Gets the time-to-live (TTL) or expiration of the job. * * @return The TTL value. */ public Instant getTtl() { return ttl; } /** * Gets the failure policy. * * @return FailurePolicy. */ public FailurePolicy getFailurePolicy() { return failurePolicy; } /* * Gets the overwrite flag. * * @return The overwrite flag. */ public boolean getOverwrite() { return overwrite; } /** * Sets the overwrite flag. * * @param overwrite The overwrite flag. * @return This builder instance. */ public ScheduleJobRequest setOverwrite(boolean overwrite) { this.overwrite = overwrite; return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/State.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.Map; /** * This class represents what a State is. * * @param The type of the value of the sate */ public class State { /** * The value of the state. */ private final T value; /** * The key of the state. */ private final String key; /** * The ETag to be used * Keep in mind that for some state stores (like redis) only numbers are supported. */ private final String etag; /** * The metadata which will be passed to state store component. */ private final Map metadata; /** * The error in case the key could not be retrieved. */ private final String error; /** * The options used for saving the state. */ private final StateOptions options; /** * Create an immutable state reference to be retrieved or deleted. * This Constructor CAN be used anytime you need to retrieve or delete a state. * * @param key - The key of the state */ public State(String key) { this.key = key; this.value = null; this.etag = null; this.metadata = null; this.options = null; this.error = null; } /** * Create an immutable state reference to be retrieved or deleted. * This Constructor CAN be used anytime you need to retrieve or delete a state. * * @param key - The key of the state * @param etag - The etag of the state - Keep in mind that for some state stores (like redis) only numbers * are supported. * @param options - REQUIRED when saving a state. */ public State(String key, String etag, StateOptions options) { this.value = null; this.key = key; this.etag = etag; this.metadata = null; this.options = options; this.error = null; } /** * Create an immutable state. * This Constructor CAN be used anytime you want the state to be saved. * @param key - The key of the state. * @param value - The value of the state. * @param etag - The etag of the state - for some state stores (like redis) only numbers are supported. * @param options - REQUIRED when saving a state. */ public State(String key, T value, String etag, StateOptions options) { this.value = value; this.key = key; this.etag = etag; this.metadata = null; this.options = options; this.error = null; } /** * Create an immutable state. * This Constructor CAN be used anytime you want the state to be saved. * @param key - The key of the state. * @param value - The value of the state. * @param etag - The etag of the state - for some state stores (like redis) only numbers are supported. * @param metadata - The metadata of the state. * @param options - REQUIRED when saving a state. */ public State(String key, T value, String etag, Map metadata, StateOptions options) { this.value = value; this.key = key; this.etag = etag; this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); this.options = options; this.error = null; } /** * Create an immutable state. * This Constructor CAN be used anytime you want the state to be saved. * @param key - The key of the state. * @param value - The value of the state. * @param etag - The etag of the state - some state stores (like redis) only numbers are supported. */ public State(String key, T value, String etag) { this.value = value; this.key = key; this.etag = etag; this.metadata = null; this.options = null; this.error = null; } /** * Create an immutable state. * This Constructor MUST be used anytime the key could not be retrieved and contains an error. * * @param key - The key of the state. * @param error - Error when fetching the state. */ public State(String key, String error) { this.value = null; this.key = key; this.etag = null; this.metadata = null; this.options = null; this.error = error; } /** * Retrieves the Value of the state. * * @return The value of the state */ public T getValue() { return value; } /** * Retrieves the Key of the state. * * @return The key of the state */ public String getKey() { return key; } /** * Retrieve the ETag of this state. * * @return The etag of the state */ public String getEtag() { return etag; } /** * Retrieve the metadata of this state. * @return the metadata of this state */ public Map getMetadata() { return metadata; } /** * Retrieve the error for this state. * * @return The error for this state. */ public String getError() { return error; } /** * Retrieve the Options used for saving the state. * * @return The options to save the state */ public StateOptions getOptions() { return options; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof State)) { return false; } State that = (State) o; if (getValue() != null ? !getValue().equals(that.getValue()) : that.getValue() != null) { return false; } if (getKey() != null ? !getKey().equals(that.getKey()) : that.getKey() != null) { return false; } if (getEtag() != null ? !getEtag().equals(that.getEtag()) : that.getEtag() != null) { return false; } if (getError() != null ? !getError().equals(that.getError()) : that.getError() != null) { return false; } if (getMetadata() != null ? !getMetadata().equals(that.getMetadata()) : that.getMetadata() != null) { return false; } if (getOptions() != null ? !getOptions().equals(that.getOptions()) : that.getOptions() != null) { return false; } return true; } @Override public int hashCode() { int result = getValue() != null ? getValue().hashCode() : 0; result = 31 * result + (getKey() != null ? getKey().hashCode() : 0); result = 31 * result + (getEtag() != null ? getEtag().hashCode() : 0); result = 31 * result + (getMetadata() != null ? getMetadata().hashCode() : 0); result = 31 * result + (getError() != null ? getError().hashCode() : 0); result = 31 * result + (getOptions() != null ? options.hashCode() : 0); return result; } @Override public String toString() { return "StateKeyValue{" + "key='" + key + "'" + ", value=" + value + ", etag='" + etag + "'" + ", metadata={'" + (metadata != null ? metadata.toString() : null) + "'}" + ", error='" + error + "'" + ", options={'" + (options != null ? options.toString() : null) + "'}" + "}"; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/StateOptions.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import com.fasterxml.jackson.databind.exc.InvalidFormatException; import com.fasterxml.jackson.databind.ser.std.StdSerializer; import io.dapr.utils.DurationUtils; import java.io.IOException; import java.time.Duration; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Optional; /** * A class representing the state options for Dapr state API. */ public class StateOptions { private final Consistency consistency; private final Concurrency concurrency; /** * Represents options for a Dapr state API call. * @param consistency The consistency mode. * @param concurrency The concurrency mode. */ public StateOptions(Consistency consistency, Concurrency concurrency) { this.consistency = consistency; this.concurrency = concurrency; } public Concurrency getConcurrency() { return concurrency; } public Consistency getConsistency() { return consistency; } /** * Returns state options as a Map of option name to value. * @return A map of state options. */ @JsonIgnore public Map getStateOptionsAsMap() { Map mapOptions = new HashMap<>(); if (this.getConsistency() != null) { mapOptions.put("consistency", this.getConsistency().getValue()); } if (this.getConcurrency() != null) { mapOptions.put("concurrency", this.getConcurrency().getValue()); } return Collections.unmodifiableMap(Optional.ofNullable(mapOptions).orElse(Collections.EMPTY_MAP)); } /** * Options for Consistency. */ public enum Consistency { EVENTUAL("eventual"), STRONG("strong"); private final String value; Consistency(String value) { this.value = value; } @JsonValue public String getValue() { return this.value; } @JsonCreator public static Consistency fromValue(String value) { return Consistency.valueOf(value); } } /** * Options for Concurrency. */ public enum Concurrency { FIRST_WRITE("first-write"), LAST_WRITE("last-write"); private final String value; Concurrency(String value) { this.value = value; } @JsonValue public String getValue() { return this.value; } @JsonCreator public static Concurrency fromValue(String value) { return Concurrency.valueOf(value); } } public static class StateOptionDurationSerializer extends StdSerializer { public StateOptionDurationSerializer() { super(Duration.class); } public StateOptionDurationSerializer(Class t) { super(t); } @Override public void serialize( Duration duration, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { jsonGenerator.writeNumber(duration.toMillis()); } } public static class StateOptionDurationDeserializer extends StdDeserializer { public StateOptionDurationDeserializer(Class vc) { super(vc); } @Override public Duration deserialize( JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { String durationStr = jsonParser.readValueAs(String.class); Duration duration = null; if (durationStr != null && !durationStr.trim().isEmpty()) { try { duration = DurationUtils.convertDurationFromDaprFormat(durationStr); } catch (Exception ex) { throw InvalidFormatException.from(jsonParser, "Unable to parse duration.", ex); } } return duration; } } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/SubscribeConfigurationRequest.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.List; import java.util.Map; /** * Request to subscribe to one or more configuration items. */ public class SubscribeConfigurationRequest { private final String storeName; private final List keys; private Map metadata; /** * Constructor for SubscribeConfigurationRequest. * * @param storeName Name of the configuration store * @param keys Keys of the configurations values to subscribe to */ public SubscribeConfigurationRequest(String storeName, List keys) { this.storeName = storeName; this.keys = keys == null ? Collections.emptyList() : Collections.unmodifiableList(keys); } public SubscribeConfigurationRequest setMetadata(Map metadata) { this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); return this; } public String getStoreName() { return storeName; } public List getKeys() { return keys; } public Map getMetadata() { return metadata; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/SubscribeConfigurationResponse.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Collections; import java.util.Map; /** * Domain object for response from subscribeConfiguration API. */ public class SubscribeConfigurationResponse { /** * Subscription id for the items subscribed to. */ private final String subscriptionId; /** * Map of Configuration key to {@link ConfigurationItem}. */ private final Map items; /** * Constructor for SubscribeConfigurationResponse. * * @param id Subscription id for the items subscribed to.This id is returned by subscribeToConfiguration API. * @param items Map of configuration items user subscribed to. */ @JsonCreator public SubscribeConfigurationResponse( @JsonProperty("id") String id, @JsonProperty("items") Map items) { this.subscriptionId = id; this.items = Collections.unmodifiableMap(items); } public Map getItems() { return items; } public String getSubscriptionId() { return subscriptionId; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/SubscriptionMetadata.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.List; import java.util.Map; /** * SubscriptionMetadata describes the Subscription Metadata. */ public final class SubscriptionMetadata { private final String pubsubname; private final String topic; private final Map metadata; private final List rules; private final String deadLetterTopic; /** * Constructor for a SubscriptionMetadata. * * @param pubsubname component name * @param topic of the pubsub component * @param metadata of the pubsub component * @param rules subscription path rules * @param deadLetterTopic dead letter topic */ public SubscriptionMetadata(String pubsubname, String topic, Map metadata, List rules, String deadLetterTopic) { this.pubsubname = pubsubname; this.topic = topic; this.metadata = metadata == null ? Collections.emptyMap() : Collections.unmodifiableMap(metadata); this.rules = rules == null ? Collections.emptyList() : Collections.unmodifiableList(rules); this.deadLetterTopic = deadLetterTopic; } public String getPubsubname() { return pubsubname; } public String getTopic() { return topic; } public Map getMetadata() { return metadata; } public List getRules() { return rules; } public String getDeadLetterTopic() { return deadLetterTopic; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/SystemMessage.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * System message that sets the behavior or context for the conversation. * Used to provide instructions or context to the AI model. */ public class SystemMessage implements ConversationMessage { private String name; private final List content; /** * Creates a system message with content. * * @param content the content of the system message */ public SystemMessage(List content) { this.content = List.copyOf(content); } @Override public ConversationMessageRole getRole() { return ConversationMessageRole.SYSTEM; } @Override public String getName() { return name; } /** * Sets the name of the system participant. * * @param name the name to set */ public void setName(String name) { this.name = name; } @Override public List getContent() { return content; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/ToolMessage.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * Tool message containing results from function/tool calls. * Used to provide the response from a tool execution back to the AI model. */ public class ToolMessage implements ConversationMessage { private String toolId; private String name; private final List content; /** * Creates a tool message with content. * * @param content the content containing the tool execution result */ public ToolMessage(List content) { this.content = List.copyOf(content); } @Override public ConversationMessageRole getRole() { return ConversationMessageRole.TOOL; } @Override public String getName() { return name; } /** * Sets the tool identifier. * * @param toolId the tool identifier to set * @return this instance for method chaining */ public ToolMessage setToolId(String toolId) { this.toolId = toolId; return this; } /** * Sets the name of the tool participant. * * @param name the name to set * @return this instance for method chaining */ public ToolMessage setName(String name) { this.name = name; return this; } @Override public List getContent() { return content; } public String getToolId() { return toolId; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/TransactionalStateOperation.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects; /** * Class to represent transactional state operations. * @param Type of the state value */ public class TransactionalStateOperation { /** * The type of operation to be executed. */ private final OperationType operation; /** * State values to be operated on. */ private final State request; /** * Construct an immutable transactional state operation object. * @param operationType The type of operation done. * @param state The required state. */ public TransactionalStateOperation(OperationType operationType, State state) { this.operation = operationType; this.request = state; } public OperationType getOperation() { return operation; } public State getRequest() { return request; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } TransactionalStateOperation that = (TransactionalStateOperation) o; return operation.equals(that.operation) && request.equals(that.request); } @Override public int hashCode() { return Objects.hash(operation, request); } @Override public String toString() { return "TransactionalStateOperation{" + "operationType='" + operation + '\'' + ", state=" + request + '}'; } /** * Options for type of operation. */ public enum OperationType { @JsonProperty("upsert") UPSERT, @JsonProperty("delete") DELETE } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/TransactionalStateRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.Collections; import java.util.List; import java.util.Map; /** * A class to represent request for transactional state. * @param Type of state value in TransactionalStateOperation */ public class TransactionalStateRequest { /** * Transactional operations list. */ private final List> operations; /** * Metadata used for transactional operations. */ private final Map metadata; /** * Constructor to create immutable transactional state request object. * @param operations List of operations to be performed. * @param metadata Metadata used for transactional operations. */ public TransactionalStateRequest(List> operations, Map metadata) { this.operations = operations == null ? null : Collections.unmodifiableList(operations); this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); } public List> getOperations() { return operations; } public Map getMetadata() { return metadata; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/UnlockRequest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import com.fasterxml.jackson.annotation.JsonIgnore; import java.io.Serializable; /** * A request to unlock. */ public class UnlockRequest implements Serializable { /** * The lock store name,e.g. `redis`. */ @JsonIgnore private final String storeName; /** * Required. resourceId is the lock key. e.g. `order_id_111` * It stands for "which resource I want to protect" */ private final String resourceId; /** * lockOwner indicate the identifier of lock owner. * You can generate a uuid as lock_owner.For example,in golang: * req.LockOwner = uuid.New().String() * This field is per request,not per process,so it is different for each request, * which aims to prevent multi-thread in the same process trying the same lock concurrently. * The reason why we don't make it automatically generated is: * 1. If it is automatically generated,there must be a 'my_lock_owner_id' field in the response. * This name is so weird that we think it is inappropriate to put it into the api spec * 2. If we change the field 'my_lock_owner_id' in the response to 'lock_owner', * which means the current lock owner of this lock, * we find that in some lock services users can't get the current lock owner. * Actually users don't need it at all. * 3. When reentrant lock is needed,the existing lock_owner is required to identify client * and check "whether this client can reenter this lock". * So this field in the request shouldn't be removed. */ private final String lockOwner; /** * Constructor for UnlockRequest. * @param storeName Name of the store * @param resourceId Lock key * @param lockOwner The identifier of lock owner. */ public UnlockRequest(String storeName, String resourceId, String lockOwner) { this.storeName = storeName; this.resourceId = resourceId; this.lockOwner = lockOwner; } public String getStoreName() { return storeName; } public String getResourceId() { return resourceId; } public String getLockOwner() { return lockOwner; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/UnlockResponseStatus.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; public enum UnlockResponseStatus { /** * The unlock operation succeeded. */ SUCCESS(0), /** * The target you want to unlock does not exist. */ LOCK_UNEXIST(1), /** * The desired target does not match. */ LOCK_BELONG_TO_OTHERS(2), /** * Internal error. */ INTERNAL_ERROR(3); private final Integer code; UnlockResponseStatus(Integer code) { this.code = code; } public Integer getCode() { return code; } /** * Convert the status code to a UnlockResponseStatus object. * @param code status code * @return UnlockResponseStatus */ public static UnlockResponseStatus valueOf(int code) { for (UnlockResponseStatus status : UnlockResponseStatus.values()) { if (status.getCode().equals(code)) { return status; } } return INTERNAL_ERROR; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/UnsubscribeConfigurationRequest.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Request to unsubscribe to one or more configuration items using subscription id. */ public class UnsubscribeConfigurationRequest { /** * Name of the configuration store. */ private final String storeName; /** * Subscription id for the items to unsubscribe to. */ private final String subscriptionId; /** * Constructor for UnsubscribeConfigurationRequest. * * @param id Subscription id for the items subscribed to.This id is returned by subscribeConfiguration API. * @param storeName Name of the configuration store. */ public UnsubscribeConfigurationRequest(String id, String storeName) { this.storeName = storeName; this.subscriptionId = id; } public String getStoreName() { return storeName; } public String getSubscriptionId() { return subscriptionId; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/UnsubscribeConfigurationResponse.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; /** * Domain object for unsubscribe response. */ public class UnsubscribeConfigurationResponse { /** * Boolean denoting whether unsubscribe API call is success/failure. */ private final boolean isUnsubscribed; /** * Unsubscribe API response message. */ private final String message; /** * Constructor for UnsubscribeConfigurationResponse. * * @param isUnsubscribed boolean denoting unsubscribe API response. * @param message unsubscribe API response message. */ public UnsubscribeConfigurationResponse(boolean isUnsubscribed, String message) { this.isUnsubscribed = isUnsubscribed; this.message = message; } public boolean getIsUnsubscribed() { return isUnsubscribed; } public String getMessage() { return message; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/UserMessage.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import java.util.List; /** * User message containing input from the human user. * Represents questions, requests, or other input from the end user. */ public class UserMessage implements ConversationMessage { private String name; private final List content; /** * Creates a user message with content. * * @param content the content of the user message */ public UserMessage(List content) { this.content = List.copyOf(content); } @Override public ConversationMessageRole getRole() { return ConversationMessageRole.USER; } @Override public String getName() { return name; } /** * Sets the name of the user participant. * * @param name the name to set * @return this instance for method chaining */ public UserMessage setName(String name) { this.name = name; return this; } @Override public List getContent() { return content; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/query/Pagination.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain.query; import com.fasterxml.jackson.annotation.JsonInclude; @JsonInclude(JsonInclude.Include.NON_EMPTY) public class Pagination { private int limit; private String token; Pagination() { // For JSON } public Pagination(int limit, String token) { this.limit = limit; this.token = token; } public int getLimit() { return limit; } public String getToken() { return token; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/query/Query.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain.query; import com.fasterxml.jackson.annotation.JsonProperty; import io.dapr.client.domain.query.filters.Filter; import java.util.Arrays; import java.util.Collections; import java.util.List; public class Query { private Filter filter; @JsonProperty private Sorting[] sort = new Sorting[]{}; @JsonProperty("page") private Pagination pagination = new Pagination(); public Filter getFilter() { return filter; } /** * Set the filter field in the instance. * @param filter Valid filter value. * @return this instance. */ public Query setFilter(Filter filter) { if (!filter.isValid()) { throw new IllegalArgumentException("the given filter is invalid configuration"); } this.filter = filter; return this; } public List getSort() { return Collections.unmodifiableList(Arrays.asList(sort)); } /** * Validate and set sorting field. * * @param sort List of sorting objects. * @return This instance. */ public Query setSort(List sort) { if (sort == null || sort.size() == 0) { throw new IllegalArgumentException("Sorting list is null or empty"); } this.sort = sort.toArray(new Sorting[0]); return this; } public Pagination getPagination() { return pagination; } public Query setPagination(Pagination pagination) { this.pagination = pagination; return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/query/Sorting.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain.query; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonValue; @JsonInclude(JsonInclude.Include.NON_EMPTY) public class Sorting { private String key; private Order order; Sorting() { // For JSON } public Sorting(String key, Order order) { this.key = key; this.order = order; } public String getKey() { return key; } public Order getOrder() { return order; } public enum Order { ASC("ASC"), DESC("DESC"); private String name; Order(String name) { this.name = name; } @JsonValue public String getValue() { return this.name; } @JsonCreator public static Order fromValue(String value) { return Order.valueOf(value); } } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/query/filters/AndFilter.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain.query.filters; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonValue; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class AndFilter extends Filter { @JsonIgnore private final List> and; public AndFilter() { super("AND"); this.and = new ArrayList<>(); } @JsonCreator AndFilter(Filter[] filters) { super("AND"); this.and = Arrays.asList(filters); } public > AndFilter addClause(V filter) { this.and.add(filter); return this; } @JsonValue public Filter[] getClauses() { return this.and.toArray(new Filter[0]); } @Override @JsonIgnore public String getRepresentation() { return this.and.stream().map(Filter::getRepresentation).collect(Collectors.joining(" AND ")); } @Override public Boolean isValid() { boolean validAnd = and != null && and.size() >= 2; if (validAnd) { for (Filter filter : and) { if (!filter.isValid()) { return false; } } } return validAnd; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/query/filters/EqFilter.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain.query.filters; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonValue; import java.util.AbstractMap; import java.util.Map; public class EqFilter extends Filter { @JsonValue private Map.Entry eq; public EqFilter() { super("EQ"); } public EqFilter(String key, T value) { super("EQ"); eq = new AbstractMap.SimpleImmutableEntry<>(key, value); } @JsonCreator EqFilter(Map.Entry eq) { super("EQ"); this.eq = eq; } @JsonIgnore public String getKey() { return eq != null ? eq.getKey() : null; } @JsonIgnore public T getValue() { return eq != null ? eq.getValue() : null; } @Override public String getRepresentation() { return this.getKey() + " EQ " + this.getValue(); } @Override public Boolean isValid() { return eq != null && eq.getKey() != null && !eq.getKey().isEmpty() && !eq.getKey().trim().isEmpty(); } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/query/filters/Filter.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain.query.filters; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.databind.ObjectMapper; @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_OBJECT) @JsonSubTypes({ @JsonSubTypes.Type(value = AndFilter.class, name = "AND"), @JsonSubTypes.Type(value = InFilter.class, name = "IN"), @JsonSubTypes.Type(value = OrFilter.class, name = "OR"), @JsonSubTypes.Type(value = EqFilter.class, name = "EQ") }) public abstract class Filter { private static final ObjectMapper MAPPER = new ObjectMapper(); @JsonIgnore private String name; Filter() { // For JSON Serialization } public Filter(String name) { this.name = name; } public String getName() { return name; } @JsonIgnore public abstract String getRepresentation(); @JsonIgnore public abstract Boolean isValid(); } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/query/filters/InFilter.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain.query.filters; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonValue; import java.util.AbstractMap; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class InFilter extends Filter { @JsonValue private Map.Entry> in; public InFilter() { super("IN"); } public InFilter(String key, List value) { super("IN"); in = new AbstractMap.SimpleEntry<>(key, value); } @JsonCreator InFilter(Map.Entry> in) { super("IN"); this.in = in; } /** * constructor for InFilter. * @param key value of the key in the state store. * @param values var args values list. */ public InFilter(String key, T... values) { super("IN"); if (values == null || values.length == 0) { throw new IllegalArgumentException("list of values must be at least 1"); } in = new AbstractMap.SimpleImmutableEntry<>(key, Collections.unmodifiableList(Arrays.asList(values))); } @JsonIgnore public String getKey() { return in != null ? in.getKey() : null; } @JsonIgnore public List getValues() { return in != null ? in.getValue() : null; } @Override public String getRepresentation() { return this.getKey() + " IN [" + this.getValues().stream().map(Object::toString).collect(Collectors.joining(",")) + "]"; } @Override public Boolean isValid() { return in != null && in.getKey() != null && !in.getKey().isEmpty() && !in.getKey().trim().isEmpty() && in.getValue() != null && in.getValue().size() > 0; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/domain/query/filters/OrFilter.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain.query.filters; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonValue; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @SuppressWarnings("rawtypes") public class OrFilter extends Filter { @JsonIgnore private List> or; public OrFilter() { super("OR"); this.or = new ArrayList<>(); } @JsonCreator OrFilter(Filter[] filters) { super("OR"); this.or = Arrays.asList(filters); } public OrFilter addClause(V filter) { this.or.add(filter); return this; } @JsonValue public Filter[] getClauses() { return this.or.toArray(new Filter[0]); } @Override @JsonIgnore public String getRepresentation() { return this.or.stream().map(Filter::getRepresentation).collect(Collectors.joining(" OR ")); } @Override public Boolean isValid() { boolean validAnd = or != null && or.size() >= 2; if (validAnd) { for (Filter filter : or) { if (!filter.isValid()) { return false; } } } return validAnd; } } ================================================ FILE: sdk/src/main/java/io/dapr/client/resiliency/ResiliencyOptions.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.resiliency; import java.time.Duration; /** * Resiliency policy for SDK communication to Dapr API. */ public final class ResiliencyOptions { private Duration timeout; private Integer maxRetries; public Duration getTimeout() { return timeout; } public ResiliencyOptions setTimeout(Duration timeout) { this.timeout = timeout; return this; } public Integer getMaxRetries() { return maxRetries; } public ResiliencyOptions setMaxRetries(Integer maxRetries) { this.maxRetries = maxRetries; return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/config/BooleanProperty.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.config; /** * Boolean configuration property. */ public class BooleanProperty extends Property { /** * {@inheritDoc} */ BooleanProperty(String name, String envName, Boolean defaultValue) { super(name, envName, defaultValue); } /** * {@inheritDoc} */ @Override protected Boolean parse(String value) { return Boolean.valueOf(value); } } ================================================ FILE: sdk/src/main/java/io/dapr/config/GenericProperty.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.config; import java.util.function.Function; /** * Configuration property for any type. */ public class GenericProperty extends Property { private final Function parser; /** * {@inheritDoc} */ GenericProperty(String name, String envName, T defaultValue, Function parser) { super(name, envName, defaultValue); this.parser = parser; } /** * {@inheritDoc} */ @Override protected T parse(String value) { return parser.apply(value); } } ================================================ FILE: sdk/src/main/java/io/dapr/config/IntegerProperty.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.config; /** * Integer configuration property. */ public class IntegerProperty extends Property { /** * {@inheritDoc} */ IntegerProperty(String name, String envName, Integer defaultValue) { super(name, envName, defaultValue); } /** * {@inheritDoc} */ @Override protected Integer parse(String value) { return Integer.valueOf(value); } } ================================================ FILE: sdk/src/main/java/io/dapr/config/MillisecondsDurationProperty.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.config; import java.time.Duration; /** * Integer configuration property. */ public class MillisecondsDurationProperty extends Property { /** * {@inheritDoc} */ MillisecondsDurationProperty(String name, String envName, Duration defaultValue) { super(name, envName, defaultValue); } /** * {@inheritDoc} */ @Override protected Duration parse(String value) { long longValue = Long.parseLong(value); return Duration.ofMillis(longValue); } } ================================================ FILE: sdk/src/main/java/io/dapr/config/Properties.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.config; import io.dapr.utils.NetworkUtils; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.time.Duration; import java.util.Map; import java.util.stream.Collectors; /** * Global properties for Dapr's SDK, using Supplier so they are dynamically resolved. */ public class Properties { /** * Dapr's default IP for HTTP and gRPC communication. */ private static final String DEFAULT_SIDECAR_IP = NetworkUtils.getHostLoopbackAddress(); /** * Dapr's default HTTP port. */ private static final Integer DEFAULT_HTTP_PORT = 3500; /** * Dapr's default gRPC port. */ private static final Integer DEFAULT_GRPC_PORT = 50001; /** * Dapr's default max retries. */ private static final Integer DEFAULT_API_MAX_RETRIES = 0; /** * Dapr's default timeout in seconds. */ private static final Duration DEFAULT_API_TIMEOUT = Duration.ofMillis(0L); /** * Dapr's default String encoding: UTF-8. */ private static final Charset DEFAULT_STRING_CHARSET = StandardCharsets.UTF_8; /** * Dapr's default timeout in seconds for HTTP client reads. */ private static final Integer DEFAULT_HTTP_CLIENT_READ_TIMEOUT_SECONDS = 60; /** * Dapr's default maximum number of requests for HTTP client to execute concurrently. * *

    Above this requests queue in memory, waiting for the running calls to complete. * Default is 64 in okhttp which is OK for most case, but for some special case * which is slow response and high concurrency, the value should set to a little big. */ private static final Integer DEFAULT_HTTP_CLIENT_MAX_REQUESTS = 1024; /** * Dapr's default maximum number of idle connections of HTTP connection pool. * *

    Attention! This is max IDLE connection, NOT max connection! * It is also very important for high concurrency cases. */ private static final Integer DEFAULT_HTTP_CLIENT_MAX_IDLE_CONNECTIONS = 128; /** * IP for Dapr's sidecar. */ public static final Property SIDECAR_IP = new StringProperty( "dapr.sidecar.ip", "DAPR_SIDECAR_IP", DEFAULT_SIDECAR_IP); /** * HTTP port for Dapr after checking system property and environment variable. */ public static final Property HTTP_PORT = new IntegerProperty( "dapr.http.port", "DAPR_HTTP_PORT", DEFAULT_HTTP_PORT); /** * GRPC port for Dapr after checking system property and environment variable. */ public static final Property GRPC_PORT = new IntegerProperty( "dapr.grpc.port", "DAPR_GRPC_PORT", DEFAULT_GRPC_PORT); /** * GRPC TLS cert path for Dapr after checking system property and environment variable. */ public static final Property GRPC_TLS_CERT_PATH = new StringProperty( "dapr.grpc.tls.cert.path", "DAPR_GRPC_TLS_CERT_PATH", null); /** * GRPC TLS key path for Dapr after checking system property and environment variable. */ public static final Property GRPC_TLS_KEY_PATH = new StringProperty( "dapr.grpc.tls.key.path", "DAPR_GRPC_TLS_KEY_PATH", null); /** * GRPC TLS CA cert path for Dapr after checking system property and environment variable. * This is used for TLS connections to servers with self-signed certificates. */ public static final Property GRPC_TLS_CA_PATH = new StringProperty( "dapr.grpc.tls.ca.path", "DAPR_GRPC_TLS_CA_PATH", null); /** * Use insecure TLS mode which still uses TLS but doesn't verify certificates. * This uses InsecureTrustManagerFactory to trust all certificates. * This should only be used for testing or in secure environments. */ public static final Property GRPC_TLS_INSECURE = new BooleanProperty( "dapr.grpc.tls.insecure", "DAPR_GRPC_TLS_INSECURE", false); /** * GRPC endpoint for remote sidecar connectivity. */ public static final Property GRPC_ENDPOINT = new StringProperty( "dapr.grpc.endpoint", "DAPR_GRPC_ENDPOINT", null); /** * GRPC enable keep alive. * Environment variable: DAPR_GRPC_ENABLE_KEEP_ALIVE * System property: dapr.grpc.enable.keep.alive * Default: false */ public static final Property GRPC_ENABLE_KEEP_ALIVE = new BooleanProperty( "dapr.grpc.enable.keep.alive", "DAPR_GRPC_ENABLE_KEEP_ALIVE", false); /** * GRPC keep alive time in seconds. * Environment variable: DAPR_GRPC_KEEP_ALIVE_TIME_SECONDS * System property: dapr.grpc.keep.alive.time.seconds * Default: 10 seconds */ public static final Property GRPC_KEEP_ALIVE_TIME_SECONDS = new SecondsDurationProperty( "dapr.grpc.keep.alive.time.seconds", "DAPR_GRPC_KEEP_ALIVE_TIME_SECONDS", Duration.ofSeconds(10)); /** * GRPC keep alive timeout in seconds. * Environment variable: DAPR_GRPC_KEEP_ALIVE_TIMEOUT_SECONDS * System property: dapr.grpc.keep.alive.timeout.seconds * Default: 5 seconds */ public static final Property GRPC_KEEP_ALIVE_TIMEOUT_SECONDS = new SecondsDurationProperty( "dapr.grpc.keep.alive.timeout.seconds", "DAPR_GRPC_KEEP_ALIVE_TIMEOUT_SECONDS", Duration.ofSeconds(5)); /** * GRPC keep alive without calls. * Environment variable: DAPR_GRPC_KEEP_ALIVE_WITHOUT_CALLS * System property: dapr.grpc.keep.alive.without.calls * Default: true */ public static final Property GRPC_KEEP_ALIVE_WITHOUT_CALLS = new BooleanProperty( "dapr.grpc.keep.alive.without.calls", "DAPR_GRPC_KEEP_ALIVE_WITHOUT_CALLS", true); /** * GRPC endpoint for remote sidecar connectivity. */ public static final Property HTTP_ENDPOINT = new StringProperty( "dapr.http.endpoint", "DAPR_HTTP_ENDPOINT", null); /** * Maximum number of retries for retriable exceptions. */ public static final Property MAX_RETRIES = new IntegerProperty( "dapr.api.maxRetries", "DAPR_API_MAX_RETRIES", DEFAULT_API_MAX_RETRIES); /** * Timeout for API calls. */ public static final Property TIMEOUT = new MillisecondsDurationProperty( "dapr.api.timeoutMilliseconds", "DAPR_API_TIMEOUT_MILLISECONDS", DEFAULT_API_TIMEOUT); /** * API token for authentication between App and Dapr's side car. */ public static final Property API_TOKEN = new StringProperty( "dapr.api.token", "DAPR_API_TOKEN", null); /** * Determines which string encoding is used in Dapr's Java SDK. */ public static final Property STRING_CHARSET = new GenericProperty<>( "dapr.string.charset", "DAPR_STRING_CHARSET", DEFAULT_STRING_CHARSET, (s) -> Charset.forName(s)); /** * Dapr's timeout in seconds for HTTP client reads. */ public static final Property HTTP_CLIENT_READ_TIMEOUT_SECONDS = new IntegerProperty( "dapr.http.client.readTimeoutSeconds", "DAPR_HTTP_CLIENT_READ_TIMEOUT_SECONDS", DEFAULT_HTTP_CLIENT_READ_TIMEOUT_SECONDS); /** * Dapr's default maximum number of requests for HTTP client to execute concurrently. */ public static final Property HTTP_CLIENT_MAX_REQUESTS = new IntegerProperty( "dapr.http.client.maxRequests", "DAPR_HTTP_CLIENT_MAX_REQUESTS", DEFAULT_HTTP_CLIENT_MAX_REQUESTS); /** * Dapr's default maximum number of idle connections for HTTP connection pool. */ public static final Property HTTP_CLIENT_MAX_IDLE_CONNECTIONS = new IntegerProperty( "dapr.http.client.maxIdleConnections", "DAPR_HTTP_CLIENT_MAX_IDLE_CONNECTIONS", DEFAULT_HTTP_CLIENT_MAX_IDLE_CONNECTIONS); /** * Dapr's default maximum inbound message size for GRPC in bytes. */ public static final Property GRPC_MAX_INBOUND_MESSAGE_SIZE_BYTES = new IntegerProperty( "dapr.grpc.max.inbound.message.size.bytes", "DAPR_GRPC_MAX_INBOUND_MESSAGE_SIZE_BYTES", 4194304); /** * Dapr's default maximum inbound metadata size for GRPC in bytes. */ public static final Property GRPC_MAX_INBOUND_METADATA_SIZE_BYTES = new IntegerProperty( "dapr.grpc.max.inbound.metadata.size.bytes", "DAPR_GRPC_MAX_INBOUND_METADATA_SIZE_BYTES", 8192); /** * Mechanism to override properties set in a static context. */ private final Map overrides; /** * Creates a new instance to handle Properties per instance. */ public Properties() { this.overrides = null; } /** * Creates a new instance to handle Properties per instance. * @param overridesInput to override static properties */ public Properties(Map overridesInput) { this.overrides = overridesInput == null ? Map.of() : Map.copyOf(overridesInput.entrySet().stream() .filter(e -> e.getKey() != null) .filter(e -> e.getValue() != null) .collect(Collectors.toMap( entry -> entry.getKey().toString(), entry -> entry.getValue() ))); } /** * Gets a property value taking in consideration the override values. * @param type of the property that we want to get the value from * @param property to override static property value from overrides * @return the property's value */ public T getValue(Property property) { if (overrides != null) { String override = overrides.get(property.getName()); return property.get(override); } else { return property.get(); } } } ================================================ FILE: sdk/src/main/java/io/dapr/config/Property.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.config; import java.util.logging.Logger; /** * A configuration property in the Dapr's SDK. */ public abstract class Property { private static final Logger LOGGER = Logger.getLogger(Property.class.getName()); /** * Property's name as a Java Property. */ private final String name; /** * Property's name as a environment variable. */ private final String envName; /** * Default value. */ private final T defaultValue; /** * Instantiates a new configuration property. * * @param name Java property name. * @param envName Environment variable name. * @param defaultValue Default value. */ Property(String name, String envName, T defaultValue) { this.name = name; this.envName = envName; this.defaultValue = defaultValue; } /** * Gets the Java property's name. * @return Name. */ public String getName() { return this.name; } /** * {@inheritDoc} */ @Override public String toString() { return this.name; } /** * Gets the environment variable's name. * @return Name. */ public String getEnvName() { return this.envName; } /** * Gets the value defined by system property first, then env variable or sticks to default. * * @return Value from system property (1st) or env variable (2nd) or default (last). */ public T get() { return this.get(null); } /** * Gets the value defined by system property first, then env variable or sticks to default. * @param override overrides the property value * @return Value from system property (1st) or env variable (2nd) or default (last). */ public T get(String override) { if ((override != null) && !override.isEmpty()) { try { return this.parse(override); } catch (IllegalArgumentException e) { LOGGER.warning(String.format("Invalid override value in property: %s", this.name)); // OK, we tried. Falling back to system environment variable. } } String propValue = System.getProperty(this.name); if (propValue != null && !propValue.trim().isEmpty()) { try { return this.parse(propValue); } catch (IllegalArgumentException e) { LOGGER.warning(String.format("Invalid value in property: %s", this.name)); // OK, we tried. Falling back to system environment variable. } } String envValue = System.getenv(this.envName); if (envValue != null && !envValue.trim().isEmpty()) { try { return this.parse(envValue); } catch (IllegalArgumentException e) { LOGGER.warning(String.format("Invalid value in environment variable: %s", this.envName)); // OK, we tried. Falling back to default. } } return this.defaultValue; } /** * Parses the value to the specific type. * @param value String value to be parsed. * @return Value in the specific type. */ protected abstract T parse(String value); } ================================================ FILE: sdk/src/main/java/io/dapr/config/SecondsDurationProperty.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.config; import java.time.Duration; /** * Integer configuration property. */ public class SecondsDurationProperty extends Property { /** * {@inheritDoc} */ SecondsDurationProperty(String name, String envName, Duration defaultValue) { super(name, envName, defaultValue); } /** * {@inheritDoc} */ @Override protected Duration parse(String value) { long longValue = Long.parseLong(value); return Duration.ofSeconds(longValue); } } ================================================ FILE: sdk/src/main/java/io/dapr/config/StringProperty.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.config; /** * String configuration property. */ public class StringProperty extends Property { /** * {@inheritDoc} */ StringProperty(String name, String envName, String defaultValue) { super(name, envName, defaultValue); } /** * {@inheritDoc} */ @Override protected String parse(String value) { return value; } } ================================================ FILE: sdk/src/main/java/io/dapr/exceptions/DaprError.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.exceptions; import com.fasterxml.jackson.annotation.JsonAutoDetect; import java.util.Collections; import java.util.List; import java.util.Map; /** * Represents an error message from Dapr. */ @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY) public class DaprError { /** * Error code. */ private String errorCode; /** * Error Message. */ private String message; /** * Error code from gRPC. */ private Integer code; /** * Details about the error. */ private List> details; /** * Gets the error code. * * @return Error code. */ public String getErrorCode() { if ((errorCode == null) && (code != null)) { return io.grpc.Status.fromCodeValue(code).getCode().name(); } return errorCode; } /** * Sets the error code. * * @param errorCode Error code. * @return This instance. */ public DaprError setErrorCode(String errorCode) { this.errorCode = errorCode; return this; } /** * Gets the error message. * * @return Error message. */ public String getMessage() { return message; } /** * Sets the error message. * * @param message Error message. * @return This instance. */ public DaprError setMessage(String message) { this.message = message; return this; } /** * Gets the error details. * * @return Error details. */ public List> getDetails() { return details; } /** * Sets the error details. * * @param details Error details. * @return This instance. */ public DaprError setDetails(List> details) { this.details = Collections.unmodifiableList(details); return this; } } ================================================ FILE: sdk/src/main/java/io/dapr/exceptions/DaprErrorDetails.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.exceptions; import com.google.protobuf.Any; import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.Message; import com.google.rpc.Status; import io.dapr.utils.TypeRef; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; public class DaprErrorDetails { static final DaprErrorDetails EMPTY_INSTANCE = new DaprErrorDetails((Status) null); private static final Map, ErrorDetailType> SUPPORTED_ERROR_TYPES = Map.of( com.google.rpc.ErrorInfo.class, ErrorDetailType.ERROR_INFO, com.google.rpc.RetryInfo.class, ErrorDetailType.RETRY_INFO, com.google.rpc.DebugInfo.class, ErrorDetailType.DEBUG_INFO, com.google.rpc.QuotaFailure.class, ErrorDetailType.QUOTA_FAILURE, com.google.rpc.PreconditionFailure.class, ErrorDetailType.PRECONDITION_FAILURE, com.google.rpc.BadRequest.class, ErrorDetailType.BAD_REQUEST, com.google.rpc.RequestInfo.class, ErrorDetailType.REQUEST_INFO, com.google.rpc.ResourceInfo.class, ErrorDetailType.RESOURCE_INFO, com.google.rpc.Help.class, ErrorDetailType.HELP, com.google.rpc.LocalizedMessage.class, ErrorDetailType.LOCALIZED_MESSAGE ); private static final Map> ERROR_TYPES_FQN_REVERSE_LOOKUP = SUPPORTED_ERROR_TYPES.keySet().stream().collect(Collectors.toMap( item -> generateErrorTypeFqn(item), item -> item )); /** * Error status details. */ private final Map> map; public DaprErrorDetails(Status grpcStatus) { this.map = parse(grpcStatus); } public DaprErrorDetails(List> entries) { this.map = parse(entries); } /** * Gets an attribute of an error detail. * @param errorDetailType Type of the error detail. * @param errAttribute Attribute of the error detail. * @param typeRef Type of the value expected to be returned. * @param Type of the value to be returned. * @return Value of the attribute or null if not found. */ public T get(ErrorDetailType errorDetailType, String errAttribute, TypeRef typeRef) { Map dictionary = map.get(errorDetailType); if (dictionary == null) { return null; } return (T) dictionary.get(errAttribute); } /** * Parses status details from a gRPC Status. * * @param status The gRPC Status to parse details from. * @return List containing parsed status details. */ private static Map> parse(Status status) { if (status == null || status.getDetailsList() == null) { return Collections.emptyMap(); } Map> detailsList = new HashMap<>(); List grpcDetailsList = status.getDetailsList(); for (Any detail : grpcDetailsList) { for (Map.Entry, ErrorDetailType> supportedClazzAndType : SUPPORTED_ERROR_TYPES.entrySet()) { Class clazz = supportedClazzAndType.getKey(); ErrorDetailType errorDetailType = supportedClazzAndType.getValue(); if (detail.is(clazz)) { detailsList.put(errorDetailType, parseProtoMessage(detail, clazz)); } } } return Collections.unmodifiableMap(detailsList); } private static Map> parse(List> entries) { if ((entries == null) || entries.isEmpty()) { return Collections.emptyMap(); } Map> detailsList = new HashMap<>(); for (Map entry : entries) { Object type = entry.getOrDefault("@type", ""); if (type == null) { continue; } Class clazz = ERROR_TYPES_FQN_REVERSE_LOOKUP.get(type.toString()); if (clazz == null) { continue; } ErrorDetailType errorDetailType = SUPPORTED_ERROR_TYPES.get(clazz); if (errorDetailType == null) { continue; } detailsList.put(errorDetailType, entry); } return Collections.unmodifiableMap(detailsList); } private static Map parseProtoMessage( Any detail, Class clazz) { try { T message = detail.unpack(clazz); return messageToMap(message); } catch (InvalidProtocolBufferException e) { return Collections.singletonMap(e.getClass().getSimpleName(), e.getMessage()); } } /** * Converts a Protocol Buffer (proto) message to a Map. * * @param message The proto message to be converted. * @return A Map representing the fields of the proto message. */ private static Map messageToMap(Message message) { Map result = new HashMap<>(); Field[] fields = message.getClass().getDeclaredFields(); result.put("@type", generateErrorTypeFqn(message.getClass())); for (Field field : fields) { if (field.isSynthetic() || Modifier.isStatic(field.getModifiers())) { continue; } String normalizedFieldName = field.getName().replaceAll("_$", ""); try { field.setAccessible(true); Object value = field.get(message); result.put(normalizedFieldName, value); } catch (IllegalAccessException e) { // no-op, just ignore this attribute. } } return Collections.unmodifiableMap(result); } private static String generateErrorTypeFqn(Class clazz) { String className = clazz.getName(); // trim the 'com.' to match the kit error details returned to users return "type.googleapis.com/" + (className.startsWith("com.") ? className.substring(4) : className); } /** * {@inheritDoc} */ @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } DaprErrorDetails that = (DaprErrorDetails) o; return Objects.equals(map, that.map); } /** * {@inheritDoc} */ @Override public int hashCode() { return Objects.hash(map); } public enum ErrorDetailType { ERROR_INFO, RETRY_INFO, DEBUG_INFO, QUOTA_FAILURE, PRECONDITION_FAILURE, BAD_REQUEST, REQUEST_INFO, RESOURCE_INFO, HELP, LOCALIZED_MESSAGE, } } ================================================ FILE: sdk/src/main/java/io/dapr/exceptions/DaprException.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.exceptions; import com.google.rpc.Status; import io.dapr.internal.exceptions.DaprHttpException; import io.grpc.StatusRuntimeException; import io.grpc.protobuf.StatusProto; import reactor.core.Exceptions; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import java.util.List; import java.util.Map; import java.util.concurrent.Callable; /** * A Dapr's specific exception. */ public class DaprException extends RuntimeException { /** * Dapr's error code for this exception. */ private final String errorCode; /** * The status details for the error. */ private final DaprErrorDetails errorDetails; /** * Optional payload, if the exception came from a response body. */ private final byte[] payload; /** * Optional HTTP status code, if error happened for an HTTP call (0 if not set). */ private final int httpStatusCode; /** * New exception from a server-side generated error code and message. * * @param daprError Server-side error. * @param payload Optional payload containing the error. * @param httpStatusCode Optional http Status Code (0 if not set). */ public DaprException(DaprError daprError, byte[] payload, int httpStatusCode) { this(daprError.getErrorCode(), daprError.getMessage(), daprError.getDetails(), payload, httpStatusCode); } /** * New exception from a server-side generated error code and message. * @param daprError Client-side error. * @param cause the cause (which is saved for later retrieval by the * {@link #getCause()} method). (A {@code null} value is * permitted, and indicates that the cause is nonexistent or * unknown.) */ public DaprException(DaprError daprError, Throwable cause) { this(daprError.getErrorCode(), daprError.getMessage(), cause); } /** * Wraps an exception into a DaprException. * @param exception the exception to be wrapped. */ public DaprException(Throwable exception) { this("UNKNOWN", exception.getMessage(), exception); } /** * New Exception from a client-side generated error code and message. * * @param errorCode Client-side error code. * @param message Client-side error message. * @param payload Optional payload containing the error. * @param httpStatusCode Optional http Status Code (0 if not set). */ public DaprException(String errorCode, String message, byte[] payload, int httpStatusCode) { this(errorCode, message, DaprErrorDetails.EMPTY_INSTANCE, payload, httpStatusCode); } /** * New Exception from a client-side generated error code and message. * * @param errorCode Client-side error code. * @param message Client-side error message. * @param errorDetails Details of the error from runtime. * @param payload Optional payload containing the error. * @param httpStatusCode Optional http Status Code (0 if not set). */ public DaprException( String errorCode, String message, List> errorDetails, byte[] payload, int httpStatusCode) { this(errorCode, message, new DaprErrorDetails(errorDetails), payload, httpStatusCode); } /** * New Exception from a client-side generated error code and message. * * @param errorCode Client-side error code. * @param message Client-side error message. * @param errorDetails Details of the error from runtime. * @param payload Optional payload containing the error. */ public DaprException(String errorCode, String message, DaprErrorDetails errorDetails, byte[] payload) { this(errorCode, message, errorDetails, payload, 0); } /** * New Exception from a client-side generated error code and message. * * @param errorCode Client-side error code. * @param message Client-side error message. * @param errorDetails Details of the error from runtime. * @param payload Optional payload containing the error. * @param httpStatusCode Optional http Status Code (0 if not set). */ public DaprException( String errorCode, String message, DaprErrorDetails errorDetails, byte[] payload, int httpStatusCode) { super(buildErrorMessage(errorCode, httpStatusCode, message)); this.httpStatusCode = httpStatusCode; this.errorCode = errorCode; this.errorDetails = errorDetails; this.payload = payload; } /** * New exception from a server-side generated error code and message. * @param errorCode Client-side error code. * @param message Client-side error message. * @param cause the cause (which is saved for later retrieval by the * {@link #getCause()} method). (A {@code null} value is * permitted, and indicates that the cause is nonexistent or * unknown.) */ public DaprException(String errorCode, String message, Throwable cause) { super(buildErrorMessage(errorCode, 0, message), cause); this.httpStatusCode = 0; this.errorCode = errorCode; this.errorDetails = DaprErrorDetails.EMPTY_INSTANCE; this.payload = null; } /** * New exception from a server-side generated error code and message. * @param errorCode Client-side error code. * @param message Client-side error message. * @param cause the cause (which is saved for later retrieval by the * {@link #getCause()} method). (A {@code null} value is * permitted, and indicates that the cause is nonexistent or * unknown.) * @param errorDetails the status details for the error. * @param payload Raw error payload. */ public DaprException( String errorCode, String message, Throwable cause, DaprErrorDetails errorDetails, byte[] payload) { this(errorCode, message, cause, errorDetails, payload, 0); } /** * New exception from a server-side generated error code and message. * @param errorCode Client-side error code. * @param message Client-side error message. * @param cause the cause (which is saved for later retrieval by the * {@link #getCause()} method). (A {@code null} value is * permitted, and indicates that the cause is nonexistent or * unknown.) * @param errorDetails the status details for the error. * @param payload Raw error payload. * @param httpStatusCode Optional HTTP Status code for the error, 0 if not applicable. */ private DaprException( String errorCode, String message, Throwable cause, DaprErrorDetails errorDetails, byte[] payload, int httpStatusCode) { super(buildErrorMessage(errorCode, httpStatusCode, message), cause); this.errorCode = errorCode; this.errorDetails = errorDetails == null ? DaprErrorDetails.EMPTY_INSTANCE : errorDetails; this.payload = payload; this.httpStatusCode = httpStatusCode; } /** * Returns the exception's error code. * * @return Error code. */ public String getErrorCode() { return this.errorCode; } /** * Returns the exception's error details. * * @return Error details. */ public DaprErrorDetails getErrorDetails() { return this.errorDetails; } /** * Returns the exception's error payload (optional). * * @return Error's payload. */ public byte[] getPayload() { return this.payload == null ? null : this.payload.clone(); } /** * Returns the exception's http status code, 0 if not applicable. * * @return Http status code (0 if not applicable). */ public int getHttpStatusCode() { return this.httpStatusCode; } /** * Wraps an exception into DaprException (if not already DaprException). * * @param exception Exception to be wrapped. */ public static void wrap(Throwable exception) { if (exception == null) { return; } throw propagate(exception); } /** * Wraps a callable with a try-catch to throw DaprException. * @param callable callable to be invoked. * @param type to be returned * @return object of type T. */ public static Callable wrap(Callable callable) { return () -> { try { return callable.call(); } catch (Exception e) { wrap(e); return null; } }; } /** * Wraps a runnable with a try-catch to throw DaprException. * @param runnable runnable to be invoked. * @return object of type T. */ public static Runnable wrap(Runnable runnable) { return () -> { try { runnable.run(); } catch (Exception e) { wrap(e); } }; } /** * Wraps an exception into DaprException (if not already DaprException). * * @param exception Exception to be wrapped. * @param Mono's response type. * @return Mono containing DaprException. */ public static Mono wrapMono(Exception exception) { try { wrap(exception); } catch (Exception e) { return Mono.error(e); } return Mono.empty(); } /** * Wraps an exception into DaprException (if not already DaprException). * * @param exception Exception to be wrapped. * @param Flux's response type. * @return Flux containing DaprException. */ public static Flux wrapFlux(Exception exception) { try { wrap(exception); } catch (Exception e) { return Flux.error(e); } return Flux.empty(); } /** * Wraps an exception into DaprException (if not already DaprException). * * @param exception Exception to be wrapped. * @return wrapped RuntimeException */ public static RuntimeException propagate(Throwable exception) { Exceptions.throwIfFatal(exception); if (exception instanceof DaprException) { return (DaprException) exception; } int httpStatusCode = 0; byte[] httpPayload = null; Throwable e = exception; while (e != null) { if (e instanceof DaprHttpException) { DaprHttpException daprHttpException = (DaprHttpException) e; httpStatusCode = daprHttpException.getStatusCode(); httpPayload = daprHttpException.getPayload(); } else if (e instanceof StatusRuntimeException) { StatusRuntimeException statusRuntimeException = (StatusRuntimeException) e; Status status = StatusProto.fromThrowable(statusRuntimeException); DaprErrorDetails errorDetails = new DaprErrorDetails(status); return new DaprException( statusRuntimeException.getStatus().getCode().toString(), statusRuntimeException.getStatus().getDescription(), exception, errorDetails, httpPayload != null ? httpPayload : status.toByteArray(), httpStatusCode); } e = e.getCause(); } if (exception instanceof IllegalArgumentException) { return (IllegalArgumentException) exception; } if (exception instanceof DaprHttpException) { DaprHttpException daprHttpException = (DaprHttpException)exception; return new DaprException( io.grpc.Status.UNKNOWN.toString(), null, exception, null, daprHttpException.getPayload(), daprHttpException.getStatusCode()); } return new DaprException(exception); } private static String buildErrorMessage(String errorCode, int httpStatusCode, String message) { String result = ((errorCode == null) || errorCode.isEmpty()) ? "UNKNOWN: " : errorCode + ": "; if ((message == null) || message.isEmpty()) { if (DaprHttpException.isValidHttpStatusCode(httpStatusCode)) { return result + "HTTP status code: " + httpStatusCode; } return result; } if (DaprHttpException.isValidHttpStatusCode(httpStatusCode)) { return result + message + " (HTTP status code: " + httpStatusCode + ")"; } return result + message; } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/exceptions/DaprHttpException.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.exceptions; import io.grpc.Metadata; import java.util.concurrent.ExecutionException; /** * Internal exception for propagating HTTP status code. */ public class DaprHttpException extends ExecutionException { /** * This is the metadata from HTTP binding that we want to automatically parse and make it as part of the exception. */ private static final Metadata.Key GRPC_METADATA_KEY_HTTP_STATUS_CODE = Metadata.Key.of("metadata.statuscode", Metadata.ASCII_STRING_MARSHALLER); private final int statusCode; private final byte[] payload; /** * Instantiates a new DaprHttpException, without http body. * @param statusCode HTTP status code. * @param cause Exception thrown. */ private DaprHttpException(int statusCode, Throwable cause) { super(cause); this.statusCode = statusCode; this.payload = null; } /** * Instantiates a new DaprHttpException with a given HTTP payload. * @param statusCode HTTP status code. * @param payload HTTP payload. */ public DaprHttpException(int statusCode, byte[] payload) { super(); this.statusCode = statusCode; this.payload = payload; } /** * Creates an ExecutionException (can also be HttpException, if applicable). * @param grpcMetadata Optional gRPC metadata. * @param cause Exception triggered during execution. * @return ExecutionException */ public static ExecutionException fromGrpcExecutionException(Metadata grpcMetadata, Throwable cause) { int httpStatusCode = parseHttpStatusCode(grpcMetadata); if (!isValidHttpStatusCode(httpStatusCode)) { return new ExecutionException(cause); } return new DaprHttpException(httpStatusCode, cause); } public static boolean isValidHttpStatusCode(int statusCode) { return statusCode >= 100 && statusCode <= 599; // Status codes range from 100 to 599 } public static boolean isSuccessfulHttpStatusCode(int statusCode) { return statusCode >= 200 && statusCode < 300; } private static int parseHttpStatusCode(Metadata grpcMetadata) { if (grpcMetadata == null) { return 0; } return parseHttpStatusCode(grpcMetadata.get(GRPC_METADATA_KEY_HTTP_STATUS_CODE)); } /** * Parses a given string value into an HTTP status code, 0 if invalid. * @param value String value to be parsed. * @return HTTP status code, 0 if not valid. */ public static int parseHttpStatusCode(String value) { if ((value == null) || value.isEmpty()) { return 0; } try { int httpStatusCode = Integer.parseInt(value); if (!isValidHttpStatusCode(httpStatusCode)) { return 0; } return httpStatusCode; } catch (NumberFormatException nfe) { return 0; } } /** * Returns the HTTP Status code for the exception. * @return HTTP Status code for the exception, 0 if not applicable. */ public int getStatusCode() { return this.statusCode; } /** * Returns the HTTP payload for the exception. * @return HTTP payload, null if not present. */ public byte[] getPayload() { return this.payload; } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/grpc/DaprClientGrpcInterceptors.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.grpc; import io.dapr.internal.grpc.interceptors.DaprApiTokenInterceptor; import io.dapr.internal.grpc.interceptors.DaprAppIdInterceptor; import io.dapr.internal.grpc.interceptors.DaprBaggageInterceptor; import io.dapr.internal.grpc.interceptors.DaprMetadataReceiverInterceptor; import io.dapr.internal.grpc.interceptors.DaprTimeoutInterceptor; import io.dapr.internal.grpc.interceptors.DaprTracingInterceptor; import io.dapr.internal.resiliency.TimeoutPolicy; import io.grpc.Metadata; import io.grpc.stub.AbstractStub; import reactor.util.context.ContextView; import java.util.function.Consumer; /** * Class to be used as part of your service's client stub interceptor. * Usage: myClientStub = DaprClientGrpcInterceptors.intercept(myClientStub); */ public class DaprClientGrpcInterceptors { private final String daprApiToken; private final TimeoutPolicy timeoutPolicy; /** * Instantiates a holder of all gRPC interceptors. */ public DaprClientGrpcInterceptors() { this(null, null); } /** * Instantiates a holder of all gRPC interceptors. * @param daprApiToken Dapr API token. * @param timeoutPolicy Timeout Policy. */ public DaprClientGrpcInterceptors(String daprApiToken, TimeoutPolicy timeoutPolicy) { this.daprApiToken = daprApiToken; this.timeoutPolicy = timeoutPolicy; } /** * Adds all Dapr interceptors to a gRPC async stub. * @param client gRPC client * @param async client type * @return async client instance with interceptors */ public > T intercept(final T client) { return intercept(null, client, null, null); } /** * Adds all Dapr interceptors to a gRPC async stub. * @param appId Application ID to invoke. * @param client gRPC client * @param async client type * @return async client instance with interceptors */ public > T intercept( final String appId, final T client) { return this.intercept(appId, client, null, null); } /** * Adds all Dapr interceptors to a gRPC async stub. * @param client gRPC client * @param context Reactor context for tracing * @param async client type * @return async client instance with interceptors */ public > T intercept( final T client, final ContextView context) { return intercept(null, client, context, null); } /** * Adds all Dapr interceptors to a gRPC async stub. * @param client gRPC client * @param context Reactor context for tracing * @param metadataConsumer Consumer of the gRPC metadata * @param async client type * @return async client instance with interceptors */ public > T intercept( final T client, final ContextView context, final Consumer metadataConsumer) { return this.intercept(null, client, context, metadataConsumer); } /** * Adds all Dapr interceptors to a gRPC async stub. * @param appId Application ID to invoke. * @param client gRPC client * @param context Reactor context for tracing * @param metadataConsumer Consumer of the gRPC metadata * @param async client type * @return async client instance with interceptors */ public > T intercept( final String appId, final T client, final ContextView context, final Consumer metadataConsumer) { if (client == null) { throw new IllegalArgumentException("client cannot be null"); } return client.withInterceptors( new DaprAppIdInterceptor(appId), new DaprApiTokenInterceptor(this.daprApiToken), new DaprTimeoutInterceptor(this.timeoutPolicy), new DaprTracingInterceptor(context), new DaprBaggageInterceptor(context), new DaprMetadataReceiverInterceptor(metadataConsumer)); } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/grpc/interceptors/DaprApiTokenInterceptor.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.grpc.interceptors; import io.dapr.client.Headers; import io.grpc.CallOptions; import io.grpc.Channel; import io.grpc.ClientCall; import io.grpc.ClientInterceptor; import io.grpc.ForwardingClientCall; import io.grpc.Metadata; import io.grpc.MethodDescriptor; /** * Class to be used as part of your service's client stub interceptor to include the Dapr API token. */ public class DaprApiTokenInterceptor implements ClientInterceptor { /** * Dapr API Token. */ private final String token; /** * Instantiates an interceptor to inject the Dapr API Token. * @param token Dapr API Token. */ public DaprApiTokenInterceptor(String token) { this.token = token; } @Override public ClientCall interceptCall( MethodDescriptor methodDescriptor, CallOptions options, Channel channel) { ClientCall clientCall = channel.newCall(methodDescriptor, options); return new ForwardingClientCall.SimpleForwardingClientCall<>(clientCall) { @Override public void start(final Listener responseListener, final Metadata metadata) { if (DaprApiTokenInterceptor.this.token != null) { metadata.put( Metadata.Key.of(Headers.DAPR_API_TOKEN, Metadata.ASCII_STRING_MARSHALLER), DaprApiTokenInterceptor.this.token); } super.start(responseListener, metadata); } }; } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/grpc/interceptors/DaprAppIdInterceptor.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.grpc.interceptors; import io.grpc.CallOptions; import io.grpc.Channel; import io.grpc.ClientCall; import io.grpc.ClientInterceptor; import io.grpc.ForwardingClientCall; import io.grpc.Metadata; import io.grpc.MethodDescriptor; /** * Class to be used as part of your service's client stub interceptor to include Dapr App Id metadata. */ public class DaprAppIdInterceptor implements ClientInterceptor { private final Metadata extraHeaders; public DaprAppIdInterceptor(String appId) { this.extraHeaders = buildMetadata(appId); } private static final Metadata buildMetadata(String appId) { if (appId == null) { return null; } Metadata headers = new Metadata(); headers.put(Metadata.Key.of("dapr-app-id", Metadata.ASCII_STRING_MARSHALLER), appId); return headers; } @Override public ClientCall interceptCall( MethodDescriptor methodDescriptor, CallOptions options, Channel channel) { ClientCall clientCall = channel.newCall(methodDescriptor, options); final Metadata extraHeaders = this.extraHeaders; return new ForwardingClientCall.SimpleForwardingClientCall<>(clientCall) { @Override public void start(ClientCall.Listener responseListener, Metadata headers) { if (extraHeaders != null) { headers.merge(extraHeaders); } super.start(responseListener, headers); } }; } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/grpc/interceptors/DaprBaggageInterceptor.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.grpc.interceptors; import io.dapr.client.Headers; import io.grpc.CallOptions; import io.grpc.Channel; import io.grpc.ClientCall; import io.grpc.ClientInterceptor; import io.grpc.ForwardingClientCall; import io.grpc.Metadata; import io.grpc.MethodDescriptor; import reactor.util.context.ContextView; /** * Injects W3C Baggage header into gRPC metadata from Reactor's context. */ public class DaprBaggageInterceptor implements ClientInterceptor { private static final Metadata.Key BAGGAGE_KEY = Metadata.Key.of(Headers.BAGGAGE, Metadata.ASCII_STRING_MARSHALLER); private final ContextView context; /** * Creates an instance of the baggage interceptor for gRPC. * * @param context Reactor's context */ public DaprBaggageInterceptor(ContextView context) { this.context = context; } @Override public ClientCall interceptCall( MethodDescriptor methodDescriptor, CallOptions callOptions, Channel channel) { ClientCall clientCall = channel.newCall(methodDescriptor, callOptions); return new ForwardingClientCall.SimpleForwardingClientCall<>(clientCall) { @Override public void start(final Listener responseListener, final Metadata metadata) { if (context != null && context.hasKey(Headers.BAGGAGE)) { String baggageValue = context.get(Headers.BAGGAGE).toString(); if (baggageValue != null && !baggageValue.isEmpty()) { metadata.put(BAGGAGE_KEY, baggageValue); } } super.start(responseListener, metadata); } }; } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/grpc/interceptors/DaprMetadataReceiverInterceptor.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.grpc.interceptors; import io.grpc.CallOptions; import io.grpc.Channel; import io.grpc.ClientCall; import io.grpc.ClientInterceptor; import io.grpc.ForwardingClientCall; import io.grpc.ForwardingClientCallListener; import io.grpc.Metadata; import io.grpc.MethodDescriptor; import java.util.function.Consumer; /** * Consumes gRPC metadata. */ public class DaprMetadataReceiverInterceptor implements ClientInterceptor { private final Consumer metadataConsumer; /** * Creates an instance of the consumer for gRPC metadata. * @param metadataConsumer gRPC metadata consumer */ public DaprMetadataReceiverInterceptor(Consumer metadataConsumer) { this.metadataConsumer = metadataConsumer; } @Override public ClientCall interceptCall( MethodDescriptor methodDescriptor, CallOptions callOptions, Channel channel) { ClientCall clientCall = channel.newCall(methodDescriptor, callOptions); return new ForwardingClientCall.SimpleForwardingClientCall<>(clientCall) { @Override public void start(final Listener responseListener, final Metadata metadata) { final ClientCall.Listener headerListener = new ForwardingClientCallListener.SimpleForwardingClientCallListener<>(responseListener) { @Override public void onHeaders(Metadata headers) { responseListener.onHeaders(headers); if (metadataConsumer != null) { metadataConsumer.accept(headers); } } }; super.start(headerListener, metadata); } }; } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/grpc/interceptors/DaprTimeoutInterceptor.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.grpc.interceptors; import io.dapr.internal.resiliency.TimeoutPolicy; import io.grpc.CallOptions; import io.grpc.Channel; import io.grpc.ClientCall; import io.grpc.ClientInterceptor; import io.grpc.MethodDescriptor; /** * Class to be used as part of your service's client stub interceptor to include timeout. */ public class DaprTimeoutInterceptor implements ClientInterceptor { private final TimeoutPolicy timeoutPolicy; public DaprTimeoutInterceptor(TimeoutPolicy timeoutPolicy) { this.timeoutPolicy = timeoutPolicy; } @Override public ClientCall interceptCall( MethodDescriptor methodDescriptor, CallOptions options, Channel channel) { if (timeoutPolicy == null) { return channel.newCall(methodDescriptor, options); } return channel.newCall(methodDescriptor, timeoutPolicy.apply(options)); } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/grpc/interceptors/DaprTracingInterceptor.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.grpc.interceptors; import io.dapr.internal.opencensus.GrpcHelper; import io.grpc.CallOptions; import io.grpc.Channel; import io.grpc.ClientCall; import io.grpc.ClientInterceptor; import io.grpc.ForwardingClientCall; import io.grpc.Metadata; import io.grpc.MethodDescriptor; import reactor.util.context.ContextView; /** * Injects tracing headers to gRPC metadata. */ public class DaprTracingInterceptor implements ClientInterceptor { private final ContextView context; /** * Creates an instance of the injector for gRPC context from Reactor's context. * @param context Reactor's context */ public DaprTracingInterceptor(ContextView context) { this.context = context; } @Override public ClientCall interceptCall( MethodDescriptor methodDescriptor, CallOptions callOptions, Channel channel) { ClientCall clientCall = channel.newCall(methodDescriptor, callOptions); return new ForwardingClientCall.SimpleForwardingClientCall<>(clientCall) { @Override public void start(final Listener responseListener, final Metadata metadata) { if (context != null) { GrpcHelper.populateMetadata(context, metadata); } super.start(responseListener, metadata); } }; } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/opencensus/BigendianEncoding.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.opencensus; import java.util.Arrays; /** * Code originally from https://github.com/census-instrumentation/opencensus-java/blob/ * 446e9bde9b1f6c0317e3f310644997e5d6d5eab2/api/src/main/java/io/opencensus/trace/BigendianEncoding.java */ final class BigendianEncoding { static final int LONG_BYTES = Long.SIZE / Byte.SIZE; static final int BYTE_BASE16 = 2; static final int LONG_BASE16 = BYTE_BASE16 * LONG_BYTES; private static final String ALPHABET = "0123456789abcdef"; private static final int ASCII_CHARACTERS = 128; private static final char[] ENCODING = buildEncodingArray(); private static final byte[] DECODING = buildDecodingArray(); private static char[] buildEncodingArray() { char[] encoding = new char[512]; for (int i = 0; i < 256; ++i) { encoding[i] = ALPHABET.charAt(i >>> 4); encoding[i | 0x100] = ALPHABET.charAt(i & 0xF); } return encoding; } private static byte[] buildDecodingArray() { byte[] decoding = new byte[ASCII_CHARACTERS]; Arrays.fill(decoding, (byte) -1); for (int i = 0; i < ALPHABET.length(); i++) { char c = ALPHABET.charAt(i); decoding[c] = (byte) i; } return decoding; } /** * Returns the {@code long} value whose big-endian representation is stored in the first 8 bytes * of {@code bytes} starting from the {@code offset}. * * @param bytes the byte array representation of the {@code long}. * @param offset the starting offset in the byte array. * @return the {@code long} value whose big-endian representation is given. * @throws IllegalArgumentException if {@code bytes} has fewer than 8 elements. */ static long longFromByteArray(byte[] bytes, int offset) { Utils.checkArgument(bytes.length >= offset + LONG_BYTES, "array too small"); return (bytes[offset] & 0xFFL) << 56 | (bytes[offset + 1] & 0xFFL) << 48 | (bytes[offset + 2] & 0xFFL) << 40 | (bytes[offset + 3] & 0xFFL) << 32 | (bytes[offset + 4] & 0xFFL) << 24 | (bytes[offset + 5] & 0xFFL) << 16 | (bytes[offset + 6] & 0xFFL) << 8 | (bytes[offset + 7] & 0xFFL); } /** * Stores the big-endian representation of {@code value} in the {@code dest} starting from the * {@code destOffset}. * * @param value the value to be converted. * @param dest the destination byte array. * @param destOffset the starting offset in the destination byte array. */ static void longToByteArray(long value, byte[] dest, int destOffset) { Utils.checkArgument(dest.length >= destOffset + LONG_BYTES, "array too small"); dest[destOffset + 7] = (byte) (value & 0xFFL); dest[destOffset + 6] = (byte) (value >> 8 & 0xFFL); dest[destOffset + 5] = (byte) (value >> 16 & 0xFFL); dest[destOffset + 4] = (byte) (value >> 24 & 0xFFL); dest[destOffset + 3] = (byte) (value >> 32 & 0xFFL); dest[destOffset + 2] = (byte) (value >> 40 & 0xFFL); dest[destOffset + 1] = (byte) (value >> 48 & 0xFFL); dest[destOffset] = (byte) (value >> 56 & 0xFFL); } /** * Returns the {@code long} value whose base16 representation is stored in the first 16 chars of * {@code chars} starting from the {@code offset}. * * @param chars the base16 representation of the {@code long}. * @param offset the starting offset in the {@code CharSequence}. */ static long longFromBase16String(CharSequence chars, int offset) { Utils.checkArgument(chars.length() >= offset + LONG_BASE16, "chars too small"); return (decodeByte(chars.charAt(offset), chars.charAt(offset + 1)) & 0xFFL) << 56 | (decodeByte(chars.charAt(offset + 2), chars.charAt(offset + 3)) & 0xFFL) << 48 | (decodeByte(chars.charAt(offset + 4), chars.charAt(offset + 5)) & 0xFFL) << 40 | (decodeByte(chars.charAt(offset + 6), chars.charAt(offset + 7)) & 0xFFL) << 32 | (decodeByte(chars.charAt(offset + 8), chars.charAt(offset + 9)) & 0xFFL) << 24 | (decodeByte(chars.charAt(offset + 10), chars.charAt(offset + 11)) & 0xFFL) << 16 | (decodeByte(chars.charAt(offset + 12), chars.charAt(offset + 13)) & 0xFFL) << 8 | (decodeByte(chars.charAt(offset + 14), chars.charAt(offset + 15)) & 0xFFL); } /** * Appends the base16 encoding of the specified {@code value} to the {@code dest}. * * @param value the value to be converted. * @param dest the destination char array. * @param destOffset the starting offset in the destination char array. */ static void longToBase16String(long value, char[] dest, int destOffset) { byteToBase16((byte) (value >> 56 & 0xFFL), dest, destOffset); byteToBase16((byte) (value >> 48 & 0xFFL), dest, destOffset + BYTE_BASE16); byteToBase16((byte) (value >> 40 & 0xFFL), dest, destOffset + 2 * BYTE_BASE16); byteToBase16((byte) (value >> 32 & 0xFFL), dest, destOffset + 3 * BYTE_BASE16); byteToBase16((byte) (value >> 24 & 0xFFL), dest, destOffset + 4 * BYTE_BASE16); byteToBase16((byte) (value >> 16 & 0xFFL), dest, destOffset + 5 * BYTE_BASE16); byteToBase16((byte) (value >> 8 & 0xFFL), dest, destOffset + 6 * BYTE_BASE16); byteToBase16((byte) (value & 0xFFL), dest, destOffset + 7 * BYTE_BASE16); } /** * Decodes the specified two character sequence, and returns the resulting {@code byte}. * * @param chars the character sequence to be decoded. * @param offset the starting offset in the {@code CharSequence}. * @return the resulting {@code byte} * @throws IllegalArgumentException if the input is not a valid encoded string according to this * encoding. */ static byte byteFromBase16String(CharSequence chars, int offset) { Utils.checkArgument(chars.length() >= offset + 2, "chars too small"); return decodeByte(chars.charAt(offset), chars.charAt(offset + 1)); } private static byte decodeByte(char hi, char lo) { Utils.checkArgument(lo < ASCII_CHARACTERS && DECODING[lo] != -1, "invalid character " + lo); Utils.checkArgument(hi < ASCII_CHARACTERS && DECODING[hi] != -1, "invalid character " + hi); int decoded = DECODING[hi] << 4 | DECODING[lo]; return (byte) decoded; } private static void byteToBase16(byte value, char[] dest, int destOffset) { int b = value & 0xFF; dest[destOffset] = ENCODING[b]; dest[destOffset + 1] = ENCODING[b | 0x100]; } private BigendianEncoding() { } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/opencensus/BinaryFormatImpl.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.opencensus; import static com.google.common.base.Preconditions.checkNotNull; /** * Code originally from https://github.com/census-instrumentation/opencensus-java/blob/ * 446e9bde9b1f6c0317e3f310644997e5d6d5eab2/impl_core/src/main/java/io/opencensus/ * implcore/trace/propagation/BinaryFormatImpl.java */ final class BinaryFormatImpl { private static final byte VERSION_ID = 0; private static final int VERSION_ID_OFFSET = 0; // The version_id/field_id size in bytes. private static final byte ID_SIZE = 1; private static final byte TRACE_ID_FIELD_ID = 0; // TODO: clarify if offsets are correct here. While the specification suggests you should stop // parsing when you hit an unknown field, it does not suggest that fields must be declared in // ID order. Rather it only groups by data type order, in this case Trace Context // https://github.com/census-instrumentation/opencensus-specs/blob/master/encodings/BinaryEncoding // .md#deserialization-rules private static final int TRACE_ID_FIELD_ID_OFFSET = VERSION_ID_OFFSET + ID_SIZE; private static final int TRACE_ID_OFFSET = TRACE_ID_FIELD_ID_OFFSET + ID_SIZE; private static final byte SPAN_ID_FIELD_ID = 1; private static final int SPAN_ID_FIELD_ID_OFFSET = TRACE_ID_OFFSET + TraceId.SIZE; private static final int SPAN_ID_OFFSET = SPAN_ID_FIELD_ID_OFFSET + ID_SIZE; private static final byte TRACE_OPTION_FIELD_ID = 2; private static final int TRACE_OPTION_FIELD_ID_OFFSET = SPAN_ID_OFFSET + SpanId.SIZE; private static final int TRACE_OPTIONS_OFFSET = TRACE_OPTION_FIELD_ID_OFFSET + ID_SIZE; /** * Version, Trace and Span IDs are required fields. */ private static final int REQUIRED_FORMAT_LENGTH = 3 * ID_SIZE + TraceId.SIZE + SpanId.SIZE; private static final int ALL_FORMAT_LENGTH = REQUIRED_FORMAT_LENGTH + ID_SIZE + TraceOptions.SIZE; /** * Generates the byte array for a span context. * @param spanContext OpenCensus' span context. * @return byte array for span context. */ byte[] toByteArray(SpanContext spanContext) { checkNotNull(spanContext, "spanContext"); byte[] bytes = new byte[ALL_FORMAT_LENGTH]; bytes[VERSION_ID_OFFSET] = VERSION_ID; bytes[TRACE_ID_FIELD_ID_OFFSET] = TRACE_ID_FIELD_ID; spanContext.getTraceId().copyBytesTo(bytes, TRACE_ID_OFFSET); bytes[SPAN_ID_FIELD_ID_OFFSET] = SPAN_ID_FIELD_ID; spanContext.getSpanId().copyBytesTo(bytes, SPAN_ID_OFFSET); bytes[TRACE_OPTION_FIELD_ID_OFFSET] = TRACE_OPTION_FIELD_ID; spanContext.getTraceOptions().copyBytesTo(bytes, TRACE_OPTIONS_OFFSET); return bytes; } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/opencensus/GrpcHelper.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.opencensus; import io.grpc.Metadata; import reactor.util.context.Context; import reactor.util.context.ContextView; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; /** * Helper to extract tracing information for gRPC calls. */ public final class GrpcHelper { private static final Logger LOGGER = Logger.getLogger(GrpcHelper.class.getName()); /** * Binary formatter to generate grpc-trace-bin. */ private static final BinaryFormatImpl OPENCENSUS_BINARY_FORMAT = new BinaryFormatImpl(); private static final Metadata.Key GRPC_TRACE_BIN_KEY = Metadata.Key.of("grpc-trace-bin", Metadata.BINARY_BYTE_MARSHALLER); private static final Metadata.Key TRACEPARENT_KEY = Metadata.Key.of("traceparent", Metadata.ASCII_STRING_MARSHALLER); private static final Metadata.Key TRACESTATE_KEY = Metadata.Key.of("tracestate", Metadata.ASCII_STRING_MARSHALLER); private GrpcHelper() { } /** * Populates GRPC client's metadata with tracing headers. * * @param context Reactor's context. * @param metadata GRPC client metadata to be populated. */ public static void populateMetadata(final ContextView context, final Metadata metadata) { Map map = (context == null ? Context.empty() : context) .stream() .filter(e -> (e.getKey() != null) && (e.getValue() != null)) .collect(Collectors.toMap(e -> e.getKey().toString(), e -> e.getValue())); if (map.containsKey(GRPC_TRACE_BIN_KEY.name())) { byte[] value = (byte[]) map.get(GRPC_TRACE_BIN_KEY.name()); metadata.put(GRPC_TRACE_BIN_KEY, value); } if (map.containsKey(TRACEPARENT_KEY.name())) { String value = map.get(TRACEPARENT_KEY.name()).toString(); metadata.put(TRACEPARENT_KEY, value); } if (map.containsKey(TRACESTATE_KEY.name())) { String value = map.get(TRACESTATE_KEY.name()).toString(); metadata.put(TRACESTATE_KEY, value); } // Dapr only supports "grpc-trace-bin" for GRPC and OpenTelemetry SDK does not support that yet: // https://github.com/open-telemetry/opentelemetry-specification/issues/639 // This should be the only use of OpenCensus SDK: populate "grpc-trace-bin". SpanContext opencensusSpanContext = extractOpenCensusSpanContext(metadata); if (opencensusSpanContext != null) { byte[] grpcTraceBin = OPENCENSUS_BINARY_FORMAT.toByteArray(opencensusSpanContext); metadata.put(GRPC_TRACE_BIN_KEY, grpcTraceBin); } } private static SpanContext extractOpenCensusSpanContext(Metadata metadata) { if (!metadata.keys().contains(TRACEPARENT_KEY.name())) { // Trying to extract context without this key will throw an "expected" exception, so we avoid it here. return null; } try { return TraceContextFormat.extract(metadata); } catch (RuntimeException e) { LOGGER.log(Level.FINE, "Could not extract span context.", e); return null; } } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/opencensus/SpanContext.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.opencensus; import javax.annotation.concurrent.Immutable; import java.util.Arrays; /** * A class that represents a span context. A span context contains the state that must propagate to * child Spans and across process boundaries. It contains the identifiers (a {@link TraceId * trace_id} and {@link SpanId span_id}) associated with the and a set of {@link * TraceOptions options}. * *

    Code originally from https://github.com/census-instrumentation/opencensus-java/blob/ * 446e9bde9b1f6c0317e3f310644997e5d6d5eab2/api/src/main/java/io/opencensus/trace/SpanContext.java

    * @since 0.5 */ @Immutable final class SpanContext { private final TraceId traceId; private final SpanId spanId; private final TraceOptions traceOptions; private final Tracestate tracestate; /** * Creates a new {@code SpanContext} with the given identifiers and options. * * @param traceId the trace identifier of the span context. * @param spanId the span identifier of the span context. * @param traceOptions the trace options for the span context. * @param tracestate the trace state for the span context. * @return a new {@code SpanContext} with the given identifiers and options. * @since 0.16 */ static SpanContext create( TraceId traceId, SpanId spanId, TraceOptions traceOptions, Tracestate tracestate) { return new SpanContext(traceId, spanId, traceOptions, tracestate); } /** * Returns the trace identifier associated with this {@code SpanContext}. * * @return the trace identifier associated with this {@code SpanContext}. * @since 0.5 */ TraceId getTraceId() { return traceId; } /** * Returns the span identifier associated with this {@code SpanContext}. * * @return the span identifier associated with this {@code SpanContext}. * @since 0.5 */ SpanId getSpanId() { return spanId; } /** * Returns the {@code TraceOptions} associated with this {@code SpanContext}. * * @return the {@code TraceOptions} associated with this {@code SpanContext}. * @since 0.5 */ TraceOptions getTraceOptions() { return traceOptions; } /** * Returns the {@code Tracestate} associated with this {@code SpanContext}. * * @return the {@code Tracestate} associated with this {@code SpanContext}. * @since 0.5 */ Tracestate getTracestate() { return tracestate; } /** * Returns true if this {@code SpanContext} is valid. * * @return true if this {@code SpanContext} is valid. * @since 0.5 */ boolean isValid() { return traceId.isValid() && spanId.isValid(); } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (obj == this) { return true; } if (!(obj instanceof SpanContext)) { return false; } SpanContext that = (SpanContext) obj; return traceId.equals(that.traceId) && spanId.equals(that.spanId) && traceOptions.equals(that.traceOptions); } @Override public int hashCode() { return Arrays.hashCode(new Object[]{traceId, spanId, traceOptions}); } private SpanContext( TraceId traceId, SpanId spanId, TraceOptions traceOptions, Tracestate tracestate) { this.traceId = traceId; this.spanId = spanId; this.traceOptions = traceOptions; this.tracestate = tracestate; } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/opencensus/SpanId.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.opencensus; import javax.annotation.concurrent.Immutable; /** * A class that represents a span identifier. A valid span identifier is an 8-byte array with at * least one non-zero byte. * *

    Code originally from https://github.com/census-instrumentation/opencensus-java/blob/ * 446e9bde9b1f6c0317e3f310644997e5d6d5eab2/api/src/main/java/io/opencensus/trace/TraceId.java

    * @since 0.5 */ @Immutable final class SpanId implements Comparable { /** * The size in bytes of the {@code SpanId}. * * @since 0.5 */ public static final int SIZE = 8; private static final int BASE16_SIZE = 2 * SIZE; private static final long INVALID_ID = 0; // The internal representation of the SpanId. private final long id; private SpanId(long id) { this.id = id; } /** * Returns a {@code SpanId} built from a lowercase base16 representation. * * @param src the lowercase base16 representation. * @param srcOffset the offset in the buffer where the representation of the {@code SpanId} * begins. * @return a {@code SpanId} built from a lowercase base16 representation. * @throws NullPointerException if {@code src} is null. * @throws IllegalArgumentException if not enough characters in the {@code src} from the {@code * srcOffset}. * @since 0.11 */ static SpanId fromLowerBase16(CharSequence src, int srcOffset) { Utils.checkNotNull(src, "src"); return new SpanId(BigendianEncoding.longFromBase16String(src, srcOffset)); } /** * Returns the byte representation of the {@code SpanId}. * * @return the byte representation of the {@code SpanId}. * @since 0.5 */ byte[] getBytes() { byte[] bytes = new byte[SIZE]; BigendianEncoding.longToByteArray(id, bytes, 0); return bytes; } /** * Copies the byte array representations of the {@code SpanId} into the {@code dest} beginning at * the {@code destOffset} offset. * * @param dest the destination buffer. * @param destOffset the starting offset in the destination buffer. * @throws NullPointerException if {@code dest} is null. * @throws IndexOutOfBoundsException if {@code destOffset+SpanId.SIZE} is greater than {@code * dest.length}. * @since 0.5 */ void copyBytesTo(byte[] dest, int destOffset) { BigendianEncoding.longToByteArray(id, dest, destOffset); } /** * Copies the lowercase base16 representations of the {@code SpanId} into the {@code dest} * beginning at the {@code destOffset} offset. * * @param dest the destination buffer. * @param destOffset the starting offset in the destination buffer. * @throws IndexOutOfBoundsException if {@code destOffset + 2 * SpanId.SIZE} is greater than * {@code dest.length}. * @since 0.18 */ void copyLowerBase16To(char[] dest, int destOffset) { BigendianEncoding.longToBase16String(id, dest, destOffset); } /** * Returns whether the span identifier is valid. A valid span identifier is an 8-byte array with * at least one non-zero byte. * * @return {@code true} if the span identifier is valid. * @since 0.5 */ boolean isValid() { return id != INVALID_ID; } /** * Returns the lowercase base16 encoding of this {@code SpanId}. * * @return the lowercase base16 encoding of this {@code SpanId}. * @since 0.11 */ String toLowerBase16() { char[] chars = new char[BASE16_SIZE]; copyLowerBase16To(chars, 0); return new String(chars); } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (obj == this) { return true; } if (!(obj instanceof SpanId)) { return false; } SpanId that = (SpanId) obj; return id == that.id; } @Override public int hashCode() { // Copied from Long.hashCode in java8. return (int) (id ^ (id >>> 32)); } @Override public String toString() { return "SpanId{spanId=" + toLowerBase16() + "}"; } @Override public int compareTo(SpanId that) { // Copied from Long.compare in java8. return (id < that.id) ? -1 : ((id == that.id) ? 0 : 1); } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/opencensus/TraceContextFormat.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.opencensus; import com.google.common.base.Splitter; import io.grpc.Metadata; import java.util.List; import java.util.regex.Pattern; import static com.google.common.base.Preconditions.checkArgument; /** * Implementation of the TraceContext propagation protocol. See w3c/distributed-tracing. * *

    Code originally from https://github.com/census-instrumentation/opencensus-java/blob/ * 446e9bde9b1f6c0317e3f310644997e5d6d5eab2/impl_core/src/main/java/io/opencensus/implcore/ * trace/propagation/TraceContextFormat.java

    */ class TraceContextFormat { private static final Tracestate TRACESTATE_DEFAULT = Tracestate.builder().build(); private static final String TRACEPARENT = "traceparent"; private static final String TRACESTATE = "tracestate"; private static final Metadata.Key TRACEPARENT_KEY = Metadata.Key.of(TRACEPARENT, Metadata.ASCII_STRING_MARSHALLER); private static final Metadata.Key TRACESTATE_KEY = Metadata.Key.of(TRACESTATE, Metadata.ASCII_STRING_MARSHALLER); private static final int VERSION_SIZE = 2; private static final char TRACEPARENT_DELIMITER = '-'; private static final int TRACEPARENT_DELIMITER_SIZE = 1; private static final int TRACE_ID_HEX_SIZE = 2 * TraceId.SIZE; private static final int SPAN_ID_HEX_SIZE = 2 * SpanId.SIZE; private static final int TRACE_OPTION_HEX_SIZE = 2 * TraceOptions.SIZE; private static final int TRACE_ID_OFFSET = VERSION_SIZE + TRACEPARENT_DELIMITER_SIZE; private static final int SPAN_ID_OFFSET = TRACE_ID_OFFSET + TRACE_ID_HEX_SIZE + TRACEPARENT_DELIMITER_SIZE; private static final int TRACE_OPTION_OFFSET = SPAN_ID_OFFSET + SPAN_ID_HEX_SIZE + TRACEPARENT_DELIMITER_SIZE; private static final int TRACEPARENT_HEADER_SIZE = TRACE_OPTION_OFFSET + TRACE_OPTION_HEX_SIZE; private static final int TRACESTATE_MAX_MEMBERS = 32; private static final char TRACESTATE_KEY_VALUE_DELIMITER = '='; private static final char TRACESTATE_ENTRY_DELIMITER = ','; private static final Splitter TRACESTATE_ENTRY_DELIMITER_SPLITTER = Splitter.on(Pattern.compile("[ \t]*" + TRACESTATE_ENTRY_DELIMITER + "[ \t]*")); /** * Extracts span context from gRPC's metadata. * @param metadata gRPC's metadata. * @return span context. */ static SpanContext extract(Metadata metadata) { String traceparent = metadata.get(TRACEPARENT_KEY); if (traceparent == null) { throw new RuntimeException("Traceparent not present"); } checkArgument( traceparent.charAt(TRACE_OPTION_OFFSET - 1) == TRACEPARENT_DELIMITER && (traceparent.length() == TRACEPARENT_HEADER_SIZE || (traceparent.length() > TRACEPARENT_HEADER_SIZE && traceparent.charAt(TRACEPARENT_HEADER_SIZE) == TRACEPARENT_DELIMITER)) && traceparent.charAt(SPAN_ID_OFFSET - 1) == TRACEPARENT_DELIMITER && traceparent.charAt(TRACE_OPTION_OFFSET - 1) == TRACEPARENT_DELIMITER, "Missing or malformed TRACEPARENT."); TraceId traceId = TraceId.fromLowerBase16(traceparent, TRACE_ID_OFFSET); SpanId spanId = SpanId.fromLowerBase16(traceparent, SPAN_ID_OFFSET); TraceOptions traceOptions = TraceOptions.fromLowerBase16(traceparent, TRACE_OPTION_OFFSET); String tracestate = metadata.get(TRACESTATE_KEY); if (tracestate == null || tracestate.isEmpty()) { return SpanContext.create(traceId, spanId, traceOptions, TRACESTATE_DEFAULT); } Tracestate.Builder tracestateBuilder = Tracestate.builder(); List listMembers = TRACESTATE_ENTRY_DELIMITER_SPLITTER.splitToList(tracestate); checkArgument( listMembers.size() <= TRACESTATE_MAX_MEMBERS, "Tracestate has too many elements."); // Iterate in reverse order because when call builder set the elements is added in the // front of the list. for (int i = listMembers.size() - 1; i >= 0; i--) { String listMember = listMembers.get(i); int index = listMember.indexOf(TRACESTATE_KEY_VALUE_DELIMITER); checkArgument(index != -1, "Invalid tracestate list-member format."); tracestateBuilder.set( listMember.substring(0, index), listMember.substring(index + 1, listMember.length())); } return SpanContext.create(traceId, spanId, traceOptions, tracestateBuilder.build()); } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/opencensus/TraceId.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.opencensus; import javax.annotation.concurrent.Immutable; /** * A class that represents a trace identifier. A valid trace identifier is a 16-byte array with at * least one non-zero byte. * *

    Code originally from https://github.com/census-instrumentation/opencensus-java/blob/ * 446e9bde9b1f6c0317e3f310644997e5d6d5eab2/api/src/main/java/io/opencensus/trace/TraceId.java.

    * @since 0.5 */ @Immutable final class TraceId implements Comparable { /** * The size in bytes of the {@code TraceId}. * * @since 0.5 */ static final int SIZE = 16; private static final int BASE16_SIZE = 2 * BigendianEncoding.LONG_BASE16; private static final long INVALID_ID = 0; // The internal representation of the TraceId. private final long idHi; private final long idLo; private TraceId(long idHi, long idLo) { this.idHi = idHi; this.idLo = idLo; } /** * Returns a {@code TraceId} built from a lowercase base16 representation. * * @param src the lowercase base16 representation. * @param srcOffset the offset in the buffer where the representation of the {@code TraceId} * begins. * @return a {@code TraceId} built from a lowercase base16 representation. * @throws NullPointerException if {@code src} is null. * @throws IllegalArgumentException if not enough characters in the {@code src} from the {@code * srcOffset}. * @since 0.11 */ static TraceId fromLowerBase16(CharSequence src, int srcOffset) { Utils.checkNotNull(src, "src"); return new TraceId( BigendianEncoding.longFromBase16String(src, srcOffset), BigendianEncoding.longFromBase16String(src, srcOffset + BigendianEncoding.LONG_BASE16)); } /** * Copies the byte array representations of the {@code TraceId} into the {@code dest} beginning at * the {@code destOffset} offset. * * @param dest the destination buffer. * @param destOffset the starting offset in the destination buffer. * @throws NullPointerException if {@code dest} is null. * @throws IndexOutOfBoundsException if {@code destOffset+TraceId.SIZE} is greater than {@code * dest.length}. * @since 0.5 */ void copyBytesTo(byte[] dest, int destOffset) { BigendianEncoding.longToByteArray(idHi, dest, destOffset); BigendianEncoding.longToByteArray(idLo, dest, destOffset + BigendianEncoding.LONG_BYTES); } /** * Copies the lowercase base16 representations of the {@code TraceId} into the {@code dest} * beginning at the {@code destOffset} offset. * * @param dest the destination buffer. * @param destOffset the starting offset in the destination buffer. * @throws IndexOutOfBoundsException if {@code destOffset + 2 * TraceId.SIZE} is greater than * {@code dest.length}. * @since 0.18 */ void copyLowerBase16To(char[] dest, int destOffset) { BigendianEncoding.longToBase16String(idHi, dest, destOffset); BigendianEncoding.longToBase16String(idLo, dest, destOffset + BASE16_SIZE / 2); } /** * Returns whether the {@code TraceId} is valid. A valid trace identifier is a 16-byte array with * at least one non-zero byte. * * @return {@code true} if the {@code TraceId} is valid. * @since 0.5 */ boolean isValid() { return idHi != INVALID_ID || idLo != INVALID_ID; } /** * Returns the lowercase base16 encoding of this {@code TraceId}. * * @return the lowercase base16 encoding of this {@code TraceId}. * @since 0.11 */ String toLowerBase16() { char[] chars = new char[BASE16_SIZE]; copyLowerBase16To(chars, 0); return new String(chars); } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (obj == this) { return true; } if (!(obj instanceof TraceId)) { return false; } TraceId that = (TraceId) obj; return idHi == that.idHi && idLo == that.idLo; } @Override public int hashCode() { // Copied from Arrays.hashCode(long[]) int result = 1; result = 31 * result + ((int) (idHi ^ (idHi >>> 32))); result = 31 * result + ((int) (idLo ^ (idLo >>> 32))); return result; } @Override public String toString() { return "TraceId{traceId=" + toLowerBase16() + "}"; } @Override public int compareTo(TraceId that) { if (idHi == that.idHi) { if (idLo == that.idLo) { return 0; } return idLo < that.idLo ? -1 : 1; } return idHi < that.idHi ? -1 : 1; } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/opencensus/TraceOptions.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.opencensus; import javax.annotation.concurrent.Immutable; import java.util.Arrays; /** * A class that represents global trace options. These options are propagated to all child spans. * These determine features such as whether a {@code Span} should be traced. It is implemented as a bitmask. * *

    Code originally from https://github.com/census-instrumentation/opencensus-java/blob/ * 446e9bde9b1f6c0317e3f310644997e5d6d5eab2/api/src/main/java/io/opencensus/trace/TraceOptions.java

    * @since 0.5 */ @Immutable final class TraceOptions { /** * The size in bytes of the {@code TraceOptions}. * * @since 0.5 */ static final int SIZE = 1; // The set of enabled features is determined by all the enabled bits. private final byte options; // Creates a new {@code TraceOptions} with the given options. private TraceOptions(byte options) { this.options = options; } /** * Returns a {@code TraceOption} built from a lowercase base16 representation. * * @param src the lowercase base16 representation. * @param srcOffset the offset in the buffer where the representation of the {@code TraceOptions} * begins. * @return a {@code TraceOption} built from a lowercase base16 representation. * @throws NullPointerException if {@code src} is null. * @throws IllegalArgumentException if {@code src.length} is not {@code 2 * TraceOption.SIZE} OR * if the {@code str} has invalid characters. * @since 0.18 */ static TraceOptions fromLowerBase16(CharSequence src, int srcOffset) { return new TraceOptions(BigendianEncoding.byteFromBase16String(src, srcOffset)); } /** * Copies the byte representations of the {@code TraceOptions} into the {@code dest} beginning at * the {@code destOffset} offset. * *

    Equivalent with (but faster because it avoids any new allocations): * *

    {@code
       * System.arraycopy(getBytes(), 0, dest, destOffset, TraceOptions.SIZE);
       * }
    * * @param dest the destination buffer. * @param destOffset the starting offset in the destination buffer. * @throws NullPointerException if {@code dest} is null. * @throws IndexOutOfBoundsException if {@code destOffset+TraceOptions.SIZE} is greater than * {@code dest.length}. * @since 0.5 */ void copyBytesTo(byte[] dest, int destOffset) { Utils.checkIndex(destOffset, dest.length); dest[destOffset] = options; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (obj == this) { return true; } if (!(obj instanceof TraceOptions)) { return false; } TraceOptions that = (TraceOptions) obj; return options == that.options; } @Override public int hashCode() { return Arrays.hashCode(new byte[]{options}); } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/opencensus/Tracestate.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.opencensus; import javax.annotation.concurrent.Immutable; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * Carries tracing-system specific context in a list of key-value pairs. TraceState allows different * vendors propagate additional information and inter-operate with their legacy Id formats. * *

    Implementation is optimized for a small list of key-value pairs. * *

    Key is opaque string up to 256 characters printable. It MUST begin with a lowercase letter, * and can only contain lowercase letters a-z, digits 0-9, underscores _, dashes -, asterisks *, and * forward slashes /. * *

    Value is opaque string up to 256 characters printable ASCII RFC0020 characters (i.e., the * range 0x20 to 0x7E) except comma , and =. * *

    Code originally from https://github.com/census-instrumentation/opencensus-java/blob/ * 446e9bde9b1f6c0317e3f310644997e5d6d5eab2/api/src/main/java/io/opencensus/trace/Tracestate.java

    * @since 0.16 */ @Immutable class Tracestate { private static final int KEY_MAX_SIZE = 256; private static final int VALUE_MAX_SIZE = 256; private static final int MAX_KEY_VALUE_PAIRS = 32; private final List entries; private Tracestate(List entries) { this.entries = entries; } /** * Returns the value to which the specified key is mapped, or null if this map contains no mapping * for the key. * * @param key with which the specified value is to be associated * @return the value to which the specified key is mapped, or null if this map contains no mapping for the key. * @since 0.16 */ @javax.annotation.Nullable String get(String key) { for (Entry entry : getEntries()) { if (entry.getKey().equals(key)) { return entry.getValue(); } } return null; } /** * Returns a {@link List} view of the mappings contained in this {@code TraceState}. * * @return a {@link List} view of the mappings contained in this {@code TraceState}. * @since 0.16 */ List getEntries() { return this.entries; } /** * Returns a {@code Builder} based on an empty {@code Tracestate}. * * @return a {@code Builder} based on an empty {@code Tracestate}. * @since 0.16 */ static Builder builder() { return new Builder(Builder.EMPTY); } /** * Builder class. * * @since 0.16 */ static final class Builder { private final Tracestate parent; @javax.annotation.Nullable private ArrayList entries; // Needs to be in this class to avoid initialization deadlock because super class depends on // subclass (the auto-value generate class). private static final Tracestate EMPTY = create(Collections.emptyList()); private Builder(Tracestate parent) { Utils.checkNotNull(parent, "parent"); this.parent = parent; this.entries = null; } /** * Adds or updates the {@code Entry} that has the given {@code key} if it is present. The new * {@code Entry} will always be added in the front of the list of entries. * * @param key the key for the {@code Entry} to be added. * @param value the value for the {@code Entry} to be added. * @return this. * @since 0.16 */ @SuppressWarnings("nullness") Builder set(String key, String value) { // Initially create the Entry to validate input. Entry entry = new Entry(key, value); if (entries == null) { // Copy entries from the parent. entries = new ArrayList(parent.getEntries()); } for (int i = 0; i < entries.size(); i++) { if (entries.get(i).getKey().equals(entry.getKey())) { entries.remove(i); // Exit now because the entries list cannot contain duplicates. break; } } // Inserts the element at the front of this list. entries.add(0, entry); return this; } /** * Removes the {@code Entry} that has the given {@code key} if it is present. * * @param key the key for the {@code Entry} to be removed. * @return this. * @since 0.16 */ @SuppressWarnings("nullness") Builder remove(String key) { Utils.checkNotNull(key, "key"); if (entries == null) { // Copy entries from the parent. entries = new ArrayList(parent.getEntries()); } for (int i = 0; i < entries.size(); i++) { if (entries.get(i).getKey().equals(key)) { entries.remove(i); // Exit now because the entries list cannot contain duplicates. break; } } return this; } /** * Builds a TraceState by adding the entries to the parent in front of the key-value pairs list * and removing duplicate entries. * * @return a TraceState with the new entries. * @since 0.16 */ Tracestate build() { if (entries == null) { return parent; } return Tracestate.create(entries); } } /** * Immutable key-value pair for {@code Tracestate}. * * @since 0.16 */ @Immutable static class Entry { private final String key; private final String value; /** * Creates a new {@code Entry} for the {@code Tracestate}. * * @param key the Entry's key. * @param value the Entry's value. * @since 0.16 */ Entry(String key, String value) { Utils.checkNotNull(key, "key"); Utils.checkNotNull(value, "value"); Utils.checkArgument(validateKey(key), "Invalid key %s", key); Utils.checkArgument(validateValue(value), "Invalid value %s", value); this.key = key; this.value = value; } /** * Returns the key {@code String}. * * @return the key {@code String}. * @since 0.16 */ String getKey() { return this.key; } /** * Returns the value {@code String}. * * @return the value {@code String}. * @since 0.16 */ String getValue() { return this.value; } } // Key is opaque string up to 256 characters printable. It MUST begin with a lowercase letter, and // can only contain lowercase letters a-z, digits 0-9, underscores _, dashes -, asterisks *, and // forward slashes /. static boolean validateKey(String key) { if (key.length() > KEY_MAX_SIZE || key.isEmpty() || key.charAt(0) < 'a' || key.charAt(0) > 'z') { return false; } for (int i = 1; i < key.length(); i++) { char c = key.charAt(i); if (!(c >= 'a' && c <= 'z') && !(c >= '0' && c <= '9') && c != '_' && c != '-' && c != '*' && c != '/') { return false; } } return true; } // Value is opaque string up to 256 characters printable ASCII RFC0020 characters (i.e., the range // 0x20 to 0x7E) except comma , and =. static boolean validateValue(String value) { if (value.length() > VALUE_MAX_SIZE || value.charAt(value.length() - 1) == ' ' /* '\u0020' */) { return false; } for (int i = 0; i < value.length(); i++) { char c = value.charAt(i); if (c == ',' || c == '=' || c < ' ' /* '\u0020' */ || c > '~' /* '\u007E' */) { return false; } } return true; } private static Tracestate create(List entries) { Utils.checkState(entries.size() <= MAX_KEY_VALUE_PAIRS, "Invalid size"); return new Tracestate(Collections.unmodifiableList(entries)); } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/opencensus/Utils.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.opencensus; /** * General internal utility methods. * *

    Code originally from https://github.com/census-instrumentation/opencensus-java/blob/ * 446e9bde9b1f6c0317e3f310644997e5d6d5eab2/api/src/main/java/io/opencensus/internal/Utils.java

    */ final class Utils { private Utils() { } /** * Throws an {@link IllegalArgumentException} if the argument is false. This method is similar to * {@code Preconditions.checkArgument(boolean, Object)} from Guava. * * @param isValid whether the argument check passed. * @param errorMessage the message to use for the exception. Will be converted to a string using * {@link String#valueOf(Object)}. */ static void checkArgument( boolean isValid, @javax.annotation.Nullable Object errorMessage) { if (!isValid) { throw new IllegalArgumentException(String.valueOf(errorMessage)); } } /** * Throws an {@link IllegalArgumentException} if the argument is false. This method is similar to * {@code Preconditions.checkArgument(boolean, Object)} from Guava. * * @param expression a boolean expression * @param errorMessageTemplate a template for the exception message should the check fail. The * message is formed by replacing each {@code %s} placeholder in the template with an * argument. These are matched by position - the first {@code %s} gets {@code * errorMessageArgs[0]}, etc. Unmatched arguments will be appended to the formatted * message in * square braces. Unmatched placeholders will be left as-is. * @param errorMessageArgs the arguments to be substituted into the message template. Arguments * are converted to strings using {@link String#valueOf(Object)}. * @throws IllegalArgumentException if {@code expression} is false * @throws NullPointerException if the check fails and either {@code errorMessageTemplate} or * {@code errorMessageArgs} is null (don't let this happen) */ static void checkArgument( boolean expression, String errorMessageTemplate, @javax.annotation.Nullable Object... errorMessageArgs) { if (!expression) { throw new IllegalArgumentException(format(errorMessageTemplate, errorMessageArgs)); } } /** * Throws an {@link IllegalStateException} if the argument is false. This method is similar to * {@code Preconditions.checkState(boolean, Object)} from Guava. * * @param isValid whether the state check passed. * @param errorMessage the message to use for the exception. Will be converted to a string using * {@link String#valueOf(Object)}. */ static void checkState(boolean isValid, @javax.annotation.Nullable Object errorMessage) { if (!isValid) { throw new IllegalStateException(String.valueOf(errorMessage)); } } /** * Validates an index in an array or other container. This method throws an {@link * IllegalArgumentException} if the size is negative and throws an {@link * IndexOutOfBoundsException} if the index is negative or greater than or equal to the size. This * method is similar to {@code Preconditions.checkElementIndex(int, int)} from Guava. * * @param index the index to validate. * @param size the size of the array or container. */ static void checkIndex(int index, int size) { if (size < 0) { throw new IllegalArgumentException("Negative size: " + size); } if (index < 0 || index >= size) { throw new IndexOutOfBoundsException("Index out of bounds: size=" + size + ", index=" + index); } } /** * Throws a {@link NullPointerException} if the argument is null. This method is similar to {@code * Preconditions.checkNotNull(Object, Object)} from Guava. * * @param arg the argument to check for null. * @param errorMessage the message to use for the exception. Will be converted to a string using * {@link String#valueOf(Object)}. * @param Object checked. * @return the argument, if it passes the null check. */ public static T checkNotNull(T arg, @javax.annotation.Nullable Object errorMessage) { if (arg == null) { throw new NullPointerException(String.valueOf(errorMessage)); } return arg; } /** * Substitutes each {@code %s} in {@code template} with an argument. These are matched by * position: the first {@code %s} gets {@code args[0]}, etc. If there are more arguments than * placeholders, the unmatched arguments will be appended to the end of the formatted message in * square braces. * *

    Copied from {@code Preconditions.format(String, Object...)} from Guava * * @param template a non-null string containing 0 or more {@code %s} placeholders. * @param args the arguments to be substituted into the message template. Arguments are converted * to strings using {@link String#valueOf(Object)}. Arguments can be null. */ // Note that this is somewhat-improperly used from Verify.java as well. private static String format(String template, @javax.annotation.Nullable Object... args) { // If no arguments return the template. if (args == null) { return template; } // start substituting the arguments into the '%s' placeholders StringBuilder builder = new StringBuilder(template.length() + 16 * args.length); int templateStart = 0; int i = 0; while (i < args.length) { int placeholderStart = template.indexOf("%s", templateStart); if (placeholderStart == -1) { break; } builder.append(template, templateStart, placeholderStart); builder.append(args[i++]); templateStart = placeholderStart + 2; } builder.append(template, templateStart, template.length()); // if we run out of placeholders, append the extra args in square braces if (i < args.length) { builder.append(" ["); builder.append(args[i++]); while (i < args.length) { builder.append(", "); builder.append(args[i++]); } builder.append(']'); } return builder.toString(); } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/resiliency/RetryPolicy.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.resiliency; import io.dapr.config.Properties; import io.dapr.exceptions.DaprException; import io.grpc.Status; import io.grpc.StatusRuntimeException; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.util.retry.Retry; import java.time.Duration; /** * Retry policy for SDK communication to Dapr API. */ public final class RetryPolicy { private static final int MIN_BACKOFF_MILLIS = 500; private static final int MAX_BACKOFF_SECONDS = 5; private final Retry retrySpec; public RetryPolicy() { this(null); } public RetryPolicy(Integer maxRetries) { this.retrySpec = buildRetrySpec(maxRetries != null ? maxRetries : Properties.MAX_RETRIES.get()); } /** * Applies the retry policy to an expected Mono action. * @param response Response * @param Type expected for the action's response * @return action with retry */ public Mono apply(Mono response) { if (this.retrySpec == null) { return response; } return response.retryWhen(retrySpec) .onErrorMap(throwable -> findDaprException(throwable)); } /** * Applies the retry policy to an expected Flux action. * @param response Response * @param Type expected for the action's response * @return action with retry */ public Flux apply(Flux response) { if (this.retrySpec == null) { return response; } return response.retryWhen(retrySpec) .onErrorMap(throwable -> findDaprException(throwable)); } private static Retry buildRetrySpec(int maxRetries) { if (maxRetries == 0) { return null; } if (maxRetries < 0) { return Retry.indefinitely() .filter(throwable -> isRetryableGrpcError(throwable)); } return Retry.backoff(maxRetries, Duration.ofMillis(MIN_BACKOFF_MILLIS)) .maxBackoff(Duration.ofSeconds(MAX_BACKOFF_SECONDS)) .filter(throwable -> isRetryableGrpcError(throwable)); } private static boolean isRetryableGrpcError(Throwable throwable) { Status grpcStatus = findGrpcStatusCode(throwable); if (grpcStatus == null) { return false; } switch (grpcStatus.getCode()) { case DEADLINE_EXCEEDED: case UNAVAILABLE: return true; default: return false; } } private static Status findGrpcStatusCode(Throwable throwable) { while (throwable != null) { if (throwable instanceof StatusRuntimeException) { return ((StatusRuntimeException) throwable).getStatus(); } throwable = throwable.getCause(); } return null; } private static Throwable findDaprException(Throwable throwable) { Throwable original = throwable; while (throwable != null) { if (throwable instanceof DaprException) { return throwable; } throwable = throwable.getCause(); } return original; } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/resiliency/TimeoutPolicy.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.resiliency; import io.dapr.config.Properties; import io.grpc.CallOptions; import java.time.Duration; import java.util.concurrent.TimeUnit; /** * Timeout policy for SDK communication to Dapr API. */ public final class TimeoutPolicy { private final Duration timeout; /** * Instantiates a new timeout policy with override value. * @param timeout Override timeout value. */ public TimeoutPolicy(Duration timeout) { this.timeout = timeout != null ? timeout : Properties.TIMEOUT.get(); } /** * Instantiates a new timeout policy with default value. */ public TimeoutPolicy() { this(null); } /** * Applies the timeout policy to a gRPC call options. * @param options Call options * @return Call options with retry policy applied */ public CallOptions apply(CallOptions options) { if (this.timeout.isZero() || this.timeout.isNegative()) { return options; } return options.withDeadlineAfter(this.timeout.toMillis(), TimeUnit.MILLISECONDS); } } ================================================ FILE: sdk/src/main/java/io/dapr/internal/subscription/EventSubscriberStreamObserver.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.internal.subscription; import io.dapr.client.domain.CloudEvent; import io.dapr.exceptions.DaprException; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.utils.TypeRef; import io.dapr.v1.DaprAppCallbackProtos; import io.dapr.v1.DaprGrpc; import io.dapr.v1.DaprPubsubProtos; import io.grpc.stub.StreamObserver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import reactor.core.publisher.FluxSink; import java.io.IOException; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; /** * StreamObserver implementation for subscribing to Dapr pub/sub events. * Thread Safety: This class relies on gRPC's StreamObserver contract, which guarantees that * onNext(), onError(), and onCompleted() are never called concurrently and always from the * same thread. Therefore, no additional synchronization is needed. * * @param The type of the event payload */ public class EventSubscriberStreamObserver implements StreamObserver { private static final Logger logger = LoggerFactory.getLogger(EventSubscriberStreamObserver.class); private final DaprGrpc.DaprStub stub; private final FluxSink sink; private final TypeRef type; private final DaprObjectSerializer objectSerializer; private StreamObserver requestStream; /** * Creates a new EventSubscriberStreamObserver. * * @param stub The gRPC stub for making Dapr service calls * @param sink The FluxSink to emit deserialized event data to * @param type The TypeRef for deserializing event payloads * @param objectSerializer The serializer to use for deserialization */ public EventSubscriberStreamObserver( DaprGrpc.DaprStub stub, FluxSink sink, TypeRef type, DaprObjectSerializer objectSerializer) { this.stub = stub; this.sink = sink; this.type = type; this.objectSerializer = objectSerializer; } private static DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 buildSuccessAck(String eventId) { return buildAckRequest(eventId, DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.SUCCESS); } private static DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 buildRetryAck(String eventId) { return buildAckRequest(eventId, DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.RETRY); } @Override public void onError(Throwable throwable) { sink.error(DaprException.propagate(throwable)); } @Override public void onCompleted() { sink.complete(); } private static DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 buildDropAck(String eventId) { return buildAckRequest(eventId, DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.DROP); } private T deserializeEventData(DaprAppCallbackProtos.TopicEventRequest message) throws IOException { if (type == null) { logger.debug("Type is null, skipping deserialization for event ID: {}", message.getId()); return null; } // Check if the user requested CloudEvent - we need to construct it from protobuf fields if (isCloudEventType(type)) { return buildCloudEventFromMessage(message); } return objectSerializer.deserialize(message.getData().toByteArray(), type); } private boolean isCloudEventType(TypeRef typeRef) { Type t = typeRef.getType(); if (t instanceof ParameterizedType) { ParameterizedType pt = (ParameterizedType) t; return pt.getRawType() == CloudEvent.class; } return t == CloudEvent.class; } @SuppressWarnings("unchecked") private T buildCloudEventFromMessage(DaprAppCallbackProtos.TopicEventRequest message) throws IOException { // Extract inner type from CloudEvent TypeRef innerType = extractInnerType(type); // Deserialize the data field into the inner type Object data; if (innerType != null) { data = objectSerializer.deserialize(message.getData().toByteArray(), innerType); } else { data = message.getData().toStringUtf8(); } // Build CloudEvent from protobuf fields CloudEvent cloudEvent = new CloudEvent<>(); cloudEvent.setId(message.getId()); cloudEvent.setSource(message.getSource()); cloudEvent.setType(message.getType()); cloudEvent.setSpecversion(message.getSpecVersion()); cloudEvent.setDatacontenttype(message.getDataContentType()); cloudEvent.setData(data); cloudEvent.setTopic(message.getTopic()); cloudEvent.setPubsubName(message.getPubsubName()); return (T) cloudEvent; } private TypeRef extractInnerType(TypeRef cloudEventType) { Type t = cloudEventType.getType(); if (t instanceof ParameterizedType) { ParameterizedType pt = (ParameterizedType) t; Type[] typeArgs = pt.getActualTypeArguments(); if (typeArgs.length > 0) { return TypeRef.get(typeArgs[0]); } } return null; // Raw CloudEvent without type parameter } private void emitDataAndAcknowledge(T data, String eventId) { // Only emit if data is not null (Reactor doesn't allow null values in Flux) if (data != null) { sink.next(data); } // Send SUCCESS acknowledgment requestStream.onNext(buildSuccessAck(eventId)); } private void handleDeserializationError(String eventId, IOException cause) { logger.error("Deserialization failed for event ID: {}, sending DROP ack", eventId, cause); // Send DROP ack - cannot process malformed data requestStream.onNext(buildDropAck(eventId)); // Propagate error to sink sink.error(new DaprException("DESERIALIZATION_ERROR", "Failed to deserialize event with ID: " + eventId, cause)); } private void handleProcessingError(String eventId, Exception cause) { logger.error("Processing error for event ID: {}, attempting to send RETRY ack", eventId, cause); try { // Try to send RETRY acknowledgment requestStream.onNext(buildRetryAck(eventId)); } catch (Exception ackException) { // Failed to send ack - this is critical logger.error("Failed to send RETRY ack for event ID: {}", eventId, ackException); sink.error(DaprException.propagate(ackException)); return; } // Propagate the original processing error sink.error(DaprException.propagate(cause)); } private static DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 buildAckRequest( String eventId, DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus status) { DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1 eventProcessed = DaprPubsubProtos.SubscribeTopicEventsRequestProcessedAlpha1.newBuilder() .setId(eventId) .setStatus( DaprAppCallbackProtos.TopicEventResponse.newBuilder() .setStatus(status) .build()) .build(); return DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.newBuilder() .setEventProcessed(eventProcessed) .build(); } /** * Starts the subscription by sending the initial request. * * @param request The subscription request * @return The StreamObserver to send further requests (acknowledgments) */ public StreamObserver start( DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 request ) { requestStream = stub.subscribeTopicEventsAlpha1(this); requestStream.onNext(request); return requestStream; } @Override public void onNext(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response) { if (!isValidEventMessage(response)) { return; } DaprAppCallbackProtos.TopicEventRequest message = response.getEventMessage(); String eventId = message.getId(); try { T data = deserializeEventData(message); emitDataAndAcknowledge(data, eventId); } catch (IOException e) { // Deserialization failure - send DROP ack handleDeserializationError(eventId, e); } catch (Exception e) { // Processing failure - send RETRY ack handleProcessingError(eventId, e); } } private boolean isValidEventMessage(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response) { if (response.getEventMessage() == null) { logger.debug("Received response with null event message, skipping"); return false; } DaprAppCallbackProtos.TopicEventRequest message = response.getEventMessage(); if (message.getPubsubName() == null || message.getPubsubName().isEmpty()) { logger.debug("Received event with empty pubsub name, skipping"); return false; } if (message.getId() == null || message.getId().isEmpty()) { logger.debug("Received event with empty ID, skipping"); return false; } return true; } } ================================================ FILE: sdk/src/main/java/io/dapr/serializer/CustomizableObjectSerializer.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.serializer; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.ObjectSerializer; public class CustomizableObjectSerializer extends ObjectSerializer implements DaprObjectSerializer { private final ObjectMapper objectMapper; public CustomizableObjectSerializer(ObjectMapper objectMapper) { this.objectMapper = objectMapper; } @Override public ObjectMapper getObjectMapper() { return objectMapper; } @Override public String getContentType() { return "application/json"; } } ================================================ FILE: sdk/src/main/java/io/dapr/serializer/DaprObjectSerializer.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.serializer; import io.dapr.utils.TypeRef; import java.io.IOException; /** * Serializes and deserializes application's objects. */ public interface DaprObjectSerializer { /** * Serializes the given object as byte[]. * * @param o Object to be serialized. * @return Serialized object. * @throws IOException If cannot serialize. */ byte[] serialize(Object o) throws IOException; /** * Deserializes the given byte[] into a object. * * @param data Data to be deserialized. * @param type Type of object to be deserialized. * @param Type of object to be deserialized. * @return Deserialized object. * @throws IOException If cannot deserialize object. */ T deserialize(byte[] data, TypeRef type) throws IOException; /** * Returns the content type of the request. * * @return content type of the request */ String getContentType(); } ================================================ FILE: sdk/src/main/java/io/dapr/serializer/DefaultObjectSerializer.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.serializer; import io.dapr.client.ObjectSerializer; import io.dapr.utils.TypeRef; import java.io.IOException; /** * Default serializer/deserializer for request/response objects and for state objects too. */ public class DefaultObjectSerializer extends ObjectSerializer implements DaprObjectSerializer { /** * {@inheritDoc} */ @Override public byte[] serialize(Object o) throws IOException { return super.serialize(o); } /** * {@inheritDoc} */ @Override public T deserialize(byte[] data, TypeRef type) throws IOException { return super.deserialize(data, type); } /** * {@inheritDoc} */ @Override public String getContentType() { return "application/json"; } } ================================================ FILE: sdk/src/main/java/io/dapr/utils/DefaultContentTypeConverter.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.utils; import io.dapr.serializer.DefaultObjectSerializer; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.Base64; /** * A utility class for converting event to bytes based on content type or given serializer. * When an application/json or application/cloudevents+json is given as content type, the object serializer is used * to serialize the data into bytes */ public class DefaultContentTypeConverter { private static final DefaultObjectSerializer OBJECT_SERIALIZER = new DefaultObjectSerializer(); /** * Function to convert a given event to bytes for HTTP calls. * * @param The type of the event * @param event The input event * @param contentType The content type of the event * @return the event as bytes * @throws IllegalArgumentException on mismatch between contentType and event types * @throws IOException on serialization */ public static byte[] convertEventToBytesForHttp(T event, String contentType) throws IllegalArgumentException, IOException { if (isBinaryContentType(contentType)) { if (event instanceof byte[]) { return Base64.getEncoder().encode((byte[]) event); } else { throw new IllegalArgumentException("mismatch between 'application/octect-stream' contentType and event. " + "expected binary data as bytes array"); } } else if (isStringContentType(contentType)) { if (event instanceof String) { return ((String) event).getBytes(StandardCharsets.UTF_8); } else if (event instanceof Boolean || event instanceof Number) { return String.valueOf(event).getBytes(StandardCharsets.UTF_8); } else { throw new IllegalArgumentException("mismatch between string contentType and event. " + "expected event to be convertible into a string"); } } else if (isJsonContentType(contentType) || isCloudEventContentType(contentType)) { return OBJECT_SERIALIZER.serialize(event); } throw new IllegalArgumentException("mismatch between contentType and event"); } /** * Function to convert a given event to bytes for gRPC calls. * * @param The type of the event * @param event The input event * @param contentType The content type of the event * @return the event as bytes * @throws IllegalArgumentException on mismatch between contentType and event types * @throws IOException on serialization */ public static byte[] convertEventToBytesForGrpc(T event, String contentType) throws IllegalArgumentException, IOException { if (isBinaryContentType(contentType)) { if (event instanceof byte[]) { // Return the bytes of the event directly for gRPC return (byte[]) event; } else { throw new IllegalArgumentException("mismatch between 'application/octect-stream' contentType and event. " + "expected binary data as bytes array"); } } // The rest of the conversion is same as HTTP return convertEventToBytesForHttp(event, contentType); } /** * Function to convert a bytes array from HTTP input into event based on given object deserializer. * * @param The type of the event * @param event The input event * @param contentType The content type of the event * @param typeRef The type to convert the event to * @return the event as bytes * @throws IllegalArgumentException on mismatch between contentType and event types * @throws IOException on serialization */ public static T convertBytesToEventFromHttp(byte[] event, String contentType, TypeRef typeRef) throws IllegalArgumentException, IOException { if (isBinaryContentType(contentType)) { byte[] decoded = Base64.getDecoder().decode(new String(event, StandardCharsets.UTF_8)); return OBJECT_SERIALIZER.deserialize(decoded, typeRef); } else if (isStringContentType(contentType)) { if (TypeRef.STRING.equals(typeRef)) { // This is a string data, required as string return (T) new String(event, StandardCharsets.UTF_8); } else if (TypeRef.isPrimitive(typeRef)) { // This is primitive data return OBJECT_SERIALIZER.deserialize(event, typeRef); } // There is mismatch between content type and required type cast } else if (isJsonContentType(contentType) || isCloudEventContentType(contentType)) { // This is normal JSON deserialization of the event return OBJECT_SERIALIZER.deserialize(event, typeRef); } throw new IllegalArgumentException("mismatch between contentType and requested type cast in return"); } /** * Function to convert a bytes array from gRPC input into event based on given object deserializer. * * @param The type of the event * @param event The input event * @param contentType The content type of the event * @param typeRef The type to convert the event to * @return the event as bytes * @throws IllegalArgumentException on mismatch between contentType and event types * @throws IOException on serialization */ public static T convertBytesToEventFromGrpc(byte[] event, String contentType, TypeRef typeRef) throws IllegalArgumentException, IOException { if (isBinaryContentType(contentType)) { // The byte array is directly deserialized return OBJECT_SERIALIZER.deserialize(event, typeRef); } // rest of the conversion is similar to the HTTP method return convertBytesToEventFromHttp(event, contentType, typeRef); } public static boolean isCloudEventContentType(String contentType) { return isContentType(contentType, "application/cloudevents+json"); } public static boolean isJsonContentType(String contentType) { return isContentType(contentType, "application/json"); } public static boolean isStringContentType(String contentType) { return contentType != null && (contentType.toLowerCase().startsWith("text/") || isContentType(contentType, "application/xml")); } public static boolean isBinaryContentType(String contentType) { return isContentType(contentType, "application/octet-stream"); } private static boolean isContentType(String contentType, String expected) { if (contentType == null) { return false; } if (contentType.equalsIgnoreCase(expected)) { return true; } int semiColonPos = contentType.indexOf(";"); if (semiColonPos > 0) { return contentType.substring(0, semiColonPos).equalsIgnoreCase(expected); } return false; } } ================================================ FILE: sdk/src/main/java/io/dapr/utils/DurationUtils.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.utils; import java.time.Duration; public class DurationUtils { /** * Converts time from the String format used by Dapr into a Duration. * * @param valueString A String representing time in the Dapr runtime's format (e.g. 4h15m50s60ms). * @return A Duration */ public static Duration convertDurationFromDaprFormat(String valueString) { // Convert the format returned by the Dapr runtime into Duration // An example of the format is: 4h15m50s60ms. It does not include days. if (valueString == null) { throw new IllegalArgumentException("duration string cannot be null"); } Duration parsedDuration = Duration.ZERO; int hourIndex = valueString.indexOf('h'); // Get first occurrence of "m" int minuteIndex = valueString.indexOf('m'); // Check if that is not "ms" if (minuteIndex != -1 && valueString.length() > minuteIndex + 1 && valueString.charAt(minuteIndex + 1) == 's') { // condition satisfied when "m" is part of the string "ms" minuteIndex = -1; } // Get first occurrence of "s" int secondIndex = valueString.indexOf('s'); if (secondIndex != -1 && valueString.charAt(secondIndex - 1) == 'm') { // condition satisfied when "s" is part of the string "ms" secondIndex = -1; } // Declaring it final to skip checkstyle issues final int milliIndex = valueString.indexOf("ms"); if (hourIndex != -1) { String hoursSpan = valueString.substring(0, hourIndex); int hours = Integer.parseInt(hoursSpan); int days = hours / 24; hours = hours % 24; parsedDuration = parsedDuration.plusDays(days) .plusHours(hours); } if (minuteIndex != -1) { String minutesSpan = valueString.substring(hourIndex + 1, minuteIndex); int minutes = Integer.parseInt(minutesSpan); parsedDuration = parsedDuration.plusMinutes(minutes); } if (secondIndex != -1) { String secondsSpan = valueString.substring(minuteIndex + 1, secondIndex); int seconds = Integer.parseInt(secondsSpan); parsedDuration = parsedDuration.plusSeconds(seconds); } if (milliIndex != -1) { String millisecondsSpan = valueString.substring(secondIndex + 1, milliIndex); int milliseconds = Integer.parseInt(millisecondsSpan); parsedDuration = parsedDuration.plusMillis(milliseconds); } return parsedDuration; } /** * Converts a Duration to the format used by the Dapr runtime. * * @param value Duration * @return The Duration formatted as a String in the format the Dapr runtime uses (e.g. 4h15m50s60ms) */ public static String convertDurationToDaprFormat(Duration value) { String stringValue = ""; // return empty string for anything negative, it'll only happen for reminder "periods", not dueTimes. A // negative "period" means fire once only. if (value == Duration.ZERO || (value.compareTo(Duration.ZERO) > 0)) { long hours = getDaysPart(value) * 24 + getHoursPart(value); StringBuilder sb = new StringBuilder(); sb.append(hours); sb.append("h"); sb.append(getMinutesPart((value))); sb.append("m"); sb.append(getSecondsPart((value))); sb.append("s"); sb.append(getMilliSecondsPart((value))); sb.append("ms"); return sb.toString(); } return stringValue; } /** * Helper to get the "days" part of the Duration. For example if the duration is 26 hours, this returns 1. * * @param d Duration * @return Number of days. */ static long getDaysPart(Duration d) { long t = d.getSeconds() / 60 / 60 / 24; return t; } /** * Helper to get the "hours" part of the Duration. * For example if the duration is 26 hours, this is 1 day, 2 hours, so this returns 2. * * @param d The duration to parse * @return the hour part of the duration */ static long getHoursPart(Duration d) { long u = (d.getSeconds() / 60 / 60) % 24; return u; } /** * Helper to get the "minutes" part of the Duration. * * @param d The duration to parse * @return the minutes part of the duration */ static long getMinutesPart(Duration d) { long u = (d.getSeconds() / 60) % 60; return u; } /** * Helper to get the "seconds" part of the Duration. * * @param d The duration to parse * @return the seconds part of the duration */ static long getSecondsPart(Duration d) { long u = d.getSeconds() % 60; return u; } /** * Helper to get the "millis" part of the Duration. * * @param d The duration to parse * @return the milliseconds part of the duration */ static long getMilliSecondsPart(Duration d) { long u = d.toMillis() % 1000; return u; } } ================================================ FILE: sdk/src/main/java/io/dapr/utils/FailurePolicyUtils.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.utils; import io.dapr.client.domain.ConstantFailurePolicy; import io.dapr.client.domain.FailurePolicy; import io.dapr.client.domain.FailurePolicyType; import io.dapr.v1.CommonProtos; public class FailurePolicyUtils { /** * Converts a FailurePolicy to a JobFailurePolicy. * * @param failurePolicy the failure policy to convert. * @return the converted JobFailurePolicy. */ public static CommonProtos.JobFailurePolicy getJobFailurePolicy(FailurePolicy failurePolicy) { CommonProtos.JobFailurePolicy.Builder jobFailurePolicyBuilder = CommonProtos.JobFailurePolicy.newBuilder(); if (failurePolicy.getFailurePolicyType() == FailurePolicyType.DROP) { jobFailurePolicyBuilder.setDrop(CommonProtos.JobFailurePolicyDrop.newBuilder().build()); return jobFailurePolicyBuilder.build(); } CommonProtos.JobFailurePolicyConstant.Builder constantPolicyBuilder = CommonProtos.JobFailurePolicyConstant.newBuilder(); ConstantFailurePolicy jobConstantFailurePolicy = (ConstantFailurePolicy) failurePolicy; if (jobConstantFailurePolicy.getMaxRetries() != null) { constantPolicyBuilder.setMaxRetries(jobConstantFailurePolicy.getMaxRetries()); } if (jobConstantFailurePolicy.getDurationBetweenRetries() != null) { constantPolicyBuilder.setInterval(com.google.protobuf.Duration.newBuilder() .setNanos(jobConstantFailurePolicy.getDurationBetweenRetries().getNano()).build()); } jobFailurePolicyBuilder.setConstant(constantPolicyBuilder.build()); return jobFailurePolicyBuilder.build(); } } ================================================ FILE: sdk/src/main/java/io/dapr/utils/NetworkUtils.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.utils; import io.dapr.config.Properties; import io.dapr.exceptions.DaprError; import io.dapr.exceptions.DaprException; import io.grpc.ChannelCredentials; import io.grpc.ClientInterceptor; import io.grpc.Grpc; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; import io.grpc.TlsChannelCredentials; import io.grpc.netty.GrpcSslContexts; import io.grpc.netty.NettyChannelBuilder; import io.netty.handler.ssl.util.InsecureTrustManagerFactory; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Socket; import java.time.Duration; import java.util.concurrent.TimeUnit; import java.util.regex.Pattern; import static io.dapr.config.Properties.GRPC_ENABLE_KEEP_ALIVE; import static io.dapr.config.Properties.GRPC_ENDPOINT; import static io.dapr.config.Properties.GRPC_KEEP_ALIVE_TIMEOUT_SECONDS; import static io.dapr.config.Properties.GRPC_KEEP_ALIVE_TIME_SECONDS; import static io.dapr.config.Properties.GRPC_KEEP_ALIVE_WITHOUT_CALLS; import static io.dapr.config.Properties.GRPC_MAX_INBOUND_MESSAGE_SIZE_BYTES; import static io.dapr.config.Properties.GRPC_MAX_INBOUND_METADATA_SIZE_BYTES; import static io.dapr.config.Properties.GRPC_PORT; import static io.dapr.config.Properties.GRPC_TLS_CA_PATH; import static io.dapr.config.Properties.GRPC_TLS_CERT_PATH; import static io.dapr.config.Properties.GRPC_TLS_INSECURE; import static io.dapr.config.Properties.GRPC_TLS_KEY_PATH; import static io.dapr.config.Properties.SIDECAR_IP; /** * Utility methods for network, internal to Dapr SDK. */ public final class NetworkUtils { private static final long RETRY_WAIT_MILLISECONDS = 1000; // Thanks to https://ihateregex.io/expr/ipv6/ private static final String IPV6_REGEX = "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|" + "([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|" + "([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|" + "([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|" + "([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|" + ":((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|" + "::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|" + "1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|" + "(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|" + "(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))"; private static final Pattern IPV6_PATTERN = Pattern.compile(IPV6_REGEX, Pattern.CASE_INSENSITIVE); // Don't accept "?" to avoid ambiguity with ?tls=true private static final String GRPC_ENDPOINT_FILENAME_REGEX_PART = "[^\0\\?]+"; private static final String GRPC_ENDPOINT_HOSTNAME_REGEX_PART = "(([A-Za-z0-9_\\-\\.]+)|(\\[" + IPV6_REGEX + "\\]))"; private static final String GRPC_ENDPOINT_DNS_AUTHORITY_REGEX_PART = "(?dns://)" + "(?" + GRPC_ENDPOINT_HOSTNAME_REGEX_PART + ":[0-9]+)?/"; private static final String GRPC_ENDPOINT_PARAM_REGEX_PART = "(\\?(?tls\\=((true)|(false))))?"; private static final String GRPC_ENDPOINT_SOCKET_REGEX_PART = "(?((unix:)|(unix://)|(unix-abstract:))" + GRPC_ENDPOINT_FILENAME_REGEX_PART + ")"; private static final String GRPC_ENDPOINT_VSOCKET_REGEX_PART = "(?vsock:" + GRPC_ENDPOINT_HOSTNAME_REGEX_PART + ":[0-9]+)"; private static final String GRPC_ENDPOINT_HOST_REGEX_PART = "((?http://)|(?https://)|(?dns:)|(" + GRPC_ENDPOINT_DNS_AUTHORITY_REGEX_PART + "))?" + "(?" + GRPC_ENDPOINT_HOSTNAME_REGEX_PART + ")?+" + "(:(?[0-9]+))?"; private static final String GRPC_ENDPOINT_REGEX = "^(" + "(" + GRPC_ENDPOINT_HOST_REGEX_PART + ")|" + "(" + GRPC_ENDPOINT_SOCKET_REGEX_PART + ")|" + "(" + GRPC_ENDPOINT_VSOCKET_REGEX_PART + ")" + ")" + GRPC_ENDPOINT_PARAM_REGEX_PART + "$"; private static final Pattern GRPC_ENDPOINT_PATTERN = Pattern.compile(GRPC_ENDPOINT_REGEX, Pattern.CASE_INSENSITIVE); private NetworkUtils() { } /** * Tries to connect to a socket, retrying every 1 second. * * @param host Host to connect to. * @param port Port to connect to. * @param timeoutInMilliseconds Timeout in milliseconds to give up trying. * @throws InterruptedException If retry is interrupted. */ public static void waitForSocket(String host, int port, int timeoutInMilliseconds) throws InterruptedException { long started = System.currentTimeMillis(); callWithRetry(() -> { try { try (Socket socket = new Socket()) { // timeout cannot be negative. // zero timeout means infinite, so 1 is the practical minimum. int remainingTimeout = (int) Math.max(1, timeoutInMilliseconds - (System.currentTimeMillis() - started)); socket.connect(new InetSocketAddress(host, port), remainingTimeout); } } catch (IOException e) { throw new RuntimeException(e); } }, timeoutInMilliseconds); } /** * Creates a GRPC managed channel. * * @param properties instance to set up the GrpcEndpoint * @param interceptors Optional interceptors to add to the channel. * @return GRPC managed channel to communicate with the sidecar. */ public static ManagedChannel buildGrpcManagedChannel(Properties properties, ClientInterceptor... interceptors) { var settings = GrpcEndpointSettings.parse(properties); boolean insecureTls = properties.getValue(GRPC_TLS_INSECURE); if (insecureTls) { try { ManagedChannelBuilder builder = NettyChannelBuilder.forTarget(settings.endpoint) .sslContext(GrpcSslContexts.forClient() .trustManager(InsecureTrustManagerFactory.INSTANCE) .build()); builder.userAgent(Version.getSdkVersion()); if (interceptors != null && interceptors.length > 0) { builder = builder.intercept(interceptors); } if (settings.enableKeepAlive) { builder.keepAliveTime(settings.keepAliveTimeSeconds.toSeconds(), TimeUnit.SECONDS) .keepAliveTimeout(settings.keepAliveTimeoutSeconds.toSeconds(), TimeUnit.SECONDS) .keepAliveWithoutCalls(settings.keepAliveWithoutCalls); } return builder.maxInboundMessageSize(settings.maxInboundMessageSize) .maxInboundMetadataSize(settings.maxInboundMetadataSize) .build(); } catch (Exception e) { throw new DaprException( new DaprError().setErrorCode("TLS_CREDENTIALS_ERROR") .setMessage("Failed to create insecure TLS credentials"), e); } } String clientKeyPath = settings.tlsPrivateKeyPath; String clientCertPath = settings.tlsCertPath; String caCertPath = settings.tlsCaPath; ManagedChannelBuilder builder = ManagedChannelBuilder.forTarget(settings.endpoint); if (clientCertPath != null && clientKeyPath != null) { // mTLS case - using client cert and key, with optional CA cert for server // authentication try ( InputStream clientCertInputStream = new FileInputStream(clientCertPath); InputStream clientKeyInputStream = new FileInputStream(clientKeyPath); InputStream caCertInputStream = caCertPath != null ? new FileInputStream(caCertPath) : null) { TlsChannelCredentials.Builder builderCreds = TlsChannelCredentials.newBuilder() .keyManager(clientCertInputStream, clientKeyInputStream); // For client authentication if (caCertInputStream != null) { builderCreds.trustManager(caCertInputStream); // For server authentication } ChannelCredentials credentials = builderCreds.build(); builder = Grpc.newChannelBuilder(settings.endpoint, credentials); } catch (IOException e) { throw new DaprException( new DaprError().setErrorCode("TLS_CREDENTIALS_ERROR") .setMessage("Failed to create mTLS credentials" + (caCertPath != null ? " with CA cert" : "")), e); } } else if (caCertPath != null) { // Simple TLS case - using CA cert only for server authentication try (InputStream caCertInputStream = new FileInputStream(caCertPath)) { ChannelCredentials credentials = TlsChannelCredentials.newBuilder() .trustManager(caCertInputStream) .build(); builder = Grpc.newChannelBuilder(settings.endpoint, credentials); } catch (IOException e) { throw new DaprException( new DaprError().setErrorCode("TLS_CREDENTIALS_ERROR") .setMessage("Failed to create TLS credentials with CA cert"), e); } } else if (!settings.secure) { builder = builder.usePlaintext(); } builder.userAgent(Version.getSdkVersion()); if (interceptors != null && interceptors.length > 0) { builder = builder.intercept(interceptors); } if (settings.enableKeepAlive) { builder.keepAliveTime(settings.keepAliveTimeSeconds.toSeconds(), TimeUnit.SECONDS) .keepAliveTimeout(settings.keepAliveTimeoutSeconds.toSeconds(), TimeUnit.SECONDS) .keepAliveWithoutCalls(settings.keepAliveWithoutCalls); } return builder.maxInboundMessageSize(settings.maxInboundMessageSize) .maxInboundMetadataSize(settings.maxInboundMetadataSize).build(); } // Not private to allow unit testing static final class GrpcEndpointSettings { final String endpoint; final boolean secure; final String tlsPrivateKeyPath; final String tlsCertPath; final String tlsCaPath; final boolean enableKeepAlive; final Duration keepAliveTimeSeconds; final Duration keepAliveTimeoutSeconds; final boolean keepAliveWithoutCalls; final int maxInboundMessageSize; final int maxInboundMetadataSize; private GrpcEndpointSettings( String endpoint, boolean secure, String tlsPrivateKeyPath, String tlsCertPath, String tlsCaPath, boolean enableKeepAlive, Duration keepAliveTimeSeconds, Duration keepAliveTimeoutSeconds, boolean keepAliveWithoutCalls, int maxInboundMessageSize, int maxInboundMetadataSize) { this.endpoint = endpoint; this.secure = secure; this.tlsPrivateKeyPath = tlsPrivateKeyPath; this.tlsCertPath = tlsCertPath; this.tlsCaPath = tlsCaPath; this.enableKeepAlive = enableKeepAlive; this.keepAliveTimeSeconds = keepAliveTimeSeconds; this.keepAliveTimeoutSeconds = keepAliveTimeoutSeconds; this.keepAliveWithoutCalls = keepAliveWithoutCalls; this.maxInboundMessageSize = maxInboundMessageSize; this.maxInboundMetadataSize = maxInboundMetadataSize; } static GrpcEndpointSettings parse(Properties properties) { String address = properties.getValue(SIDECAR_IP); int port = properties.getValue(GRPC_PORT); String clientKeyPath = properties.getValue(GRPC_TLS_KEY_PATH); String clientCertPath = properties.getValue(GRPC_TLS_CERT_PATH); String caCertPath = properties.getValue(GRPC_TLS_CA_PATH); boolean enablekeepAlive = properties.getValue(GRPC_ENABLE_KEEP_ALIVE); Duration keepAliveTimeSeconds = properties.getValue(GRPC_KEEP_ALIVE_TIME_SECONDS); Duration keepAliveTimeoutSeconds = properties.getValue(GRPC_KEEP_ALIVE_TIMEOUT_SECONDS); boolean keepAliveWithoutCalls = properties.getValue(GRPC_KEEP_ALIVE_WITHOUT_CALLS); int maxInboundMessageSizeBytes = properties.getValue(GRPC_MAX_INBOUND_MESSAGE_SIZE_BYTES); int maxInboundMetadataSizeBytes = properties.getValue(GRPC_MAX_INBOUND_METADATA_SIZE_BYTES); boolean secure = false; String grpcEndpoint = properties.getValue(GRPC_ENDPOINT); if ((grpcEndpoint != null) && !grpcEndpoint.isEmpty()) { var matcher = GRPC_ENDPOINT_PATTERN.matcher(grpcEndpoint); if (!matcher.matches()) { throw new IllegalArgumentException("Illegal gRPC endpoint: " + grpcEndpoint); } var parsedHost = matcher.group("hostname"); if (parsedHost != null) { address = parsedHost; } var https = matcher.group("https") != null; var http = matcher.group("http") != null; secure = https; String parsedPort = matcher.group("port"); if (parsedPort != null) { port = Integer.parseInt(parsedPort); } else { // This implements default port as 80 for http for backwards compatibility. port = http ? 80 : 443; } String parsedParam = matcher.group("param"); if ((http || https) && (parsedParam != null)) { throw new IllegalArgumentException("Query params is not supported in HTTP URI for gRPC endpoint."); } if (parsedParam != null) { secure = parsedParam.equalsIgnoreCase("tls=true"); } var authorityEndpoint = matcher.group("authorityEndpoint"); if (authorityEndpoint != null) { return new GrpcEndpointSettings( String.format( "dns://%s/%s:%d", authorityEndpoint, address, port), secure, clientKeyPath, clientCertPath, caCertPath, enablekeepAlive, keepAliveTimeSeconds, keepAliveTimeoutSeconds, keepAliveWithoutCalls, maxInboundMessageSizeBytes, maxInboundMetadataSizeBytes); } var socket = matcher.group("socket"); if (socket != null) { return new GrpcEndpointSettings(socket, secure, clientKeyPath, clientCertPath, caCertPath, enablekeepAlive, keepAliveTimeSeconds, keepAliveTimeoutSeconds, keepAliveWithoutCalls, maxInboundMessageSizeBytes, maxInboundMetadataSizeBytes); } var vsocket = matcher.group("vsocket"); if (vsocket != null) { return new GrpcEndpointSettings(vsocket, secure, clientKeyPath, clientCertPath, caCertPath, enablekeepAlive, keepAliveTimeSeconds, keepAliveTimeoutSeconds, keepAliveWithoutCalls, maxInboundMessageSizeBytes, maxInboundMetadataSizeBytes); } } return new GrpcEndpointSettings(String.format( "dns:///%s:%d", address, port), secure, clientKeyPath, clientCertPath, caCertPath, enablekeepAlive, keepAliveTimeSeconds, keepAliveTimeoutSeconds, keepAliveWithoutCalls, maxInboundMessageSizeBytes, maxInboundMetadataSizeBytes); } } private static void callWithRetry(Runnable function, long retryTimeoutMilliseconds) throws InterruptedException { long started = System.currentTimeMillis(); while (true) { Throwable exception; try { function.run(); return; } catch (Exception e) { exception = e; } catch (AssertionError e) { exception = e; } long elapsed = System.currentTimeMillis() - started; if (elapsed >= retryTimeoutMilliseconds) { if (exception instanceof RuntimeException) { throw (RuntimeException) exception; } throw new RuntimeException(exception); } long remaining = retryTimeoutMilliseconds - elapsed; Thread.sleep(Math.min(remaining, RETRY_WAIT_MILLISECONDS)); } } /** * Retrieve loopback address for the host. * * @return The loopback address String */ public static String getHostLoopbackAddress() { return InetAddress.getLoopbackAddress().getHostAddress(); } static boolean isIPv6(String ip) { return IPV6_PATTERN.matcher(ip).matches(); } } ================================================ FILE: sdk/src/main/java/io/dapr/utils/ProtobufUtils.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.utils; import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.Struct; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ProtobufUtils { private static final Logger log = LoggerFactory.getLogger(ProtobufUtils.class); /** * Converts a JSON string to a protobuf Struct. * * @param json JSON string. * @return Protobuf Struct. */ public static Struct jsonToStruct(String json) { Struct.Builder builder = Struct.newBuilder(); try { com.google.protobuf.util.JsonFormat.parser() .ignoringUnknownFields() // optional .merge(json, builder); } catch (InvalidProtocolBufferException e) { log.error("Failed to parse json to protobuf struct", e); return builder.build(); } return builder.build(); } } ================================================ FILE: sdk/src/main/java/io/dapr/utils/TypeRef.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.utils; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; /** * Used to reference a type. * *

    Usage: new TypeRef<MyClass>(){}

    * @param Type to be deserialized. */ public abstract class TypeRef { public static final TypeRef STRING = new TypeRef() {}; public static final TypeRef BOOLEAN = new TypeRef(boolean.class) {}; public static final TypeRef INT = new TypeRef(int.class) {}; public static final TypeRef LONG = new TypeRef(long.class) {}; public static final TypeRef SHORT = new TypeRef(short.class) {}; public static final TypeRef CHAR = new TypeRef(char.class) {}; public static final TypeRef BYTE = new TypeRef(byte.class) {}; public static final TypeRef VOID = new TypeRef(void.class) {}; public static final TypeRef FLOAT = new TypeRef(float.class) {}; public static final TypeRef DOUBLE = new TypeRef(double.class) {}; public static final TypeRef BYTE_ARRAY = new TypeRef() {}; public static final TypeRef INT_ARRAY = new TypeRef() {}; public static final TypeRef STRING_ARRAY = new TypeRef() {}; private final Type type; /** * Constructor. */ public TypeRef() { Type superClass = this.getClass().getGenericSuperclass(); if (superClass instanceof Class) { throw new IllegalArgumentException("TypeReference requires type."); } this.type = ((ParameterizedType)superClass).getActualTypeArguments()[0]; } /** * Constructor for reflection. * * @param type Type to be referenced. */ private TypeRef(Type type) { this.type = type; } /** * Gets the type referenced. * * @return type referenced. */ public Type getType() { return this.type; } /** * Creates a reference to a given class type. * @param clazz Class type to be referenced. * @param Type to be referenced. * @return Class type reference. */ public static TypeRef get(Class clazz) { if (clazz == String.class) { return (TypeRef) STRING; } if (clazz == boolean.class) { return (TypeRef) BOOLEAN; } if (clazz == int.class) { return (TypeRef) INT; } if (clazz == long.class) { return (TypeRef) LONG; } if (clazz == char.class) { return (TypeRef) CHAR; } if (clazz == byte.class) { return (TypeRef) BYTE; } if (clazz == void.class) { return (TypeRef) VOID; } if (clazz == float.class) { return (TypeRef) FLOAT; } if (clazz == double.class) { return (TypeRef) DOUBLE; } if (clazz == byte[].class) { return (TypeRef) BYTE_ARRAY; } if (clazz == int[].class) { return (TypeRef) INT_ARRAY; } if (clazz == String[].class) { return (TypeRef) STRING_ARRAY; } return new TypeRef(clazz) {}; } /** * Creates a reference to a given class type. * @param type Type to be referenced. * @param Type to be referenced. * @return Class type reference. */ public static TypeRef get(Type type) { if (type instanceof Class) { Class clazz = (Class) type; return get(clazz); } return new TypeRef(type) {}; } /** * Checks if the given TypeRef is of a primitive type * Similar to implementation of deserializePrimitives in the class {@link io.dapr.client.ObjectSerializer} * It considers only those types as primitives. * @param typeRef Type to be referenced. * @param Type to be referenced. * @return truth value of whether the given type ref is a primitive reference or not. */ public static boolean isPrimitive(TypeRef typeRef) { if (typeRef == null) { return false; } if (BOOLEAN.equals(typeRef) || CHAR.equals(typeRef) || INT.equals(typeRef) || FLOAT.equals(typeRef) || LONG.equals(typeRef) || DOUBLE.equals(typeRef) || SHORT.equals(typeRef) || BYTE.equals(typeRef)) { return true; } return false; } } ================================================ FILE: sdk/src/main/java/io/dapr/utils/Version.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.utils; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import java.util.concurrent.atomic.AtomicReference; public final class Version { private static volatile AtomicReference sdkVersion = new AtomicReference<>(); /** * Retrieves sdk version from resources. * * @return String version of sdk. */ public static String getSdkVersion() { var version = sdkVersion.get(); if ((version != null) && !version.isBlank()) { return version; } try (InputStream input = Version.class.getResourceAsStream("/sdk_version.properties")) { Properties properties = new Properties(); properties.load(input); var v = properties.getProperty("sdk_version", null); if (v == null) { throw new IllegalStateException("Did not find sdk_version property!"); } if (v.isBlank()) { throw new IllegalStateException("Property sdk_version cannot be blank."); } version = "dapr-sdk-java/v" + v; sdkVersion.set(version); } catch (IOException e) { throw new IllegalStateException("Could not load sdk_version property!", e); } return version; } } ================================================ FILE: sdk/src/main/resources/sdk_version.properties ================================================ sdk_version=${project.version} ================================================ FILE: sdk/src/test/java/io/dapr/client/CloudEventCustom.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.client.domain.CloudEvent; import java.util.Objects; public class CloudEventCustom extends CloudEvent { private String newValue; private int newInt; private double newDouble; public String getNewValue() { return newValue; } public void setNewValue(String newValue) { this.newValue = newValue; } public int getNewInt() { return newInt; } public void setNewInt(int newInt) { this.newInt = newInt; } public double getNewDouble() { return newDouble; } public void setNewDouble(double newDouble) { this.newDouble = newDouble; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; if (!super.equals(o)) return false; CloudEventCustom that = (CloudEventCustom) o; return newInt == that.newInt && Double.compare(that.newDouble, newDouble) == 0 && Objects.equals(newValue, that.newValue); } @Override public int hashCode() { return Objects.hash(super.hashCode(), newValue, newInt, newDouble); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/CloudEventCustomTest.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; public class CloudEventCustomTest { private DaprObjectSerializer serializer = new DefaultObjectSerializer(); public static class MyClass { public int id; public String name; } @Test public void deserializeNewAttributes() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"newValue\" : \"hello world again\",\n" + " \"newDouble\" : 432434324.43,\n" + " \"newInt\" : 435,\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"application/json\"\n" + "}"; CloudEventCustom cloudEventCustom = serializer.deserialize(content.getBytes(), TypeRef.get(CloudEventCustom.class)); assertEquals("application/json", cloudEventCustom.getDatacontenttype()); assertEquals("hello world again", cloudEventCustom.getNewValue()); assertEquals(432434324.43, cloudEventCustom.getNewDouble(),0); assertEquals(435, cloudEventCustom.getNewInt()); } @Test public void deserializeObjectClass() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"newValue\" : \"hello world again\",\n" + " \"newDouble\" : 432434324.43,\n" + " \"newInt\" : 435,\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"application/json\",\n" + " \"data\" : {\"id\": 1, \"name\": \"hello world\"}\n" + "}"; CloudEventCustom cloudEventCustom = serializer.deserialize( content.getBytes(), new TypeRef>() {}); assertEquals("application/json", cloudEventCustom.getDatacontenttype()); assertEquals(1, cloudEventCustom.getData().id); assertEquals("hello world", cloudEventCustom.getData().name); assertEquals("hello world again", cloudEventCustom.getNewValue()); assertEquals(432434324.43, cloudEventCustom.getNewDouble(), 0); assertEquals(435, cloudEventCustom.getNewInt()); } @Test public void deserializeNullData() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"application/json\"\n" + "}"; CloudEventCustom cloudEventCustom = serializer.deserialize(content.getBytes(), TypeRef.get(CloudEventCustom.class)); assertEquals("application/json", cloudEventCustom.getDatacontenttype()); assertNull(cloudEventCustom.getData()); assertNull(cloudEventCustom.getNewValue()); assertEquals(0, cloudEventCustom.getNewInt()); } @Test public void deserializeInteger() throws Exception { String content = "{\n" + " \"specversion\" : 7,\n" + " \"newInt\" : 7,\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"application/json\",\n" + " \"data\" : 1\n" + "}"; CloudEventCustom cloudEventCustom = serializer.deserialize( content.getBytes(), new TypeRef>() {}); assertEquals("application/json", cloudEventCustom.getDatacontenttype()); assertEquals(1, cloudEventCustom.getData().intValue()); assertEquals(7, cloudEventCustom.getNewInt()); } @Test public void deserializeString() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"text/plain\",\n" + " \"data\" : \"hello world\"\n" + "}"; CloudEventCustom cloudEventCustom = serializer.deserialize( content.getBytes(), new TypeRef>() {}); assertEquals("text/plain", cloudEventCustom.getDatacontenttype()); assertEquals("hello world", cloudEventCustom.getData()); } @Test public void deserializeXML() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"text/xml\",\n" + " \"data\" : \"\"\n" + "}"; CloudEventCustom cloudEventCustom = serializer.deserialize( content.getBytes(), new TypeRef>() {}); assertEquals("text/xml", cloudEventCustom.getDatacontenttype()); assertEquals("", cloudEventCustom.getData()); } @Test public void deserializeBytes() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"application/json\",\n" + " \"data\" : \"AQI=\"\n" + "}"; byte[] expected = new byte[]{ 0x1, 0x2 }; CloudEventCustom cloudEventCustom = serializer.deserialize( content.getBytes(), new TypeRef>() {}); assertEquals("application/json", cloudEventCustom.getDatacontenttype()); assertArrayEquals(expected, cloudEventCustom.getData()); } @Test public void deserializeBinaryData() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"application/octet-stream\",\n" + " \"data_base64\" : \"AQI=\"\n" + "}"; byte[] expected = new byte[]{ 0x1, 0x2 }; CloudEventCustom cloudEventCustom = serializer.deserialize( content.getBytes(), new TypeRef>() {}); assertEquals("application/octet-stream", cloudEventCustom.getDatacontenttype()); assertNull(cloudEventCustom.getData()); assertArrayEquals(expected, cloudEventCustom.getBinaryData()); } @Test public void serializeAndDeserialize() throws Exception { CloudEventCustom cloudEventCustom = new CloudEventCustom(); cloudEventCustom.setId("idVal"); cloudEventCustom.setSource("sourceVal"); cloudEventCustom.setType("typeVal"); cloudEventCustom.setSpecversion("specVal"); cloudEventCustom.setDatacontenttype("contentVal"); cloudEventCustom.setNewValue("specVal"); cloudEventCustom.setNewInt(5); cloudEventCustom.setNewDouble(323.32323); cloudEventCustom.setData(new MyClass() {{ this.id = 1; this.name = "hello world"; }}); byte[] byte_array = serializer.serialize(cloudEventCustom); CloudEventCustom cloudEventUnserial = serializer.deserialize(byte_array, new TypeRef>() {}); assertEquals(cloudEventCustom.getDatacontenttype(), cloudEventUnserial.getDatacontenttype()); assertEquals(cloudEventCustom.getData().id, cloudEventUnserial.getData().id); assertEquals(cloudEventCustom.getData().name, cloudEventUnserial.getData().name); assertEquals(cloudEventCustom.getId(), cloudEventUnserial.getId()); assertEquals(cloudEventCustom.getSource(), cloudEventUnserial.getSource()); assertEquals(cloudEventCustom.getType(), cloudEventUnserial.getType()); assertEquals(cloudEventCustom.getSpecversion(), cloudEventUnserial.getSpecversion()); assertEquals(cloudEventCustom.getNewValue(), cloudEventUnserial.getNewValue()); assertEquals(cloudEventCustom.getNewInt(), cloudEventUnserial.getNewInt()); assertEquals(cloudEventCustom.getNewDouble(), cloudEventUnserial.getNewDouble(), 0.00001); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/CloudEventTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.domain.CloudEvent; import org.junit.jupiter.api.Test; import java.time.OffsetDateTime; import java.util.Objects; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertNull; public class CloudEventTest { private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); public static class MyClass { public int id; public String name; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; MyClass myClass = (MyClass) o; if (id != myClass.id) return false; return Objects.equals(name, myClass.name); } @Override public int hashCode() { int result = id; result = 31 * result + (name != null ? name.hashCode() : 0); return result; } } @Test public void deserializeObjectClass() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"application/json\",\n" + " \"data\" : {\"id\": 1, \"name\": \"hello world\"},\n" + " \"pubsubname\" : \"mypubsubname\",\n" + " \"topic\" : \"mytopic\",\n" + " \"traceid\" : \"Z987-0987-0987\",\n" + " \"traceparent\" : \"Z987-0987-0987\",\n" + " \"tracestate\" : \"\"\n" + "}"; MyClass expected = new MyClass() {{ this.id = 1; this.name = "hello world"; }}; CloudEvent cloudEvent = CloudEvent.deserialize(content.getBytes()); assertEquals("1.0", cloudEvent.getSpecversion()); assertEquals("com.github.pull_request.opened", cloudEvent.getType()); assertEquals("https://github.com/cloudevents/spec/pull", cloudEvent.getSource()); assertEquals("A234-1234-1234", cloudEvent.getId()); assertEquals(OffsetDateTime.parse("2018-04-05T17:31:00Z"), cloudEvent.getTime()); assertEquals("application/json", cloudEvent.getDatacontenttype()); assertEquals("mypubsubname", cloudEvent.getPubsubName()); assertEquals("mytopic", cloudEvent.getTopic()); assertEquals("Z987-0987-0987", cloudEvent.getTraceId()); assertEquals("Z987-0987-0987", cloudEvent.getTraceParent()); assertEquals("", cloudEvent.getTraceState()); MyClass myObject = OBJECT_MAPPER.convertValue(cloudEvent.getData(), MyClass.class); assertEquals(expected.id, myObject.id); assertEquals(expected.name, myObject.name); } @Test public void deserializeNullData() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"application/json\"\n" + "}"; CloudEvent cloudEvent = CloudEvent.deserialize(content.getBytes()); assertEquals("application/json", cloudEvent.getDatacontenttype()); assertNull(cloudEvent.getData()); } @Test public void deserializeInteger() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"application/json\",\n" + " \"data\" : 1\n" + "}"; CloudEvent cloudEvent = CloudEvent.deserialize(content.getBytes()); assertEquals("application/json", cloudEvent.getDatacontenttype()); assertEquals(1, cloudEvent.getData()); } @Test public void deserializeString() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"text/plain\",\n" + " \"data\" : \"hello world\"\n" + "}"; CloudEvent cloudEvent = CloudEvent.deserialize(content.getBytes()); assertEquals("text/plain", cloudEvent.getDatacontenttype()); assertEquals("hello world", cloudEvent.getData()); } @Test public void deserializeXML() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"text/xml\",\n" + " \"data\" : \"\"\n" + "}"; CloudEvent cloudEvent = CloudEvent.deserialize(content.getBytes()); assertEquals("text/xml", cloudEvent.getDatacontenttype()); assertEquals("", cloudEvent.getData()); } @Test public void deserializeBytes() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"application/json\",\n" + " \"data\" : \"AQI=\"\n" + "}"; byte[] expected = new byte[]{ 0x1, 0x2 }; CloudEvent cloudEvent = CloudEvent.deserialize(content.getBytes()); assertEquals("application/json", cloudEvent.getDatacontenttype()); assertEquals("AQI=", cloudEvent.getData()); assertArrayEquals(expected, OBJECT_MAPPER.convertValue(cloudEvent.getData(), byte[].class)); } @Test public void deserializeBinaryData() throws Exception { String content = "{\n" + " \"specversion\" : \"1.0\",\n" + " \"type\" : \"com.github.pull_request.opened\",\n" + " \"source\" : \"https://github.com/cloudevents/spec/pull\",\n" + " \"subject\" : \"123\",\n" + " \"id\" : \"A234-1234-1234\",\n" + " \"time\" : \"2018-04-05T17:31:00Z\",\n" + " \"comexampleextension1\" : \"value\",\n" + " \"comexampleothervalue\" : 5,\n" + " \"datacontenttype\" : \"application/octet-stream\",\n" + " \"data_base64\" : \"AQI=\"\n" + "}"; byte[] expected = new byte[]{ 0x1, 0x2 }; CloudEvent cloudEvent = CloudEvent.deserialize(content.getBytes()); assertEquals("application/octet-stream", cloudEvent.getDatacontenttype()); assertNull(cloudEvent.getData()); assertArrayEquals(expected, cloudEvent.getBinaryData()); } @Test public void serializeObjectClass() throws Exception { CloudEvent cloudEvent = new CloudEvent<>(); MyClass myClass = new MyClass(); myClass.id = 1; myClass.name = "Hello World"; cloudEvent.setData(myClass); OffsetDateTime now = OffsetDateTime.now(); cloudEvent.setTime(now); String cloudEventAsString = OBJECT_MAPPER.writeValueAsString(cloudEvent); CloudEvent cloudEventDeserialized = OBJECT_MAPPER.readValue(cloudEventAsString, new TypeReference>() {}); assertEquals(cloudEvent, cloudEventDeserialized); assertEquals(now, cloudEventDeserialized.getTime()); MyClass myClassDeserialized = cloudEventDeserialized.getData(); assertEquals(myClass.id, myClassDeserialized.id); assertEquals(myClass.name, myClassDeserialized.name); } @Test public void equalsCodecovTest() { CloudEvent cloudEvent = new CloudEvent<>(); assertFalse(cloudEvent.equals(null)); assertFalse(cloudEvent.equals("")); CloudEvent cloudEventCopy = cloudEvent; assertEquals(cloudEvent, cloudEventCopy); CloudEvent cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setId("id"); assertNotEquals(cloudEventCopy, cloudEventDifferent); cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setSource("source"); assertNotEquals(cloudEventCopy, cloudEventDifferent); cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setType("type"); assertNotEquals(cloudEventCopy, cloudEventDifferent); cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setSpecversion("specversion"); assertNotEquals(cloudEventCopy, cloudEventDifferent); cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setDatacontenttype("datacontenttype"); assertNotEquals(cloudEventCopy, cloudEventDifferent); cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setData("data"); assertNotEquals(cloudEventCopy, cloudEventDifferent); cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setBinaryData("binaryData".getBytes()); assertNotEquals(cloudEventCopy, cloudEventDifferent); cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setPubsubName("pubsubName"); assertNotEquals(cloudEventCopy, cloudEventDifferent); cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setTopic("topic"); assertNotEquals(cloudEventCopy, cloudEventDifferent); OffsetDateTime now = OffsetDateTime.now(); cloudEventDifferent = new CloudEvent<>(); // cloudEvent null time, cloudEventDifferent now time cloudEventDifferent.setTime(now); assertNotEquals(cloudEventCopy, cloudEventDifferent); // cloudEvent now time, cloudEventDifferent now time cloudEvent.setTime(now); assertEquals(cloudEventCopy, cloudEventDifferent); // cloudEvent now time, cloudEventDifferent now time + 1 nano cloudEventDifferent.setTime(now.plusNanos(1L)); assertNotEquals(cloudEventCopy, cloudEventDifferent); // reset cloudEvent time cloudEvent.setTime(null); cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setTraceId("traceId"); assertNotEquals(cloudEventCopy, cloudEventDifferent); cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setTraceParent("traceParent"); assertNotEquals(cloudEventCopy, cloudEventDifferent); cloudEventDifferent = new CloudEvent<>(); cloudEventDifferent.setTraceState("traceState"); assertNotEquals(cloudEventCopy, cloudEventDifferent); } @Test public void hashCodeCodecovTest() { CloudEvent cloudEvent = new CloudEvent<>(); final int EXPECTED_EMPTY_HASH_CODE = -505558625; assertEquals(EXPECTED_EMPTY_HASH_CODE, cloudEvent.hashCode()); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/DaprClientBuilderTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.config.Properties; import io.dapr.exceptions.DaprErrorDetails; import io.dapr.exceptions.DaprException; import io.dapr.serializer.DaprObjectSerializer; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.AfterEach; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class DaprClientBuilderTest { private DaprClient client; @AfterEach public void cleanup() throws Exception { if (client != null) { client.close(); client = null; } } @Test public void build() { DaprObjectSerializer objectSerializer = mock(DaprObjectSerializer.class); when(objectSerializer.getContentType()).thenReturn("application/json"); DaprObjectSerializer stateSerializer = mock(DaprObjectSerializer.class); DaprClientBuilder daprClientBuilder = new DaprClientBuilder(); daprClientBuilder.withObjectSerializer(objectSerializer); daprClientBuilder.withStateSerializer(stateSerializer); client = daprClientBuilder.build(); assertNotNull(client); } @Test public void buildWithOverrideSidecarIP() { DaprClientBuilder daprClientBuilder = new DaprClientBuilder(); daprClientBuilder.withPropertyOverride(Properties.SIDECAR_IP, "unknownhost"); client = daprClientBuilder.build(); assertNotNull(client); DaprException thrown = assertThrows(DaprException.class, () -> { client.getMetadata().block(); }); assertTrue(thrown.toString().contains("UNAVAILABLE"), thrown.toString()); } @Test public void noObjectSerializer() { assertThrows(IllegalArgumentException.class, () -> { new DaprClientBuilder().withObjectSerializer(null);}); } @Test public void blankContentTypeInObjectSerializer() { assertThrows(IllegalArgumentException.class, () -> { new DaprClientBuilder().withObjectSerializer(mock(DaprObjectSerializer.class));}); } @Test public void noStateSerializer() { assertThrows(IllegalArgumentException.class, () -> { new DaprClientBuilder().withStateSerializer(null);}); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/DaprClientGrpcBaggageTest.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.internal.grpc.DaprClientGrpcInterceptors; import io.dapr.v1.CommonProtos; import io.dapr.v1.DaprGrpc; import io.dapr.v1.DaprInvokeProtos; import io.grpc.ManagedChannel; import io.grpc.Metadata; import io.grpc.ServerCall; import io.grpc.ServerCallHandler; import io.grpc.ServerInterceptor; import io.grpc.ServerInterceptors; import io.grpc.ServerServiceDefinition; import io.grpc.inprocess.InProcessChannelBuilder; import io.grpc.inprocess.InProcessServerBuilder; import io.grpc.stub.StreamObserver; import io.grpc.testing.GrpcCleanupRule; import org.junit.Rule; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport; import reactor.core.publisher.Mono; import reactor.core.publisher.MonoSink; import reactor.util.context.Context; import reactor.util.context.ContextView; import java.io.IOException; import java.util.concurrent.ExecutionException; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; @EnableRuleMigrationSupport public class DaprClientGrpcBaggageTest { private static final Metadata.Key BAGGAGE_KEY = Metadata.Key.of(Headers.BAGGAGE, Metadata.ASCII_STRING_MARSHALLER); @Rule public final GrpcCleanupRule grpcCleanup = new GrpcCleanupRule(); private DaprGrpc.DaprStub daprStub; @Test public void testBaggagePropagated() throws IOException { String expectedBaggage = "key1=value1,key2=value2"; AtomicReference receivedBaggage = new AtomicReference<>(); setupServer((metadata) -> { receivedBaggage.set(metadata.get(BAGGAGE_KEY)); }); Context context = Context.empty().put(Headers.BAGGAGE, expectedBaggage); Mono result = invoke() .contextWrite(it -> it.putAll(context)); result.block(); assertEquals(expectedBaggage, receivedBaggage.get()); } @Test public void testBaggageNotPropagatedWhenAbsent() throws IOException { AtomicReference receivedBaggage = new AtomicReference<>(); setupServer((metadata) -> { receivedBaggage.set(metadata.get(BAGGAGE_KEY)); }); Context context = Context.empty(); Mono result = invoke() .contextWrite(it -> it.putAll(context)); result.block(); assertNull(receivedBaggage.get()); } @Test public void testBaggageWithSingleEntry() throws IOException { String expectedBaggage = "userId=alice"; AtomicReference receivedBaggage = new AtomicReference<>(); setupServer((metadata) -> { receivedBaggage.set(metadata.get(BAGGAGE_KEY)); }); Context context = Context.empty().put(Headers.BAGGAGE, expectedBaggage); Mono result = invoke() .contextWrite(it -> it.putAll(context)); result.block(); assertEquals(expectedBaggage, receivedBaggage.get()); } @Test public void testBaggageWithTracingContext() throws IOException { String expectedBaggage = "key1=value1"; String traceparent = "00-0af7651916cd43dd8448eb211c80319c-b9c7c989f97918e1-01"; AtomicReference receivedBaggage = new AtomicReference<>(); setupServer((metadata) -> { receivedBaggage.set(metadata.get(BAGGAGE_KEY)); }); Context context = Context.empty() .put(Headers.BAGGAGE, expectedBaggage) .put("traceparent", traceparent); Mono result = invoke() .contextWrite(it -> it.putAll(context)); result.block(); assertEquals(expectedBaggage, receivedBaggage.get()); } private void setupServer(Consumer metadataAssertions) throws IOException { DaprGrpc.DaprImplBase daprImplBase = new DaprGrpc.DaprImplBase() { @Override public void invokeService(DaprInvokeProtos.InvokeServiceRequest request, StreamObserver responseObserver) { responseObserver.onNext(CommonProtos.InvokeResponse.getDefaultInstance()); responseObserver.onCompleted(); } }; ServerServiceDefinition service = ServerInterceptors.intercept(daprImplBase, new ServerInterceptor() { @Override public ServerCall.Listener interceptCall(ServerCall serverCall, Metadata metadata, ServerCallHandler serverCallHandler) { metadataAssertions.accept(metadata); return serverCallHandler.startCall(serverCall, metadata); } }); String serverName = InProcessServerBuilder.generateName(); grpcCleanup.register(InProcessServerBuilder.forName(serverName).directExecutor() .addService(service) .build().start()); ManagedChannel channel = grpcCleanup.register( InProcessChannelBuilder.forName(serverName).directExecutor().build()); daprStub = DaprGrpc.newStub(channel); } private Mono invoke() { DaprInvokeProtos.InvokeServiceRequest req = DaprInvokeProtos.InvokeServiceRequest.newBuilder().build(); return Mono.deferContextual( context -> this.createMono( it -> new DaprClientGrpcInterceptors().intercept(daprStub, context).invokeService(req, it) ) ).then(); } private Mono createMono(Consumer> consumer) { return Mono.create(sink -> consumer.accept(createStreamObserver(sink))); } private StreamObserver createStreamObserver(MonoSink sink) { return new StreamObserver() { @Override public void onNext(T value) { sink.success(value); } @Override public void onError(Throwable t) { sink.error(new ExecutionException(t)); } @Override public void onCompleted() { sink.success(); } }; } } ================================================ FILE: sdk/src/test/java/io/dapr/client/DaprClientGrpcTelemetryTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.client.domain.HttpExtension; import io.dapr.client.domain.InvokeMethodRequest; import io.dapr.internal.grpc.DaprClientGrpcInterceptors; import io.dapr.v1.CommonProtos; import io.dapr.v1.DaprGrpc; import io.dapr.v1.DaprInvokeProtos; import io.grpc.ManagedChannel; import io.grpc.Metadata; import io.grpc.ServerCall; import io.grpc.ServerCallHandler; import io.grpc.ServerInterceptor; import io.grpc.ServerInterceptors; import io.grpc.ServerServiceDefinition; import io.grpc.inprocess.InProcessChannelBuilder; import io.grpc.inprocess.InProcessServerBuilder; import io.grpc.stub.StreamObserver; import io.grpc.testing.GrpcCleanupRule; import org.junit.Rule; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import reactor.core.publisher.Mono; import reactor.core.publisher.MonoSink; import reactor.util.context.Context; import reactor.util.context.ContextView; import java.io.IOException; import java.util.concurrent.ExecutionException; import java.util.function.Consumer; import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; @EnableRuleMigrationSupport public class DaprClientGrpcTelemetryTest { private static final Metadata.Key GRPC_TRACE_BIN_KEY = Metadata.Key.of(Headers.GRPC_TRACE_BIN, Metadata.BINARY_BYTE_MARSHALLER); private static final Metadata.Key TRACEPARENT_KEY = Metadata.Key.of("traceparent", Metadata.ASCII_STRING_MARSHALLER); private static final Metadata.Key TRACESTATE_KEY = Metadata.Key.of("tracestate", Metadata.ASCII_STRING_MARSHALLER); /** * This rule manages automatic graceful shutdown for the registered servers and channels at the * end of test. */ @Rule public final GrpcCleanupRule grpcCleanup = new GrpcCleanupRule(); private DaprGrpc.DaprStub daprStub; private DaprClient client; @AfterEach public void teardown() throws Exception { if (client != null) { client.close(); } } public static Stream data() { return Stream.of( Arguments.of( "00-0af7651916cd43dd8448eb211c80319c-b9c7c989f97918e1-01", "congo=ucfJifl5GOE,rojo=00f067aa0ba902b7", true ), Arguments.of( null, null, false ), Arguments.of( null, "congo=ucfJifl5GOE,rojo=00f067aa0ba902b7", false ), Arguments.of( "00-0af7651916cd43dd8448eb211c80319c-b9c7c989f97918e1-01", null, true ), Arguments.of( "BAD FORMAT", null, false ), Arguments.of( "00-0af7651916cd43dd8448eb211c80319c-b9c7c989f97918e1-01", "INVALID", false ) ); } public void setup(String traceparent, String tracestate, boolean expectGrpcTraceBin) throws IOException { DaprGrpc.DaprImplBase daprImplBase = new DaprGrpc.DaprImplBase() { public void invokeService(DaprInvokeProtos.InvokeServiceRequest request, io.grpc.stub.StreamObserver responseObserver) { responseObserver.onNext(CommonProtos.InvokeResponse.getDefaultInstance()); responseObserver.onCompleted(); } }; ServerServiceDefinition service = ServerInterceptors.intercept(daprImplBase, new ServerInterceptor() { @Override public ServerCall.Listener interceptCall(ServerCall serverCall, Metadata metadata, ServerCallHandler serverCallHandler) { assertEquals(traceparent, metadata.get(TRACEPARENT_KEY)); assertEquals(tracestate, metadata.get(TRACESTATE_KEY)); assertEquals((metadata.get(GRPC_TRACE_BIN_KEY) != null), expectGrpcTraceBin); return serverCallHandler.startCall(serverCall, metadata); } }); // Generate a unique in-process server name. String serverName = InProcessServerBuilder.generateName(); // Create a server, add service, start, and register for automatic graceful shutdown. grpcCleanup.register(InProcessServerBuilder.forName(serverName).directExecutor() .addService(service) .build().start()); // Create a client channel and register for automatic graceful shutdown. ManagedChannel channel = InProcessChannelBuilder.forName(serverName).directExecutor().build(); daprStub = DaprGrpc.newStub(channel); } public void setup() throws IOException { DaprGrpc.DaprImplBase daprImplBase = new DaprGrpc.DaprImplBase() { public void invokeService(DaprInvokeProtos.InvokeServiceRequest request, io.grpc.stub.StreamObserver responseObserver) { responseObserver.onNext(CommonProtos.InvokeResponse.getDefaultInstance()); responseObserver.onCompleted(); } }; ServerServiceDefinition service = ServerInterceptors.intercept(daprImplBase, new ServerInterceptor() { @Override public ServerCall.Listener interceptCall(ServerCall serverCall, Metadata metadata, ServerCallHandler serverCallHandler) { assertNull(metadata.get(TRACEPARENT_KEY)); assertNull(metadata.get(TRACESTATE_KEY)); assertNull(metadata.get(GRPC_TRACE_BIN_KEY)); return serverCallHandler.startCall(serverCall, metadata); } }); // Generate a unique in-process server name. String serverName = InProcessServerBuilder.generateName(); // Create a server, add service, start, and register for automatic graceful shutdown. grpcCleanup.register(InProcessServerBuilder.forName(serverName).directExecutor() .addService(service) .build().start()); // Create a client channel and register for automatic graceful shutdown. ManagedChannel channel = InProcessChannelBuilder.forName(serverName).directExecutor().build(); this.daprStub = DaprGrpc.newStub(channel); } @AfterEach public void tearDown() throws Exception { if (client != null) { client.close(); } } @ParameterizedTest @MethodSource("data") public void invokeServiceVoidWithTracingTest(String traceparent, String tracestate, boolean expectGrpcTraceBin) throws IOException { // setup server setup(traceparent, tracestate, expectGrpcTraceBin); Context context = Context.empty(); if (traceparent != null) { context = context.put("traceparent", traceparent); } if (tracestate != null) { context = context.put("tracestate", tracestate); } final Context contextCopy = context; Mono result = this.invoke() .contextWrite(it -> it.putAll(contextCopy)); result.block(); } @Test public void invokeServiceVoidWithTracingTestAndEmptyContext() throws IOException { // setup server setup(); Context context = null; final Context contextCopy = context; InvokeMethodRequest req = new InvokeMethodRequest("appId", "method") .setBody("request") .setHttpExtension(HttpExtension.NONE); Mono result = this.invoke() .contextWrite(it -> it.putAll(contextCopy == null ? (ContextView) Context.empty() : contextCopy)); result.block(); } private Mono invoke() { DaprInvokeProtos.InvokeServiceRequest req = DaprInvokeProtos.InvokeServiceRequest.newBuilder() .build(); return Mono.deferContextual( context -> this.createMono( it -> new DaprClientGrpcInterceptors().intercept(daprStub, context).invokeService(req, it) ) ).then(); } private Mono createMono(Consumer> consumer) { return Mono.create(sink -> consumer.accept(createStreamObserver(sink))); } private StreamObserver createStreamObserver(MonoSink sink) { return new StreamObserver() { @Override public void onNext(T value) { sink.success(value); } @Override public void onError(Throwable t) { sink.error(new ExecutionException(t)); } @Override public void onCompleted() { sink.success(); } }; } } ================================================ FILE: sdk/src/test/java/io/dapr/client/DaprClientGrpcTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import com.google.protobuf.Any; import com.google.protobuf.ByteString; import com.google.protobuf.Empty; import io.dapr.client.domain.AppConnectionPropertiesHealthMetadata; import io.dapr.client.domain.AppConnectionPropertiesMetadata; import io.dapr.client.domain.ComponentMetadata; import io.dapr.client.domain.ConfigurationItem; import io.dapr.client.domain.ConstantFailurePolicy; import io.dapr.client.domain.DaprMetadata; import io.dapr.client.domain.DeleteJobRequest; import io.dapr.client.domain.DeleteStateRequest; import io.dapr.client.domain.DropFailurePolicy; import io.dapr.client.domain.ExecuteStateTransactionRequest; import io.dapr.client.domain.GetBulkStateRequest; import io.dapr.client.domain.GetJobRequest; import io.dapr.client.domain.GetJobResponse; import io.dapr.client.domain.GetStateRequest; import io.dapr.client.domain.InvokeBindingRequest; import io.dapr.client.domain.JobSchedule; import io.dapr.client.domain.PublishEventRequest; import io.dapr.client.domain.RuleMetadata; import io.dapr.client.domain.ScheduleJobRequest; import io.dapr.client.domain.State; import io.dapr.client.domain.StateOptions; import io.dapr.client.domain.SubscribeConfigurationResponse; import io.dapr.client.domain.SubscriptionMetadata; import io.dapr.client.domain.TransactionalStateOperation; import io.dapr.client.domain.UnsubscribeConfigurationRequest; import io.dapr.client.domain.UnsubscribeConfigurationResponse; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.TypeRef; import io.dapr.v1.CommonProtos; import io.dapr.v1.DaprBindingsProtos; import io.dapr.v1.DaprConfigurationProtos; import io.dapr.v1.DaprGrpc; import io.dapr.v1.DaprJobsProtos; import io.dapr.v1.DaprMetadataProtos; import io.dapr.v1.DaprProtos; import io.dapr.v1.DaprPubsubProtos; import io.dapr.v1.DaprSecretProtos; import io.dapr.v1.DaprStateProtos; import io.grpc.Status; import io.grpc.StatusRuntimeException; import io.grpc.protobuf.StatusProto; import io.grpc.stub.StreamObserver; import org.junit.Assert; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatcher; import org.mockito.ArgumentMatchers; import org.mockito.Mockito; import org.mockito.stubbing.Answer; import reactor.core.publisher.Mono; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.time.Duration; import java.time.Instant; import java.time.OffsetDateTime; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.concurrent.ExecutionException; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import static io.dapr.utils.TestUtils.assertThrowsDaprException; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.argThat; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class DaprClientGrpcTest { private static final String STATE_STORE_NAME = "MyStateStore"; private static final String CONFIG_STORE_NAME = "MyConfigStore"; private static final String SECRET_STORE_NAME = "MySecretStore"; private GrpcChannelFacade channel; private DaprGrpc.DaprStub daprStub; private DaprHttp daprHttp; private DaprClient client; private ObjectSerializer serializer; @BeforeEach public void setup() throws IOException { channel = mock(GrpcChannelFacade.class); daprStub = mock(DaprGrpc.DaprStub.class); daprHttp = mock(DaprHttp.class); when(daprStub.withInterceptors(any())).thenReturn(daprStub); client = new DaprClientImpl( channel, daprStub, daprHttp, new DefaultObjectSerializer(), new DefaultObjectSerializer()); serializer = new ObjectSerializer(); doNothing().when(channel).close(); } @AfterEach public void tearDown() throws Exception { client.close(); verify(channel).close(); } public static StatusRuntimeException newStatusRuntimeException(String statusCode, String message) { return new StatusRuntimeException(Status.fromCode(Status.Code.valueOf(statusCode)).withDescription(message)); } public static StatusRuntimeException newStatusRuntimeException(String statusCode, String message, com.google.rpc.Status statusDetails) { com.google.rpc.Status status = com.google.rpc.Status.newBuilder() .setCode(Status.Code.valueOf(statusCode).value()) .setMessage(message) .addAllDetails(statusDetails.getDetailsList()) .build(); return StatusProto.toStatusRuntimeException(status); } @Test public void publishEventExceptionThrownTest() { doAnswer((Answer) invocation -> { throw newStatusRuntimeException("INVALID_ARGUMENT", "bad bad argument"); }).when(daprStub).publishEvent(any(DaprPubsubProtos.PublishEventRequest.class), any()); assertThrowsDaprException( StatusRuntimeException.class, "INVALID_ARGUMENT", "INVALID_ARGUMENT: bad bad argument", () -> client.publishEvent("pubsubname","topic", "object").block()); } @Test public void publishEventCallbackExceptionThrownTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onError(newStatusRuntimeException("INVALID_ARGUMENT", "bad bad argument")); return null; }).when(daprStub).publishEvent(any(DaprPubsubProtos.PublishEventRequest.class), any()); Mono result = client.publishEvent("pubsubname","topic", "object"); assertThrowsDaprException( ExecutionException.class, "INVALID_ARGUMENT", "INVALID_ARGUMENT: bad bad argument", () -> result.block()); } @Test public void publishEventSerializeException() throws IOException { DaprObjectSerializer mockSerializer = mock(DaprObjectSerializer.class); client = new DaprClientImpl(channel, daprStub, daprHttp, mockSerializer, new DefaultObjectSerializer()); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).publishEvent(any(DaprPubsubProtos.PublishEventRequest.class), any()); when(mockSerializer.serialize(any())).thenThrow(IOException.class); Mono result = client.publishEvent("pubsubname","topic", "{invalid-json"); assertThrowsDaprException( IOException.class, "UNKNOWN", "UNKNOWN: ", () -> result.block()); } @Test public void publishEventObjectTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).publishEvent(ArgumentMatchers.argThat(publishEventRequest -> { if (!"application/json".equals(publishEventRequest.getDataContentType())) { return false; } if (!"{\"id\":1,\"value\":\"Event\"}".equals(new String(publishEventRequest.getData().toByteArray())) && !"{\"value\":\"Event\",\"id\":1}".equals(new String(publishEventRequest.getData().toByteArray()))) { return false; } return true; }), any()); MyObject event = new MyObject(1, "Event"); Mono result = client.publishEvent("pubsubname", "topic", event); result.block(); } @Test public void publishEventContentTypeOverrideTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).publishEvent(ArgumentMatchers.argThat(publishEventRequest -> { if (!"text/plain".equals(publishEventRequest.getDataContentType())) { return false; } if (!"\"hello\"".equals(new String(publishEventRequest.getData().toByteArray()))) { return false; } return true; }), any()); Mono result = client.publishEvent( new PublishEventRequest("pubsubname", "topic", "hello") .setContentType("text/plain")); result.block(); } @Test public void invokeBindingIllegalArgumentExceptionTest() { assertThrows(IllegalArgumentException.class, () -> { // empty binding name client.invokeBinding("", "MyOperation", "request".getBytes(), Collections.EMPTY_MAP).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null binding name client.invokeBinding(null, "MyOperation", "request".getBytes(), Collections.EMPTY_MAP).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null binding operation client.invokeBinding("BindingName", null, "request".getBytes(), Collections.EMPTY_MAP).block(); }); assertThrows(IllegalArgumentException.class, () -> { // empty binding operation client.invokeBinding("BindingName", "", "request".getBytes(), Collections.EMPTY_MAP).block(); }); } @Test public void publishEventTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).publishEvent(any(DaprPubsubProtos.PublishEventRequest.class), any()); Mono result = client.publishEvent("pubsubname", "topic", "object"); result.block(); } @Test public void publishEventNoHotMono() { AtomicBoolean called = new AtomicBoolean(false); doAnswer((Answer) invocation -> { called.set(true); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).publishEvent(any(DaprPubsubProtos.PublishEventRequest.class), any()); client.publishEvent("pubsubname", "topic", "object"); // Do not call block() on the mono above, so nothing should happen. assertFalse(called.get()); } @Test public void invokeBindingSerializeException() throws IOException { DaprObjectSerializer mockSerializer = mock(DaprObjectSerializer.class); client = new DaprClientImpl(channel, daprStub, daprHttp, mockSerializer, new DefaultObjectSerializer()); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).invokeBinding(any(DaprBindingsProtos.InvokeBindingRequest.class), any()); when(mockSerializer.serialize(any())).thenThrow(IOException.class); Mono result = client.invokeBinding("BindingName", "MyOperation", "request".getBytes(), Collections.EMPTY_MAP); assertThrowsDaprException( IOException.class, "UNKNOWN", "UNKNOWN: ", () -> result.block()); } @Test public void invokeBindingExceptionThrownTest() { doAnswer((Answer) invocation -> { throw new RuntimeException(); }).when(daprStub).invokeBinding(any(DaprBindingsProtos.InvokeBindingRequest.class), any()); Mono result = client.invokeBinding("BindingName", "MyOperation", "request"); assertThrowsDaprException( RuntimeException.class, "UNKNOWN", "UNKNOWN: ", () -> result.block()); } @Test public void invokeBindingCallbackExceptionThrownTest() { RuntimeException ex = new RuntimeException("An Exception"); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onError(ex); return null; }).when(daprStub).invokeBinding(any(DaprBindingsProtos.InvokeBindingRequest.class), any()); Mono result = client.invokeBinding("BindingName", "MyOperation", "request"); assertThrowsDaprException( ExecutionException.class, "UNKNOWN", "UNKNOWN: java.lang.RuntimeException: An Exception", () -> result.block()); } @Test public void invokeBindingTest() throws IOException { DaprBindingsProtos.InvokeBindingResponse.Builder responseBuilder = DaprBindingsProtos.InvokeBindingResponse.newBuilder().setData(serialize("OK")); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseBuilder.build()); observer.onCompleted(); return null; }).when(daprStub).invokeBinding(any(DaprBindingsProtos.InvokeBindingRequest.class), any()); Mono result = client.invokeBinding("BindingName", "MyOperation", "request"); result.block(); } @Test public void invokeBindingVoidReturnTest() throws IOException { DaprBindingsProtos.InvokeBindingResponse.Builder responseBuilder = DaprBindingsProtos.InvokeBindingResponse.newBuilder().setData(serialize("OK")); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseBuilder.build()); observer.onCompleted(); return null; }).when(daprStub).invokeBinding(any(DaprBindingsProtos.InvokeBindingRequest.class), any()); var request = new InvokeBindingRequest("BindingName", "MyOperation"); request.setData("request"); Mono result = client.invokeBinding(request, null); result.block(); } @Test public void invokeBindingByteArrayTest() { DaprBindingsProtos.InvokeBindingResponse.Builder responseBuilder = DaprBindingsProtos.InvokeBindingResponse.newBuilder().setData(ByteString.copyFrom("OK".getBytes())); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseBuilder.build()); observer.onCompleted(); return null; }).when(daprStub).invokeBinding(any(DaprBindingsProtos.InvokeBindingRequest.class), any()); Mono result = client.invokeBinding("BindingName", "MyOperation", "request".getBytes(), Collections.EMPTY_MAP); assertEquals("OK", new String(result.block(), StandardCharsets.UTF_8)); } @Test public void invokeBindingObjectTest() throws IOException { DaprBindingsProtos.InvokeBindingResponse.Builder responseBuilder = DaprBindingsProtos.InvokeBindingResponse.newBuilder().setData(serialize("OK")); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseBuilder.build()); observer.onCompleted(); return null; }).when(daprStub).invokeBinding(any(DaprBindingsProtos.InvokeBindingRequest.class), any()); MyObject event = new MyObject(1, "Event"); Mono result = client.invokeBinding("BindingName", "MyOperation", event); result.block(); } @Test public void invokeBindingResponseObjectTest() throws IOException { DaprBindingsProtos.InvokeBindingResponse.Builder responseBuilder = DaprBindingsProtos.InvokeBindingResponse.newBuilder().setData(serialize("OK")); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseBuilder.build()); observer.onCompleted(); return null; }).when(daprStub).invokeBinding(any(DaprBindingsProtos.InvokeBindingRequest.class), any()); MyObject event = new MyObject(1, "Event"); Mono result = client.invokeBinding("BindingName", "MyOperation", event, String.class); assertEquals("OK", result.block()); } @Test public void getStateIllegalArgumentExceptionTest() { State key = buildStateKey(null, "Key1", "ETag1", null); assertThrows(IllegalArgumentException.class, () -> { // empty state store name client.getState("", key, String.class).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null state store name client.getState(null, key, String.class).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null key client.getState(STATE_STORE_NAME, (String) null, String.class).block(); }); assertThrows(IllegalArgumentException.class, () -> { // empty key client.getState(STATE_STORE_NAME, "", String.class).block(); }); } @Test public void invokeBindingResponseObjectTypeRefTest() throws IOException { DaprBindingsProtos.InvokeBindingResponse.Builder responseBuilder = DaprBindingsProtos.InvokeBindingResponse.newBuilder().setData(serialize("OK")); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseBuilder.build()); observer.onCompleted(); return null; }).when(daprStub).invokeBinding(any(DaprBindingsProtos.InvokeBindingRequest.class), any()); MyObject event = new MyObject(1, "Event"); Mono result = client.invokeBinding("BindingName", "MyOperation", event, TypeRef.get(String.class)); assertEquals("OK", result.block()); } @Test public void invokeBindingObjectNoHotMono() throws IOException { AtomicBoolean called = new AtomicBoolean(false); DaprBindingsProtos.InvokeBindingResponse.Builder responseBuilder = DaprBindingsProtos.InvokeBindingResponse.newBuilder().setData(serialize("OK")); doAnswer((Answer) invocation -> { called.set(true); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseBuilder.build()); observer.onCompleted(); return null; }).when(daprStub).invokeBinding(any(DaprBindingsProtos.InvokeBindingRequest.class), any()); MyObject event = new MyObject(1, "Event"); client.invokeBinding("BindingName", "MyOperation", event); // Do not call block() on mono above, so nothing should happen. assertFalse(called.get()); } @Test public void getStateExceptionThrownTest() { doAnswer((Answer) invocation -> { throw new RuntimeException(); }).when(daprStub).getState(any(DaprStateProtos.GetStateRequest.class), any()); State key = buildStateKey(null, "Key1", "ETag1", null); Mono> result = client.getState(STATE_STORE_NAME, key, String.class); assertThrowsDaprException( RuntimeException.class, "UNKNOWN", "UNKNOWN: ", () -> result.block()); } @Test public void getStateCallbackExceptionThrownTest() { RuntimeException ex = new RuntimeException("An Exception"); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onError(ex); return null; }).when(daprStub).getState(any(DaprStateProtos.GetStateRequest.class), any()); State key = buildStateKey(null, "Key1", "ETag1", null); Mono> result = client.getState(STATE_STORE_NAME, key, String.class); assertThrowsDaprException( ExecutionException.class, "UNKNOWN", "UNKNOWN: java.lang.RuntimeException: An Exception", () -> result.block()); } @Test public void getStateStringValueNoOptionsTest() throws IOException { String etag = "ETag1"; String key = "key1"; String expectedValue = "Expected state"; State expectedState = buildStateKey(expectedValue, key, etag, new HashMap<>(), null); DaprStateProtos.GetStateResponse responseEnvelope = buildGetStateResponse(expectedValue, etag); doAnswer(invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getState(any(DaprStateProtos.GetStateRequest.class), any()); State keyRequest = buildStateKey(null, key, etag, null); Mono> result = client.getState(STATE_STORE_NAME, keyRequest, String.class); State res = result.block(); assertNotNull(res); assertEquals(expectedState, res); } @Test public void getStateStringValueNoHotMono() throws IOException { AtomicBoolean called = new AtomicBoolean(false); String etag = "ETag1"; String key = "key1"; String expectedValue = "Expected state"; DaprStateProtos.GetStateResponse responseEnvelope = buildGetStateResponse(expectedValue, etag); doAnswer((Answer) invocation -> { called.set(true); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getState(any(DaprStateProtos.GetStateRequest.class), any()); State keyRequest = buildStateKey(null, key, etag, null); client.getState(STATE_STORE_NAME, keyRequest, String.class); // block() on the mono above is not called, so nothing should happen. assertFalse(called.get()); } @Test public void getStateObjectValueWithOptionsTest() throws IOException { String etag = "ETag1"; String key = "key1"; MyObject expectedValue = new MyObject(1, "The Value"); StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); State expectedState = buildStateKey(expectedValue, key, etag, new HashMap<>(), options); DaprStateProtos.GetStateResponse responseEnvelope = DaprStateProtos.GetStateResponse.newBuilder() .setData(serialize(expectedValue)) .setEtag(etag) .build(); State keyRequest = buildStateKey(null, key, etag, new HashMap<>(), options); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getState(any(DaprStateProtos.GetStateRequest.class), any()); Mono> result = client.getState(STATE_STORE_NAME, keyRequest, MyObject.class); State res = result.block(); assertNotNull(res); assertEquals(expectedState, res); } @Test public void getStatesIllegalArgumentExceptionTest() { State key = buildStateKey(null, "Key1", "ETag1", null); assertThrows(IllegalArgumentException.class, () -> { // empty state store name client.getBulkState("", Collections.singletonList("100"), String.class).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null state store name client.getBulkState(null, Collections.singletonList("100"), String.class).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null key // null pointer exception due to keys being converted to an unmodifiable list client.getBulkState(STATE_STORE_NAME, null, String.class).block(); }); assertThrows(IllegalArgumentException.class, () -> { // empty key list client.getBulkState(STATE_STORE_NAME, Collections.emptyList(), String.class).block(); }); // negative parallelism GetBulkStateRequest req = new GetBulkStateRequest(STATE_STORE_NAME, Collections.singletonList("100")) .setMetadata(new HashMap<>()) .setParallelism(-1); assertThrows(IllegalArgumentException.class, () -> client.getBulkState(req, TypeRef.BOOLEAN).block()); } @Test public void getStateObjectValueWithMetadataTest() throws IOException { String etag = "ETag1"; String key = "key1"; MyObject expectedValue = new MyObject(1, "The Value"); StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); Map metadata = new HashMap<>(); metadata.put("key_1", "val_1"); State expectedState = buildStateKey(expectedValue, key, etag, new HashMap<>(), options); DaprStateProtos.GetStateResponse responseEnvelope = DaprStateProtos.GetStateResponse.newBuilder() .setData(serialize(expectedValue)) .setEtag(etag) .build(); GetStateRequest request = new GetStateRequest(STATE_STORE_NAME, key) .setMetadata(metadata) .setStateOptions(options); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getState(any(DaprStateProtos.GetStateRequest.class), any()); Mono> result = client.getState(request, TypeRef.get(MyObject.class)); State res = result.block(); assertNotNull(res); assertEquals(expectedState, res); } @Test public void getStateObjectValueWithOptionsNoConcurrencyTest() throws IOException { String etag = "ETag1"; String key = "key1"; MyObject expectedValue = new MyObject(1, "The Value"); StateOptions options = new StateOptions(null, StateOptions.Concurrency.FIRST_WRITE); State expectedState = buildStateKey(expectedValue, key, etag, new HashMap<>(), options); DaprStateProtos.GetStateResponse responseEnvelope = DaprStateProtos.GetStateResponse.newBuilder() .setData(serialize(expectedValue)) .setEtag(etag) .build(); State keyRequest = buildStateKey(null, key, etag, new HashMap<>(), options); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getState(any(DaprStateProtos.GetStateRequest.class), any()); Mono> result = client.getState(STATE_STORE_NAME, keyRequest, MyObject.class); assertEquals(expectedState, result.block()); } @Test public void getStatesString() throws IOException { Map metadata = new HashMap<>(); metadata.put("meta1", "value1"); metadata.put("meta2", "value2"); DaprStateProtos.GetBulkStateResponse responseEnvelope = DaprStateProtos.GetBulkStateResponse.newBuilder() .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setData(serialize("hello world")) .setKey("100") .putAllMetadata(metadata) .setEtag("1") .build()) .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setKey("200") .setError("not found") .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getBulkState(any(DaprStateProtos.GetBulkStateRequest.class), any()); List> result = client.getBulkState(STATE_STORE_NAME, Arrays.asList("100", "200"), String.class).block(); assertEquals(2, result.size()); assertEquals("100", result.stream().findFirst().get().getKey()); assertEquals("hello world", result.stream().findFirst().get().getValue()); assertEquals(metadata, result.stream().findFirst().get().getMetadata()); assertEquals("1", result.stream().findFirst().get().getEtag()); assertNull(result.stream().findFirst().get().getError()); assertEquals("200", result.stream().skip(1).findFirst().get().getKey()); assertNull(result.stream().skip(1).findFirst().get().getValue()); assertNull(result.stream().skip(1).findFirst().get().getEtag()); assertEquals("not found", result.stream().skip(1).findFirst().get().getError()); } @Test public void getStatesInteger() throws IOException { Map metadata = new HashMap<>(); metadata.put("meta1", "value1"); DaprStateProtos.GetBulkStateResponse responseEnvelope = DaprStateProtos.GetBulkStateResponse.newBuilder() .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setData(serialize(1234)) .setKey("100") .putAllMetadata(metadata) .setEtag("1") .build()) .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setKey("200") .setError("not found") .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getBulkState(any(DaprStateProtos.GetBulkStateRequest.class), any()); List> result = client.getBulkState(STATE_STORE_NAME, Arrays.asList("100", "200"), int.class).block(); assertEquals(2, result.size()); assertEquals("100", result.stream().findFirst().get().getKey()); assertEquals(1234, (int)result.stream().findFirst().get().getValue()); assertEquals(metadata, result.stream().findFirst().get().getMetadata()); assertEquals("1", result.stream().findFirst().get().getEtag()); assertNull(result.stream().findFirst().get().getError()); assertEquals("200", result.stream().skip(1).findFirst().get().getKey()); assertNull(result.stream().skip(1).findFirst().get().getValue()); assertNull(result.stream().skip(1).findFirst().get().getEtag()); assertEquals("not found", result.stream().skip(1).findFirst().get().getError()); } @Test public void getStatesBoolean() throws IOException { Map metadata = new HashMap<>(); metadata.put("meta1", "value1"); DaprStateProtos.GetBulkStateResponse responseEnvelope = DaprStateProtos.GetBulkStateResponse.newBuilder() .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setData(serialize(true)) .setKey("100") .putAllMetadata(metadata) .setEtag("1") .build()) .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setKey("200") .setError("not found") .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getBulkState(any(DaprStateProtos.GetBulkStateRequest.class), any()); List> result = client.getBulkState(STATE_STORE_NAME, Arrays.asList("100", "200"), boolean.class).block(); assertEquals(2, result.size()); assertEquals("100", result.stream().findFirst().get().getKey()); assertEquals(true, result.stream().findFirst().get().getValue()); assertEquals(metadata, result.stream().findFirst().get().getMetadata()); assertEquals("1", result.stream().findFirst().get().getEtag()); assertNull(result.stream().findFirst().get().getError()); assertEquals("200", result.stream().skip(1).findFirst().get().getKey()); assertNull(result.stream().skip(1).findFirst().get().getValue()); assertNull(result.stream().skip(1).findFirst().get().getEtag()); assertEquals("not found", result.stream().skip(1).findFirst().get().getError()); } @Test public void getStatesByteArray() throws IOException { Map metadata = new HashMap<>(); DaprStateProtos.GetBulkStateResponse responseEnvelope = DaprStateProtos.GetBulkStateResponse.newBuilder() .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setData(serialize(new byte[]{1, 2, 3})) .setKey("100") .putAllMetadata(metadata) .setEtag("1") .build()) .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setKey("200") .setError("not found") .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getBulkState(any(DaprStateProtos.GetBulkStateRequest.class), any()); List> result = client.getBulkState(STATE_STORE_NAME, Arrays.asList("100", "200"), byte[].class).block(); assertEquals(2, result.size()); assertEquals("100", result.stream().findFirst().get().getKey()); assertArrayEquals(new byte[]{1, 2, 3}, result.stream().findFirst().get().getValue()); assertEquals(0, result.stream().findFirst().get().getMetadata().size()); assertEquals("1", result.stream().findFirst().get().getEtag()); assertNull(result.stream().findFirst().get().getError()); assertEquals("200", result.stream().skip(1).findFirst().get().getKey()); assertNull(result.stream().skip(1).findFirst().get().getValue()); assertNull(result.stream().skip(1).findFirst().get().getEtag()); assertEquals("not found", result.stream().skip(1).findFirst().get().getError()); } @Test public void deleteStateIllegalArgumentExceptionTest() { State key = buildStateKey(null, "Key1", "ETag1", null); assertThrows(IllegalArgumentException.class, () -> { // empty state store name client.deleteState("", key.getKey(), "etag", null).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null state store name client.deleteState(null, key.getKey(), "etag", null).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null state store name client.deleteState(STATE_STORE_NAME, null, "etag", null).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null state store name client.deleteState(STATE_STORE_NAME, "", "etag", null).block(); }); } @Test public void getStatesObject() throws IOException { MyObject object = new MyObject(1, "Event"); DaprStateProtos.GetBulkStateResponse responseEnvelope = DaprStateProtos.GetBulkStateResponse.newBuilder() .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setData(serialize(object)) .setKey("100") .setEtag("1") .build()) .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setKey("200") .setError("not found") .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getBulkState(any(DaprStateProtos.GetBulkStateRequest.class), any()); List> result = client.getBulkState(STATE_STORE_NAME, Arrays.asList("100", "200"), MyObject.class).block(); assertEquals(2, result.size()); assertEquals("100", result.stream().findFirst().get().getKey()); assertEquals(object, result.stream().findFirst().get().getValue()); assertEquals(0, result.stream().findFirst().get().getMetadata().size()); assertEquals("1", result.stream().findFirst().get().getEtag()); assertNull(result.stream().findFirst().get().getError()); assertEquals("200", result.stream().skip(1).findFirst().get().getKey()); assertNull(result.stream().skip(1).findFirst().get().getValue()); assertNull(result.stream().skip(1).findFirst().get().getEtag()); assertEquals("not found", result.stream().skip(1).findFirst().get().getError()); } @Test public void deleteStateExceptionThrowTest() { doAnswer((Answer) invocation -> { throw new RuntimeException(); }).when(daprStub).deleteState(any(DaprStateProtos.DeleteStateRequest.class), any()); State key = buildStateKey(null, "Key1", "ETag1", null); Mono result = client.deleteState(STATE_STORE_NAME, key.getKey(), key.getEtag(), key.getOptions()); assertThrowsDaprException( RuntimeException.class, "UNKNOWN", "UNKNOWN: ", () -> result.block()); } @Test public void deleteStateCallbackExcpetionThrownTest() { RuntimeException ex = new RuntimeException("An Exception"); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onError(ex); return null; }).when(daprStub).deleteState(any(DaprStateProtos.DeleteStateRequest.class), any()); State key = buildStateKey(null, "Key1", "ETag1", null); Mono result = client.deleteState(STATE_STORE_NAME, key.getKey(), key.getEtag(), key.getOptions()); assertThrowsDaprException( ExecutionException.class, "UNKNOWN", "UNKNOWN: java.lang.RuntimeException: An Exception", () -> result.block()); } @Test public void deleteStateNoOptionsTest() { String etag = "ETag1"; String key = "key1"; doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).deleteState(any(DaprStateProtos.DeleteStateRequest.class), any()); State stateKey = buildStateKey(null, key, etag, null); Mono result = client.deleteState(STATE_STORE_NAME, stateKey.getKey(), stateKey.getEtag(), stateKey.getOptions()); result.block(); } @Test public void deleteStateTest() { String etag = "ETag1"; String key = "key1"; StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).deleteState(any(DaprStateProtos.DeleteStateRequest.class), any()); State stateKey = buildStateKey(null, key, etag, options); Mono result = client.deleteState(STATE_STORE_NAME, stateKey.getKey(), stateKey.getEtag(), stateKey.getOptions()); result.block(); } @Test public void deleteStateWithMetadata() { String etag = "ETag1"; String key = "key1"; StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); Map metadata = new HashMap<>(); metadata.put("key_1", "val_1"); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).deleteState(any(DaprStateProtos.DeleteStateRequest.class), any()); DeleteStateRequest request = new DeleteStateRequest(STATE_STORE_NAME, key); request.setEtag(etag) .setStateOptions(options) .setMetadata(metadata); Mono result = client.deleteState(request); result.block(); } @Test public void deleteStateTestNoHotMono() { AtomicBoolean called = new AtomicBoolean(false); String etag = "ETag1"; String key = "key1"; StateOptions options = buildStateOptions(null, StateOptions.Concurrency.FIRST_WRITE); doAnswer((Answer) invocation -> { called.set(true); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).deleteState(any(DaprStateProtos.DeleteStateRequest.class), any()); State stateKey = buildStateKey(null, key, etag, options); client.deleteState(STATE_STORE_NAME, stateKey.getKey(), stateKey.getEtag(), stateKey.getOptions()); // Do not call result.block(), so nothing should happen. assertFalse(called.get()); } @Test public void executeTransactionIllegalArgumentExceptionTest() { State key = buildStateKey(null, "Key1", "ETag1", null); TransactionalStateOperation upsertOperation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.UPSERT, key); assertThrows(IllegalArgumentException.class, () -> { // empty state store name client.executeStateTransaction("", Collections.singletonList(upsertOperation)).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null state store name client.executeStateTransaction(null, Collections.singletonList(upsertOperation)).block(); }); } @Test public void deleteStateNoConsistencyTest() { String etag = "ETag1"; String key = "key1"; StateOptions options = buildStateOptions(null, StateOptions.Concurrency.FIRST_WRITE); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).deleteState(any(DaprStateProtos.DeleteStateRequest.class), any()); State stateKey = buildStateKey(null, key, etag, options); Mono result = client.deleteState(STATE_STORE_NAME, stateKey.getKey(), stateKey.getEtag(), stateKey.getOptions()); result.block(); } @Test public void deleteStateNoConcurrencyTest() { String etag = "ETag1"; String key = "key1"; StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, null); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).deleteState(any(DaprStateProtos.DeleteStateRequest.class), any()); State stateKey = buildStateKey(null, key, etag, options); Mono result = client.deleteState(STATE_STORE_NAME, stateKey.getKey(), stateKey.getEtag(), stateKey.getOptions()); result.block(); } @Test public void executeTransactionSerializerExceptionTest() throws IOException { DaprObjectSerializer mockSerializer = mock(DaprObjectSerializer.class); client = new DaprClientImpl(channel, daprStub, daprHttp, mockSerializer, mockSerializer); String etag = "ETag1"; String key = "key1"; String data = "my data"; StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, null); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).executeStateTransaction(any(DaprStateProtos.ExecuteStateTransactionRequest.class), any()); when(mockSerializer.serialize(any())).thenThrow(IOException.class); State stateKey = buildStateKey(data, key, etag, options); TransactionalStateOperation upsertOperation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.UPSERT, stateKey); ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(STATE_STORE_NAME) .setOperations(Collections.singletonList(upsertOperation)); Mono result = client.executeStateTransaction(request); assertThrowsDaprException( IOException.class, "UNKNOWN", "UNKNOWN: ", () -> result.block()); } @Test public void executeTransactionWithMetadataTest() { String etag = "ETag1"; String key = "key1"; String data = "my data"; StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, null); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).executeStateTransaction(any(DaprStateProtos.ExecuteStateTransactionRequest.class), any()); State stateKey = buildStateKey(data, key, etag, options); TransactionalStateOperation upsertOperation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.UPSERT, stateKey); TransactionalStateOperation deleteOperation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.DELETE, new State<>("testKey")); Map metadata = new HashMap<>(); metadata.put("testKey", "testValue"); ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(STATE_STORE_NAME) .setOperations(Arrays.asList(upsertOperation, deleteOperation)) .setMetadata(metadata); Mono result = client.executeStateTransaction(request); result.block(); } @Test public void executeTransactionTest() { String etag = "ETag1"; String key = "key1"; String data = "my data"; StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, null); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).executeStateTransaction(any(DaprStateProtos.ExecuteStateTransactionRequest.class), any()); State stateKey = buildStateKey(data, key, etag, options); TransactionalStateOperation upsertOperation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.UPSERT, stateKey); TransactionalStateOperation deleteOperation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.DELETE, new State<>("testKey") ); Mono result = client.executeStateTransaction(STATE_STORE_NAME, Arrays.asList(upsertOperation, deleteOperation)); result.block(); } @Test public void saveStatesIllegalArgumentExceptionTest() { assertThrows(IllegalArgumentException.class, () -> { // empty state store name client.saveBulkState("", Collections.emptyList()).block(); }); assertThrows(IllegalArgumentException.class, () -> { // empty state store name client.saveBulkState(null, Collections.emptyList()).block(); }); } @Test public void executeTransactionExceptionThrownTest() { String etag = "ETag1"; String key = "key1"; String data = "my data"; StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, null); doAnswer((Answer) invocation -> { throw new RuntimeException(); }).when(daprStub).executeStateTransaction(any(DaprStateProtos.ExecuteStateTransactionRequest.class), any()); State stateKey = buildStateKey(data, key, etag, options); TransactionalStateOperation operation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.UPSERT, stateKey); Mono result = client.executeStateTransaction(STATE_STORE_NAME, Collections.singletonList(operation)); assertThrowsDaprException( RuntimeException.class, "UNKNOWN", "UNKNOWN: ", () -> result.block()); } @Test public void executeTransactionCallbackExceptionTest() { String etag = "ETag1"; String key = "key1"; String data = "my data"; StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, null); RuntimeException ex = new RuntimeException("ex"); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onError(ex); return null; }).when(daprStub).executeStateTransaction(any(DaprStateProtos.ExecuteStateTransactionRequest.class), any()); State stateKey = buildStateKey(data, key, etag, options); TransactionalStateOperation operation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.UPSERT, stateKey); Mono result = client.executeStateTransaction(STATE_STORE_NAME, Collections.singletonList(operation)); assertThrowsDaprException( ExecutionException.class, "UNKNOWN", "UNKNOWN: java.lang.RuntimeException: ex", () -> result.block()); } @Test public void saveBulkStateTestNullEtag() { List> states = new ArrayList>(); states.add(new State("null_etag_key", "null_etag_value", null, (StateOptions)null)); states.add(new State("empty_etag_key", "empty_etag_value", "", (StateOptions)null)); ArgumentCaptor argument = ArgumentCaptor.forClass(DaprStateProtos.SaveStateRequest.class); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(argument.capture(), any()); StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); Mono result = client.saveBulkState(STATE_STORE_NAME, states); result.block(); assertFalse(argument.getValue().getStates(0).hasEtag()); assertTrue(argument.getValue().getStates(1).hasEtag()); assertEquals("", argument.getValue().getStates(1).getEtag().getValue()); } @Test public void saveStateExceptionThrownTest() { String key = "key1"; String etag = "ETag1"; String value = "State value"; doAnswer((Answer) invocation -> { throw new RuntimeException(); }).when(daprStub).saveState(any(DaprStateProtos.SaveStateRequest.class), any()); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, null); assertThrowsDaprException( RuntimeException.class, "UNKNOWN", "UNKNOWN: ", () -> result.block()); } @Test public void saveStateCallbackExceptionThrownTest() { String key = "key1"; String etag = "ETag1"; String value = "State value"; RuntimeException ex = new RuntimeException("An Exception"); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onError(ex); return null; }).when(daprStub).saveState(any(DaprStateProtos.SaveStateRequest.class), any()); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, null); assertThrowsDaprException( ExecutionException.class, "UNKNOWN", "UNKNOWN: java.lang.RuntimeException: An Exception", () -> result.block()); } @Test public void saveStateNoOptionsTest() { String key = "key1"; String etag = "ETag1"; String value = "State value"; doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(any(DaprStateProtos.SaveStateRequest.class), any()); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, null); result.block(); } @Test public void saveStateWithMetaTest() { String key = "key1"; String etag = "ETag1"; String value = "State value"; Map metadata = new HashMap<>(); metadata.put("custom", "customValue"); ArgumentCaptor argument = ArgumentCaptor.forClass(DaprStateProtos.SaveStateRequest.class); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(argument.capture(), any()); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, metadata,null); result.block(); assertEquals("customValue", argument.getValue().getStates(0).getMetadata().get("custom")); } @Test public void saveStateWithMetaContentTypeTest() { String key = "key1"; String etag = "ETag1"; String value = "State value"; Map metadata = new HashMap<>(); ArgumentCaptor argument = ArgumentCaptor.forClass(DaprStateProtos.SaveStateRequest.class); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(argument.capture(), any()); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, metadata,null); result.block(); assertEquals("application/json", argument.getValue().getStates(0).getMetadata().get("contentType")); } @Test public void saveStateWithMetaEmptyTest() { String key = "key1"; String etag = "ETag1"; ArgumentCaptor argument = ArgumentCaptor.forClass(DaprStateProtos.SaveStateRequest.class); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(argument.capture(), any()); Mono result = client.saveState(STATE_STORE_NAME, key, etag, null, null,null); result.block(); assertTrue(argument.getValue().getStates(0).getMetadata().keySet().isEmpty()); } @Test public void saveStateTest() { String key = "key1"; String etag = "ETag1"; String value = "State value"; doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(any(DaprStateProtos.SaveStateRequest.class), any()); StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, options); result.block(); } @Test public void saveStateTestNullEtag() { String key = "key1"; String etag = null; String value = "State value"; ArgumentCaptor argument = ArgumentCaptor.forClass(DaprStateProtos.SaveStateRequest.class); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(argument.capture(), any()); StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, options); result.block(); assertFalse(argument.getValue().getStates(0).hasEtag()); } @Test public void saveStateTestNoHotMono() { AtomicBoolean called = new AtomicBoolean(false); String key = "key1"; String etag = "ETag1"; String value = "State value"; doAnswer((Answer) invocation -> { called.set(true); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(any(DaprStateProtos.SaveStateRequest.class), any()); StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); client.saveState(STATE_STORE_NAME, key, etag, value, options); // No call to result.block(), so nothing should happen. assertFalse(called.get()); } @Test public void saveStateNoConsistencyTest() { String key = "key1"; String etag = "ETag1"; String value = "State value"; doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(any(DaprStateProtos.SaveStateRequest.class), any()); StateOptions options = buildStateOptions(null, StateOptions.Concurrency.FIRST_WRITE); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, options); result.block(); } private State buildStateKey(T value, String key, String etag, StateOptions options) { return new State<>(key, value, etag, options); } private State buildStateKey(T value, String key, String etag, Map metadata, StateOptions options) { return new State<>(key, value, etag, metadata, options); } @Test public void saveStateNoConcurrencyTest() { String key = "key1"; String etag = "ETag1"; String value = "State value"; doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(any(DaprStateProtos.SaveStateRequest.class), any()); StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, null); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, options); result.block(); } @Test public void saveStateNoRetryPolicyTest() { String key = "key1"; String etag = "ETag1"; String value = "State value"; doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(any(DaprStateProtos.SaveStateRequest.class), any()); StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, options); result.block(); } /** * The purpose of this test is to show that it doesn't matter when the client is called, the actual coll to DAPR * will be done when the output Mono response call the Mono.block method. * Like for instance if you call getState, without blocking for the response, and then call delete for the same * state you just retrieved but block for the delete response, when later you block for the response of the getState, * you will not find the state. *

    This test will execute the following flow:

    *
      *
    1. Execute client getState for Key=key1
    2. *
    3. Block for result to the the state
    4. *
    5. Assert the Returned State is the expected to key1
    6. *
    7. Execute client getState for Key=key2
    8. *
    9. Execute client deleteState for Key=key2
    10. *
    11. Block for deleteState call.
    12. *
    13. Block for getState for Key=key2 and Assert they 2 was not found.
    14. *
    * * @throws Exception - Test will fail if any unexpected exception is being thrown. */ @Test public void getStateThenDelete() throws Exception { String etag = "ETag1"; String key1 = "key1"; String expectedValue1 = "Expected state 1"; String key2 = "key2"; String expectedValue2 = "Expected state 2"; State expectedState1 = buildStateKey(expectedValue1, key1, etag, new HashMap<>(), null); State expectedState2 = buildStateKey(expectedValue2, key2, etag, new HashMap<>(), null); Map futuresMap = new HashMap<>(); futuresMap.put(key1, buildFutureGetStateEnvelop(expectedValue1, etag)); futuresMap.put(key2, buildFutureGetStateEnvelop(expectedValue2, etag)); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(futuresMap.get(key1)); observer.onCompleted(); return null; }).when(daprStub).getState(argThat(new GetStateRequestKeyMatcher(key1)), any()); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(futuresMap.get(key2)); observer.onCompleted(); return null; }).when(daprStub).getState(argThat(new GetStateRequestKeyMatcher(key2)), any()); State keyRequest1 = buildStateKey(null, key1, etag, null); Mono> resultGet1 = client.getState(STATE_STORE_NAME, keyRequest1, String.class); assertEquals(expectedState1, resultGet1.block()); State keyRequest2 = buildStateKey(null, key2, etag, null); Mono> resultGet2 = client.getState(STATE_STORE_NAME, keyRequest2, String.class); assertEquals(expectedState2, resultGet2.block()); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).deleteState(any(io.dapr.v1.DaprStateProtos.DeleteStateRequest.class), any()); Mono resultDelete = client.deleteState(STATE_STORE_NAME, keyRequest2.getKey(), keyRequest2.getEtag(), keyRequest2.getOptions()); resultDelete.block(); } @Test public void deleteStateNullEtag() { String key = "key1"; String etag = null; ArgumentCaptor argument = ArgumentCaptor.forClass(DaprStateProtos.DeleteStateRequest.class); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).deleteState(argument.capture(), any()); StateOptions options = buildStateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); Mono result = client.deleteState(STATE_STORE_NAME, key, etag, options); result.block(); assertFalse(argument.getValue().hasEtag()); } @Test public void getStateNullEtag() throws Exception { String etag = null; String key1 = "key1"; String expectedValue1 = "Expected state 1"; State expectedState1 = buildStateKey(expectedValue1, key1, etag, new HashMap<>(), null); Map futuresMap = new HashMap<>(); DaprStateProtos.GetStateResponse envelope = DaprStateProtos.GetStateResponse.newBuilder() .setData(serialize(expectedValue1)) .build(); futuresMap.put(key1, envelope); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(futuresMap.get(key1)); observer.onCompleted(); return null; }).when(daprStub).getState(argThat(new GetStateRequestKeyMatcher(key1)), any()); State keyRequest1 = buildStateKey(null, key1, null, null); Mono> resultGet1 = client.getState(STATE_STORE_NAME, keyRequest1, String.class); assertEquals(expectedState1, resultGet1.block()); } @Test public void getBulkStateNullEtag() throws Exception { DaprStateProtos.GetBulkStateResponse responseEnvelope = DaprStateProtos.GetBulkStateResponse.newBuilder() .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setData(serialize("hello world")) .setKey("100") .build()) .addItems(DaprStateProtos.BulkStateItem.newBuilder() .setKey("200") .setEtag("") .setError("not found") .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getBulkState(any(DaprStateProtos.GetBulkStateRequest.class), any()); List> result = client.getBulkState(STATE_STORE_NAME, Arrays.asList("100", "200"), String.class).block(); assertEquals(2, result.size()); assertEquals("100", result.stream().findFirst().get().getKey()); assertEquals("hello world", result.stream().findFirst().get().getValue()); assertNull(result.stream().findFirst().get().getEtag()); assertNull(result.stream().findFirst().get().getError()); assertEquals("200", result.stream().skip(1).findFirst().get().getKey()); assertNull(result.stream().skip(1).findFirst().get().getValue()); assertNull(result.stream().skip(1).findFirst().get().getEtag()); assertEquals("not found", result.stream().skip(1).findFirst().get().getError()); } @Test public void getSecrets() { String expectedKey = "attributeKey"; String expectedValue = "Expected secret value"; DaprSecretProtos.GetSecretResponse responseEnvelope = buildGetSecretResponse(expectedKey, expectedValue); doAnswer((Answer) invocation -> { DaprSecretProtos.GetSecretRequest req = invocation.getArgument(0); assertEquals("key", req.getKey()); assertEquals(SECRET_STORE_NAME, req.getStoreName()); assertEquals(0, req.getMetadataCount()); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getSecret(any(DaprSecretProtos.GetSecretRequest.class), any()); Map result = client.getSecret(SECRET_STORE_NAME, "key").block(); assertEquals(1, result.size()); assertEquals(expectedValue, result.get(expectedKey)); } @Test public void getSecretsIllegalArgumentException() { assertThrows(IllegalArgumentException.class, () -> { // empty secret store name client.getSecret("", "key").block(); }); assertThrows(IllegalArgumentException.class, () -> { // null secret store name client.getSecret(null, "key").block(); }); assertThrows(IllegalArgumentException.class, () -> { // empty key client.getSecret(SECRET_STORE_NAME, "").block(); }); assertThrows(IllegalArgumentException.class, () -> { // null key client.getSecret(SECRET_STORE_NAME, null).block(); }); } @Test public void getSecretsEmptyResponse() { DaprSecretProtos.GetSecretResponse responseEnvelope = buildGetSecretResponse(); doAnswer((Answer) invocation -> { DaprSecretProtos.GetSecretRequest req = invocation.getArgument(0); assertEquals("key", req.getKey()); assertEquals(SECRET_STORE_NAME, req.getStoreName()); assertEquals(0, req.getMetadataCount()); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getSecret(any(DaprSecretProtos.GetSecretRequest.class), any()); Map result = client.getSecret(SECRET_STORE_NAME, "key").block(); assertTrue(result.isEmpty()); } @Test public void getSecretsException() { doAnswer((Answer) invocation -> { DaprSecretProtos.GetSecretRequest req = invocation.getArgument(0); assertEquals("key", req.getKey()); assertEquals(SECRET_STORE_NAME, req.getStoreName()); assertEquals(0, req.getMetadataCount()); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onError(new RuntimeException()); return null; }).when(daprStub).getSecret(any(DaprSecretProtos.GetSecretRequest.class), any()); assertThrowsDaprException(ExecutionException.class, () -> client.getSecret(SECRET_STORE_NAME, "key").block()); } @Test public void getSecretsWithMetadata() { String expectedKey = "attributeKey"; String expectedValue = "Expected secret value"; DaprSecretProtos.GetSecretResponse responseEnvelope = buildGetSecretResponse(expectedKey, expectedValue); doAnswer((Answer) invocation -> { DaprSecretProtos.GetSecretRequest req = invocation.getArgument(0); assertEquals("key", req.getKey()); assertEquals(SECRET_STORE_NAME, req.getStoreName()); assertEquals("metavalue", req.getMetadataMap().get("metakey")); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getSecret(any(DaprSecretProtos.GetSecretRequest.class), any()); Map result = client.getSecret( SECRET_STORE_NAME, "key", Collections.singletonMap("metakey", "metavalue")).block(); assertEquals(1, result.size()); assertEquals(expectedValue, result.get(expectedKey)); } @Test public void getConfigurationTestErrorScenario() { assertThrows(IllegalArgumentException.class, () -> { client.getConfiguration("", "key").block(); }); } @Test public void getBulkSecrets() { DaprSecretProtos.GetBulkSecretResponse responseEnvelope = buildGetBulkSecretResponse( new HashMap>() {{ put("one", Collections.singletonMap("mysecretkey", "mysecretvalue")); put("two", new HashMap() {{ put("a", "1"); put("b", "2"); }}); }}); doAnswer((Answer) invocation -> { DaprSecretProtos.GetBulkSecretRequest req = invocation.getArgument(0); assertEquals(SECRET_STORE_NAME, req.getStoreName()); assertEquals(0, req.getMetadataCount()); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getBulkSecret(any(DaprSecretProtos.GetBulkSecretRequest.class), any()); Map> secrets = client.getBulkSecret(SECRET_STORE_NAME).block(); assertEquals(2, secrets.size()); assertEquals(1, secrets.get("one").size()); assertEquals("mysecretvalue", secrets.get("one").get("mysecretkey")); assertEquals(2, secrets.get("two").size()); assertEquals("1", secrets.get("two").get("a")); assertEquals("2", secrets.get("two").get("b")); } @Test public void getBulkSecretsWithMetadata() { DaprSecretProtos.GetBulkSecretResponse responseEnvelope = buildGetBulkSecretResponse( new HashMap>() {{ put("one", Collections.singletonMap("mysecretkey", "mysecretvalue")); put("two", new HashMap() {{ put("a", "1"); put("b", "2"); }}); }}); doAnswer((Answer) invocation -> { DaprSecretProtos.GetBulkSecretRequest req = invocation.getArgument(0); assertEquals(SECRET_STORE_NAME, req.getStoreName()); assertEquals(1, req.getMetadataCount()); assertEquals("metavalue", req.getMetadataOrThrow("metakey")); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getBulkSecret(any(DaprSecretProtos.GetBulkSecretRequest.class), any()); Map> secrets = client.getBulkSecret( SECRET_STORE_NAME, Collections.singletonMap("metakey", "metavalue")).block(); assertEquals(2, secrets.size()); assertEquals(1, secrets.get("one").size()); assertEquals("mysecretvalue", secrets.get("one").get("mysecretkey")); assertEquals(2, secrets.get("two").size()); assertEquals("1", secrets.get("two").get("a")); assertEquals("2", secrets.get("two").get("b")); } @Test public void getSingleConfigurationTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(getSingleMockResponse()); observer.onCompleted(); return null; }).when(daprStub).getConfiguration(any(DaprConfigurationProtos.GetConfigurationRequest.class), any()); ConfigurationItem ci = client.getConfiguration(CONFIG_STORE_NAME, "configkey1").block(); assertEquals("configvalue1", ci.getValue()); assertEquals("1", ci.getVersion()); } @Test public void getSingleConfigurationWithMetadataTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(getSingleMockResponse()); observer.onCompleted(); return null; }).when(daprStub).getConfiguration(any(DaprConfigurationProtos.GetConfigurationRequest.class), any()); Map reqMetadata = new HashMap<>(); reqMetadata.put("meta1", "value1"); ConfigurationItem ci = client.getConfiguration(CONFIG_STORE_NAME, "configkey1", reqMetadata).block(); assertEquals("configvalue1", ci.getValue()); assertEquals("1", ci.getVersion()); } @Test public void getMultipleConfigurationTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(getMultipleMockResponse()); observer.onCompleted(); return null; }).when(daprStub).getConfiguration(any(DaprConfigurationProtos.GetConfigurationRequest.class), any()); Map cis = client.getConfiguration(CONFIG_STORE_NAME, "configkey1","configkey2").block(); assertEquals(2, cis.size()); assertTrue(cis.containsKey("configkey1"), "configkey1"); assertEquals("configvalue1", cis.get("configkey1").getValue()); assertEquals("1", cis.get("configkey1").getVersion()); assertTrue(cis.containsKey("configkey2"), "configkey2"); assertEquals("configvalue2", cis.get("configkey2").getValue()); assertEquals("1", cis.get("configkey2").getVersion()); } @Test public void getMultipleConfigurationWithMetadataTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(getMultipleMockResponse()); observer.onCompleted(); return null; }).when(daprStub).getConfiguration(any(DaprConfigurationProtos.GetConfigurationRequest.class), any()); Map reqMetadata = new HashMap<>(); reqMetadata.put("meta1", "value1"); List keys = Arrays.asList("configkey1","configkey2"); Map cis = client.getConfiguration(CONFIG_STORE_NAME, keys, reqMetadata).block(); assertEquals(2, cis.size()); assertTrue(cis.containsKey("configkey1"), "configkey1"); assertEquals("configvalue1", cis.get("configkey1").getValue()); } @Test public void subscribeConfigurationTest() { Map metadata = new HashMap<>(); metadata.put("meta1", "value1"); Map configs = new HashMap<>(); configs.put("configkey1", CommonProtos.ConfigurationItem.newBuilder() .setValue("configvalue1") .setVersion("1") .putAllMetadata(metadata) .build()); DaprConfigurationProtos.SubscribeConfigurationResponse responseEnvelope = DaprConfigurationProtos.SubscribeConfigurationResponse.newBuilder() .putAllItems(configs) .setId("subscription_id") .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).subscribeConfiguration(any(DaprConfigurationProtos.SubscribeConfigurationRequest.class), any()); Iterator itr = client.subscribeConfiguration(CONFIG_STORE_NAME, "configkey1").toIterable().iterator(); assertTrue(itr.hasNext()); SubscribeConfigurationResponse res = itr.next(); assertTrue(res.getItems().containsKey("configkey1")); assertEquals("subscription_id", res.getSubscriptionId()); assertFalse(itr.hasNext()); } @Test public void subscribeConfigurationTestWithMetadata() { Map metadata = new HashMap<>(); metadata.put("meta1", "value1"); Map configs = new HashMap<>(); configs.put("configkey1", CommonProtos.ConfigurationItem.newBuilder() .setValue("configvalue1") .setVersion("1") .putAllMetadata(metadata) .build()); DaprConfigurationProtos.SubscribeConfigurationResponse responseEnvelope = DaprConfigurationProtos.SubscribeConfigurationResponse.newBuilder() .putAllItems(configs) .setId("subscription_id") .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).subscribeConfiguration(any(DaprConfigurationProtos.SubscribeConfigurationRequest.class), any()); Map reqMetadata = new HashMap<>(); List keys = Arrays.asList("configkey1"); Iterator itr = client.subscribeConfiguration(CONFIG_STORE_NAME, keys, reqMetadata).toIterable().iterator(); assertTrue(itr.hasNext()); SubscribeConfigurationResponse res = itr.next(); assertTrue(res.getItems().containsKey("configkey1")); assertEquals("subscription_id", res.getSubscriptionId()); assertFalse(itr.hasNext()); } @Test public void subscribeConfigurationWithErrorTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onError(new RuntimeException()); observer.onCompleted(); return null; }).when(daprStub).subscribeConfiguration(any(DaprConfigurationProtos.SubscribeConfigurationRequest.class), any()); assertThrowsDaprException(ExecutionException.class, () -> { client.subscribeConfiguration(CONFIG_STORE_NAME, "key").blockFirst(); }); assertThrows(IllegalArgumentException.class, () -> { client.subscribeConfiguration("", "key").blockFirst(); }); } @Test public void unsubscribeConfigurationTest() { DaprConfigurationProtos.UnsubscribeConfigurationResponse responseEnvelope = DaprConfigurationProtos.UnsubscribeConfigurationResponse.newBuilder() .setOk(true) .setMessage("unsubscribed_message") .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).unsubscribeConfiguration(any(DaprConfigurationProtos.UnsubscribeConfigurationRequest.class), any()); UnsubscribeConfigurationResponse response = client.unsubscribeConfiguration("subscription_id", CONFIG_STORE_NAME).block(); assertTrue(response.getIsUnsubscribed()); assertEquals("unsubscribed_message", response.getMessage()); } @Test public void unsubscribeConfigurationTestWithError() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onError(new RuntimeException()); observer.onCompleted(); return null; }).when(daprStub).unsubscribeConfiguration(any(DaprConfigurationProtos.UnsubscribeConfigurationRequest.class), any()); assertThrowsDaprException(ExecutionException.class, () -> { client.unsubscribeConfiguration("subscription_id", CONFIG_STORE_NAME).block(); }); assertThrows(IllegalArgumentException.class, () -> { client.unsubscribeConfiguration("", CONFIG_STORE_NAME).block(); }); UnsubscribeConfigurationRequest req = new UnsubscribeConfigurationRequest("subscription_id", ""); assertThrows(IllegalArgumentException.class, () -> { client.unsubscribeConfiguration(req).block(); }); } private DaprConfigurationProtos.GetConfigurationResponse getSingleMockResponse() { Map metadata = new HashMap<>(); metadata.put("meta1", "value1"); Map configs = new HashMap<>(); configs.put("configkey1", CommonProtos.ConfigurationItem.newBuilder() .setValue("configvalue1") .setVersion("1") .putAllMetadata(metadata) .build()); DaprConfigurationProtos.GetConfigurationResponse responseEnvelope = DaprConfigurationProtos.GetConfigurationResponse.newBuilder() .putAllItems(configs) .build(); return responseEnvelope; } private DaprConfigurationProtos.GetConfigurationResponse getMultipleMockResponse() { Map metadata = new HashMap<>(); metadata.put("meta1", "value1"); Map configs = new HashMap<>(); configs.put("configkey1", CommonProtos.ConfigurationItem.newBuilder() .setValue("configvalue1") .setVersion("1") .putAllMetadata(metadata) .build()); configs.put("configkey2", CommonProtos.ConfigurationItem.newBuilder() .setValue("configvalue2") .setVersion("1") .putAllMetadata(metadata) .build()); DaprConfigurationProtos.GetConfigurationResponse responseEnvelope = DaprConfigurationProtos.GetConfigurationResponse.newBuilder() .putAllItems(configs) .build(); return responseEnvelope; } @Test public void shutdownTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(DaprProtos.ShutdownRequest.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).shutdown(any(DaprProtos.ShutdownRequest.class), any()); Mono result = client.shutdown(); result.block(); } /* If this test is failing, it means that a new value was added to StateOptions.Consistency * enum, without creating a mapping to one of the proto defined gRPC enums */ @Test public void stateOptionsConsistencyValuesHaveValidGrpcEnumMappings() { String key = "key1"; String etag = "ETag1"; String value = "State value"; doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(any(DaprStateProtos.SaveStateRequest.class), any()); for (StateOptions.Consistency consistency : StateOptions.Consistency.values()) { StateOptions options = buildStateOptions(consistency, StateOptions.Concurrency.FIRST_WRITE); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, options); result.block(); } } /* If this test is failing, it means that a new value was added to StateOptions.Concurrency * enum, without creating a mapping to one of the proto defined gRPC enums */ @Test public void stateOptionsConcurrencyValuesHaveValidGrpcEnumMappings() { String key = "key1"; String etag = "ETag1"; String value = "State value"; doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(Empty.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).saveState(any(DaprStateProtos.SaveStateRequest.class), any()); for (StateOptions.Concurrency concurrency : StateOptions.Concurrency.values()) { StateOptions options = buildStateOptions(StateOptions.Consistency.EVENTUAL, concurrency); Mono result = client.saveState(STATE_STORE_NAME, key, etag, value, options); result.block(); } } private DaprStateProtos.GetStateResponse buildFutureGetStateEnvelop(T value, String etag) throws IOException { return buildGetStateResponse(value, etag); } private DaprStateProtos.GetStateResponse buildGetStateResponse(T value, String etag) throws IOException { return DaprStateProtos.GetStateResponse.newBuilder() .setData(serialize(value)) .setEtag(etag) .build(); } private DaprSecretProtos.GetSecretResponse buildGetSecretResponse(String key, String value) { return DaprSecretProtos.GetSecretResponse.newBuilder() .putAllData(Collections.singletonMap(key, value)) .build(); } private StateOptions buildStateOptions(StateOptions.Consistency consistency, StateOptions.Concurrency concurrency) { StateOptions options = null; if (consistency != null || concurrency != null) { options = new StateOptions(consistency, concurrency); } return options; } private Any getAny(Object value) throws IOException { return Any.newBuilder().setValue(serialize(value)).build(); } private ByteString serialize(Object value) throws IOException { byte[] byteValue = serializer.serialize(value); return ByteString.copyFrom(byteValue); } public static class MyObject { private Integer id; private String value; public MyObject() { } public MyObject(Integer id, String value) { this.id = id; this.value = value; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof MyObject)) return false; MyObject myObject = (MyObject) o; if (!getId().equals(myObject.getId())) return false; if (getValue() != null ? !getValue().equals(myObject.getValue()) : myObject.getValue() != null) return false; return true; } @Override public int hashCode() { int result = getId().hashCode(); result = 31 * result + (getValue() != null ? getValue().hashCode() : 0); return result; } } private DaprSecretProtos.GetSecretResponse buildGetSecretResponse() { return DaprSecretProtos.GetSecretResponse.newBuilder().build(); } private DaprSecretProtos.GetBulkSecretResponse buildGetBulkSecretResponse(Map> res) { Map map = res.entrySet().stream().collect( Collectors.toMap( e -> e.getKey(), e -> DaprSecretProtos.SecretResponse.newBuilder().putAllSecrets(e.getValue()).build())); return DaprSecretProtos.GetBulkSecretResponse.newBuilder() .putAllData(map) .build(); } @Test public void getMetadataTest() { DaprMetadataProtos.ActiveActorsCount activeActorsCount = DaprMetadataProtos.ActiveActorsCount.newBuilder() .setType("actor") .setCount(1) .build(); DaprMetadataProtos.ActorRuntime actorRuntime = DaprMetadataProtos.ActorRuntime.newBuilder() .addActiveActors(activeActorsCount) .build(); DaprMetadataProtos.RegisteredComponents registeredComponents = DaprMetadataProtos.RegisteredComponents.newBuilder() .setName("statestore") .setType("state.redis") .setVersion("v1") .build(); DaprMetadataProtos.MetadataHTTPEndpoint httpEndpoint = DaprMetadataProtos.MetadataHTTPEndpoint.newBuilder() .setName("httpEndpoint") .build(); DaprMetadataProtos.PubsubSubscriptionRules pubsubSubscriptionRules = DaprMetadataProtos.PubsubSubscriptionRules.newBuilder() .addRules(DaprMetadataProtos.PubsubSubscriptionRule.newBuilder().setPath("/events").build()) .build(); DaprMetadataProtos.PubsubSubscription pubsubSubscription = DaprMetadataProtos.PubsubSubscription.newBuilder() .setDeadLetterTopic("") .setPubsubName("pubsub") .setTopic("topic") .setRules(pubsubSubscriptionRules) .build(); DaprMetadataProtos.AppConnectionHealthProperties healthProperties = DaprMetadataProtos.AppConnectionHealthProperties.newBuilder() .setHealthCheckPath("/health") .setHealthProbeInterval("10s") .setHealthProbeTimeout("5s") .setHealthThreshold(1) .build(); DaprMetadataProtos.AppConnectionProperties appConnectionProperties = DaprMetadataProtos.AppConnectionProperties.newBuilder() .setPort(8080) .setProtocol("http") .setChannelAddress("localhost") .setMaxConcurrency(1) .setHealth(healthProperties) .build(); DaprMetadataProtos.GetMetadataResponse responseEnvelope = DaprMetadataProtos.GetMetadataResponse.newBuilder() .setId("app") .setRuntimeVersion("1.1x.x") .addAllEnabledFeatures(Collections.emptyList()) .setActorRuntime(actorRuntime) .putAllExtendedMetadata(Collections.emptyMap()) .addAllRegisteredComponents(Collections.singletonList(registeredComponents)) .addAllHttpEndpoints(Collections.singletonList(httpEndpoint)) .addAllSubscriptions(Collections.singletonList(pubsubSubscription)) .setAppConnectionProperties(appConnectionProperties) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation .getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).getMetadata(any(DaprMetadataProtos.GetMetadataRequest.class), any()); Mono result = client.getMetadata(); DaprMetadata metadata = result.block(); assertNotNull(metadata); assertEquals("app", metadata.getId()); assertEquals("1.1x.x", metadata.getRuntimeVersion()); assertEquals(0, metadata.getEnabledFeatures().size()); assertEquals(0, metadata.getAttributes().size()); // Actors assertEquals(1, metadata.getActors().size()); assertEquals(activeActorsCount.getType(), metadata.getActors().get(0).getType()); assertEquals(activeActorsCount.getCount(), metadata.getActors().get(0).getCount()); // Components assertEquals(1, metadata.getComponents().size()); ComponentMetadata componentMetadata = metadata.getComponents().get(0); assertEquals(registeredComponents.getName(), componentMetadata.getName()); assertEquals(registeredComponents.getVersion(), componentMetadata.getVersion()); assertEquals(registeredComponents.getType(), componentMetadata.getType()); assertEquals(registeredComponents.getCapabilitiesList(), componentMetadata.getCapabilities()); // Subscriptions assertEquals(1, metadata.getSubscriptions().size()); SubscriptionMetadata subscriptionMetadata = metadata.getSubscriptions().get(0); assertEquals(pubsubSubscription.getPubsubName(), subscriptionMetadata.getPubsubname()); assertEquals(pubsubSubscription.getTopic(), subscriptionMetadata.getTopic()); assertEquals(pubsubSubscription.getDeadLetterTopic(), subscriptionMetadata.getDeadLetterTopic()); // Subscription Rules assertEquals(1, subscriptionMetadata.getRules().size()); RuleMetadata ruleMetadata = subscriptionMetadata.getRules().get(0); assertEquals(pubsubSubscription.getRules().getRules(0).getMatch(), ruleMetadata.getMatch()); assertEquals(pubsubSubscription.getRules().getRules(0).getPath(), ruleMetadata.getPath()); // HTTP Endpoints assertEquals(1, metadata.getHttpEndpoints().size()); assertEquals(httpEndpoint.getName(), metadata.getHttpEndpoints().get(0).getName()); // App Connection Properties AppConnectionPropertiesMetadata appConnectionPropertiesMetadata = metadata.getAppConnectionProperties(); assertEquals(appConnectionProperties.getPort(), appConnectionPropertiesMetadata.getPort()); assertEquals(appConnectionProperties.getProtocol(), appConnectionPropertiesMetadata.getProtocol()); assertEquals(appConnectionProperties.getChannelAddress(), appConnectionPropertiesMetadata.getChannelAddress()); assertEquals(appConnectionProperties.getMaxConcurrency(), appConnectionPropertiesMetadata.getMaxConcurrency()); // App Connection Health Properties AppConnectionPropertiesHealthMetadata healthMetadata = appConnectionPropertiesMetadata.getHealth(); assertEquals(healthProperties.getHealthCheckPath(), healthMetadata.getHealthCheckPath()); assertEquals(healthProperties.getHealthProbeInterval(), healthMetadata.getHealthProbeInterval()); assertEquals(healthProperties.getHealthProbeTimeout(), healthMetadata.getHealthProbeTimeout()); assertEquals(healthProperties.getHealthThreshold(), healthMetadata.getHealthThreshold()); } @Test public void scheduleJobShouldSucceedWhenAllFieldsArePresentInRequest() { DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); ScheduleJobRequest expectedScheduleJobRequest = new ScheduleJobRequest("testJob", JobSchedule.fromString("*/5 * * * *")) .setData("testData".getBytes()) .setTtl(Instant.now().plus(1, ChronoUnit.DAYS)) .setRepeat(5) .setDueTime(Instant.now().plus(10, ChronoUnit.MINUTES)); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onCompleted(); // Simulate successful response return null; }).when(daprStub).scheduleJobAlpha1(any(DaprJobsProtos.ScheduleJobRequest.class), any()); assertDoesNotThrow(() -> client.scheduleJob(expectedScheduleJobRequest).block()); ArgumentCaptor captor = ArgumentCaptor.forClass(DaprJobsProtos.ScheduleJobRequest.class); verify(daprStub, times(1)).scheduleJobAlpha1(captor.capture(), Mockito.any()); DaprJobsProtos.ScheduleJobRequest actualScheduleJobReq = captor.getValue(); assertEquals("testJob", actualScheduleJobReq.getJob().getName()); assertEquals("testData", new String(actualScheduleJobReq.getJob().getData().getValue().toByteArray(), StandardCharsets.UTF_8)); assertEquals("*/5 * * * *", actualScheduleJobReq.getJob().getSchedule()); assertEquals(iso8601Formatter.format(expectedScheduleJobRequest.getTtl()), actualScheduleJobReq.getJob().getTtl()); assertEquals(expectedScheduleJobRequest.getRepeats(), actualScheduleJobReq.getJob().getRepeats()); assertEquals(iso8601Formatter.format(expectedScheduleJobRequest.getDueTime()), actualScheduleJobReq.getJob().getDueTime()); } @Test public void scheduleJobShouldSucceedWhenRequiredFieldsNameAndDueTimeArePresentInRequest() { DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onCompleted(); // Simulate successful response return null; }).when(daprStub).scheduleJobAlpha1(any(DaprJobsProtos.ScheduleJobRequest.class), any()); ScheduleJobRequest expectedScheduleJobRequest = new ScheduleJobRequest("testJob", Instant.now().plus(10, ChronoUnit.MINUTES)); assertDoesNotThrow(() -> client.scheduleJob(expectedScheduleJobRequest).block()); ArgumentCaptor captor = ArgumentCaptor.forClass(DaprJobsProtos.ScheduleJobRequest.class); verify(daprStub, times(1)).scheduleJobAlpha1(captor.capture(), Mockito.any()); DaprJobsProtos.ScheduleJobRequest actualScheduleJobRequest = captor.getValue(); DaprJobsProtos.Job job = actualScheduleJobRequest.getJob(); assertEquals("testJob", job.getName()); assertFalse(job.hasData()); assertFalse(job.hasSchedule()); assertEquals(0, job.getRepeats()); assertFalse(job.hasTtl()); assertEquals(iso8601Formatter.format(expectedScheduleJobRequest.getDueTime()), actualScheduleJobRequest.getJob().getDueTime()); } @Test public void scheduleJobShouldSucceedWhenRequiredFieldsNameAndScheduleArePresentInRequest() { DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onCompleted(); // Simulate successful response return null; }).when(daprStub).scheduleJobAlpha1(any(DaprJobsProtos.ScheduleJobRequest.class), any()); ScheduleJobRequest expectedScheduleJobRequest = new ScheduleJobRequest("testJob", JobSchedule.fromString("* * * * * *")); assertDoesNotThrow(() -> client.scheduleJob(expectedScheduleJobRequest).block()); ArgumentCaptor captor = ArgumentCaptor.forClass(DaprJobsProtos.ScheduleJobRequest.class); verify(daprStub, times(1)).scheduleJobAlpha1(captor.capture(), Mockito.any()); DaprJobsProtos.ScheduleJobRequest actualScheduleJobRequest = captor.getValue(); DaprJobsProtos.Job job = actualScheduleJobRequest.getJob(); assertEquals("testJob", job.getName()); assertFalse(job.hasData()); assertEquals("* * * * * *", job.getSchedule()); assertEquals(0, job.getRepeats()); assertFalse(job.hasTtl()); } @Test public void scheduleJobShouldHavePolicyWhenPolicyIsSet() { doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onCompleted(); // Simulate successful response return null; }).when(daprStub).scheduleJobAlpha1(any(DaprJobsProtos.ScheduleJobRequest.class), any()); ScheduleJobRequest expectedScheduleJobRequest = new ScheduleJobRequest("testJob", JobSchedule.fromString("* * * * * *")) .setFailurePolicy(new DropFailurePolicy()); client.scheduleJob(expectedScheduleJobRequest).block(); ArgumentCaptor captor = ArgumentCaptor.forClass(DaprJobsProtos.ScheduleJobRequest.class); verify(daprStub, times(1)).scheduleJobAlpha1(captor.capture(), Mockito.any()); DaprJobsProtos.ScheduleJobRequest actualScheduleJobRequest = captor.getValue(); DaprJobsProtos.Job job = actualScheduleJobRequest.getJob(); assertEquals("testJob", job.getName()); assertFalse(job.hasData()); assertEquals( "* * * * * *", job.getSchedule()); assertEquals(0, job.getRepeats()); assertFalse(job.hasTtl()); Assertions.assertTrue(job.hasFailurePolicy()); } @Test public void scheduleJobShouldThrowWhenRequestIsNull() { IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { client.scheduleJob(null).block(); }); assertEquals("scheduleJobRequest cannot be null", exception.getMessage()); } @Test public void scheduleJobShouldThrowWhenInvalidRequest() { ScheduleJobRequest scheduleJobRequest = new ScheduleJobRequest(null, Instant.now()); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { client.scheduleJob(scheduleJobRequest).block(); }); assertEquals("Name in the request cannot be null or empty", exception.getMessage()); } @Test public void scheduleJobShouldThrowWhenNameInRequestIsEmpty() { ScheduleJobRequest scheduleJobRequest = new ScheduleJobRequest("", Instant.now()); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { client.scheduleJob(scheduleJobRequest).block(); }); assertEquals("Name in the request cannot be null or empty", exception.getMessage()); } @Test public void scheduleJobShouldHaveConstantPolicyWithMaxRetriesWhenConstantPolicyIsSetWithMaxRetries() { doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onCompleted(); // Simulate successful response return null; }).when(daprStub).scheduleJobAlpha1(any(DaprJobsProtos.ScheduleJobRequest.class), any()); ScheduleJobRequest expectedScheduleJobRequest = new ScheduleJobRequest("testJob", JobSchedule.fromString("* * * * * *")) .setFailurePolicy(new ConstantFailurePolicy(2)); client.scheduleJob(expectedScheduleJobRequest).block(); ArgumentCaptor captor = ArgumentCaptor.forClass(DaprJobsProtos.ScheduleJobRequest.class); verify(daprStub, times(1)).scheduleJobAlpha1(captor.capture(), Mockito.any()); DaprJobsProtos.ScheduleJobRequest actualScheduleJobRequest = captor.getValue(); DaprJobsProtos.Job job = actualScheduleJobRequest.getJob(); assertEquals("testJob", job.getName()); assertFalse(job.hasData()); assertEquals( "* * * * * *", job.getSchedule()); assertEquals(0, job.getRepeats()); assertFalse(job.hasTtl()); Assertions.assertTrue(job.hasFailurePolicy()); assertEquals(2, job.getFailurePolicy().getConstant().getMaxRetries()); } @Test public void scheduleJobShouldHaveConstantPolicyWithIntervalWhenConstantPolicyIsSetWithInterval() { doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onCompleted(); // Simulate successful response return null; }).when(daprStub).scheduleJobAlpha1(any(DaprJobsProtos.ScheduleJobRequest.class), any()); ScheduleJobRequest expectedScheduleJobRequest = new ScheduleJobRequest("testJob", JobSchedule.fromString("* * * * * *")) .setFailurePolicy(new ConstantFailurePolicy(Duration.of(2, ChronoUnit.SECONDS))); client.scheduleJob(expectedScheduleJobRequest).block(); ArgumentCaptor captor = ArgumentCaptor.forClass(DaprJobsProtos.ScheduleJobRequest.class); verify(daprStub, times(1)).scheduleJobAlpha1(captor.capture(), Mockito.any()); DaprJobsProtos.ScheduleJobRequest actualScheduleJobRequest = captor.getValue(); DaprJobsProtos.Job job = actualScheduleJobRequest.getJob(); assertEquals("testJob", job.getName()); assertFalse(job.hasData()); assertEquals( "* * * * * *", job.getSchedule()); assertEquals(0, job.getRepeats()); assertFalse(job.hasTtl()); Assertions.assertTrue(job.hasFailurePolicy()); assertEquals(Duration.of(2, ChronoUnit.SECONDS).getNano(), job.getFailurePolicy().getConstant().getInterval().getNanos()); } @Test public void scheduleJobShouldHaveBothRetiresAndIntervalWhenConstantPolicyIsSetWithRetriesAndInterval() { doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onCompleted(); // Simulate successful response return null; }).when(daprStub).scheduleJobAlpha1(any(DaprJobsProtos.ScheduleJobRequest.class), any()); ScheduleJobRequest expectedScheduleJobRequest = new ScheduleJobRequest("testJob", JobSchedule.fromString("* * * * * *")) .setFailurePolicy(new ConstantFailurePolicy(Duration.of(2, ChronoUnit.SECONDS)) .setMaxRetries(10)); client.scheduleJob(expectedScheduleJobRequest).block(); ArgumentCaptor captor = ArgumentCaptor.forClass(DaprJobsProtos.ScheduleJobRequest.class); verify(daprStub, times(1)).scheduleJobAlpha1(captor.capture(), Mockito.any()); DaprJobsProtos.ScheduleJobRequest actualScheduleJobRequest = captor.getValue(); DaprJobsProtos.Job job = actualScheduleJobRequest.getJob(); assertEquals("testJob", job.getName()); assertFalse(job.hasData()); assertEquals( "* * * * * *", job.getSchedule()); assertEquals(0, job.getRepeats()); assertFalse(job.hasTtl()); Assertions.assertTrue(job.hasFailurePolicy()); assertEquals(Duration.of(2, ChronoUnit.SECONDS).getNano(), job.getFailurePolicy().getConstant().getInterval().getNanos()); assertEquals(10, job.getFailurePolicy().getConstant().getMaxRetries()); } @Test public void scheduleJobShouldThrowWhenNameAlreadyExists() { AtomicInteger callCount = new AtomicInteger(0); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); if (callCount.incrementAndGet() == 1) { // First call succeeds observer.onCompleted(); } else { // Second call fails with ALREADY_EXISTS observer.onError(newStatusRuntimeException("ALREADY_EXISTS", "Job with name 'testJob' already exists")); } return null; }).when(daprStub).scheduleJobAlpha1(any(DaprJobsProtos.ScheduleJobRequest.class), any()); // First call should succeed ScheduleJobRequest firstRequest = new ScheduleJobRequest("testJob", Instant.now()); assertDoesNotThrow(() -> client.scheduleJob(firstRequest).block()); ArgumentCaptor captor = ArgumentCaptor.forClass(DaprJobsProtos.ScheduleJobRequest.class); verify(daprStub, times(1)).scheduleJobAlpha1(captor.capture(), Mockito.any()); DaprJobsProtos.ScheduleJobRequest actualScheduleJobRequest = captor.getValue(); DaprJobsProtos.Job job = actualScheduleJobRequest.getJob(); assertEquals("testJob", job.getName()); assertFalse(job.hasData()); assertEquals(0, job.getRepeats()); assertFalse(job.hasTtl()); // Second call with same name should fail ScheduleJobRequest secondRequest = new ScheduleJobRequest("testJob", Instant.now()); assertThrowsDaprException( ExecutionException.class, "ALREADY_EXISTS", "ALREADY_EXISTS: Job with name 'testJob' already exists", () -> client.scheduleJob(secondRequest).block()); } @Test public void scheduleJobShouldSucceedWhenNameAlreadyExistsWithOverwrite() { doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onCompleted(); // Simulate successful response for both calls return null; }).when(daprStub).scheduleJobAlpha1(any(DaprJobsProtos.ScheduleJobRequest.class), any()); // First call should succeed ScheduleJobRequest firstRequest = new ScheduleJobRequest("testJob", Instant.now()); assertDoesNotThrow(() -> client.scheduleJob(firstRequest).block()); // Second call with same name but overwrite=true should also succeed ScheduleJobRequest secondRequest = new ScheduleJobRequest("testJob", Instant.now()) .setOverwrite(true); assertDoesNotThrow(() -> client.scheduleJob(secondRequest).block()); // Verify that both calls were made successfully ArgumentCaptor captor = ArgumentCaptor.forClass(DaprJobsProtos.ScheduleJobRequest.class); verify(daprStub, times(2)).scheduleJobAlpha1(captor.capture(), any()); // Verify the first call doesn't have overwrite set DaprJobsProtos.ScheduleJobRequest firstActualRequest = captor.getAllValues().get(0); assertFalse(firstActualRequest.getOverwrite()); assertEquals("testJob", firstActualRequest.getJob().getName()); // Verify the second call has overwrite set to true DaprJobsProtos.ScheduleJobRequest secondActualRequest = captor.getAllValues().get(1); Assert.assertTrue(secondActualRequest.getOverwrite()); assertEquals("testJob", secondActualRequest.getJob().getName()); } @Test public void getJobShouldReturnResponseWhenAllFieldsArePresentInRequest() { DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); GetJobRequest getJobRequest = new GetJobRequest("testJob"); DaprJobsProtos.Job job = DaprJobsProtos.Job.newBuilder() .setName("testJob") .setTtl(OffsetDateTime.now().format(iso8601Formatter)) .setData(Any.newBuilder().setValue(ByteString.copyFrom("testData".getBytes())).build()) .setSchedule("*/5 * * * *") .setRepeats(5) .setDueTime(iso8601Formatter.format(Instant.now().plus(10, ChronoUnit.MINUTES))) .build(); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onNext(DaprJobsProtos.GetJobResponse.newBuilder() .setJob(job) .build()); observer.onCompleted(); return null; }).when(daprStub).getJobAlpha1(any(DaprJobsProtos.GetJobRequest.class), any()); Mono resultMono = client.getJob(getJobRequest); GetJobResponse response = resultMono.block(); assertNotNull(response); assertEquals("testJob", response.getName()); assertEquals("testData", new String(response.getData(), StandardCharsets.UTF_8)); assertEquals("*/5 * * * *", response.getSchedule().getExpression()); assertEquals(5, response.getRepeats()); assertEquals(job.getTtl(), iso8601Formatter.format(response.getTtl())); assertEquals(job.getDueTime(), iso8601Formatter.format(response.getDueTime())); } @Test public void getJobShouldReturnResponseWithScheduleSetWhenResponseHasSchedule() { GetJobRequest getJobRequest = new GetJobRequest("testJob"); DaprJobsProtos.Job job = DaprJobsProtos.Job.newBuilder() .setName("testJob") .setSchedule("0 0 0 1 1 *") .build(); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onNext(DaprJobsProtos.GetJobResponse.newBuilder() .setJob(job) .build()); observer.onCompleted(); return null; }).when(daprStub).getJobAlpha1(any(DaprJobsProtos.GetJobRequest.class), any()); Mono resultMono = client.getJob(getJobRequest); GetJobResponse response = resultMono.block(); assertNotNull(response); assertEquals("testJob", response.getName()); assertNull(response.getData()); assertEquals("0 0 0 1 1 *", response.getSchedule().getExpression()); assertNull(response.getRepeats()); assertNull(response.getTtl()); assertNull(response.getDueTime()); } @Test public void getJobShouldReturnResponseWithDueTimeSetWhenResponseHasDueTime() { GetJobRequest getJobRequest = new GetJobRequest("testJob"); String datetime = OffsetDateTime.now().toString(); DaprJobsProtos.Job job = DaprJobsProtos.Job.newBuilder() .setName("testJob") .setDueTime(datetime) .build(); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onNext(DaprJobsProtos.GetJobResponse.newBuilder() .setJob(job) .build()); observer.onCompleted(); return null; }).when(daprStub).getJobAlpha1(any(DaprJobsProtos.GetJobRequest.class), any()); Mono resultMono = client.getJob(getJobRequest); GetJobResponse response = resultMono.block(); assertNotNull(response); assertEquals("testJob", response.getName()); assertNull(response.getData()); assertNull(response.getSchedule()); assertNull(response.getRepeats()); assertNull(response.getTtl()); assertEquals(job.getDueTime(), datetime); } @Test public void getJobShouldReturnResponseWithDropFailurePolicySet() { GetJobRequest getJobRequest = new GetJobRequest("testJob"); String datetime = OffsetDateTime.now().toString(); DaprJobsProtos.Job job = DaprJobsProtos.Job.newBuilder() .setName("testJob") .setDueTime(datetime) .setFailurePolicy(CommonProtos.JobFailurePolicy.newBuilder() .setDrop(CommonProtos.JobFailurePolicyDrop.newBuilder().build()).build()) .build(); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onNext(DaprJobsProtos.GetJobResponse.newBuilder() .setJob(job) .build()); observer.onCompleted(); return null; }).when(daprStub).getJobAlpha1(any(DaprJobsProtos.GetJobRequest.class), any()); Mono resultMono = client.getJob(getJobRequest); GetJobResponse response = resultMono.block(); assertNotNull(response); assertEquals("testJob", response.getName()); assertNull(response.getData()); assertNull(response.getSchedule()); assertNull(response.getRepeats()); assertNull(response.getTtl()); assertEquals(job.getDueTime(), datetime); Assert.assertTrue(job.hasFailurePolicy()); Assert.assertTrue(job.getFailurePolicy().hasDrop()); } @Test public void getJobShouldReturnResponseWithConstantFailurePolicyAndMaxRetriesSet() { GetJobRequest getJobRequest = new GetJobRequest("testJob"); String datetime = OffsetDateTime.now().toString(); DaprJobsProtos.Job job = DaprJobsProtos.Job.newBuilder() .setName("testJob") .setDueTime(datetime) .setFailurePolicy(CommonProtos.JobFailurePolicy.newBuilder() .setConstant(CommonProtos.JobFailurePolicyConstant.newBuilder().setMaxRetries(2).build()).build()) .build(); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onNext(DaprJobsProtos.GetJobResponse.newBuilder() .setJob(job) .build()); observer.onCompleted(); return null; }).when(daprStub).getJobAlpha1(any(DaprJobsProtos.GetJobRequest.class), any()); Mono resultMono = client.getJob(getJobRequest); GetJobResponse response = resultMono.block(); assertNotNull(response); assertEquals("testJob", response.getName()); assertNull(response.getData()); assertNull(response.getSchedule()); assertNull(response.getRepeats()); assertNull(response.getTtl()); assertEquals(job.getDueTime(), datetime); Assert.assertTrue(job.hasFailurePolicy()); Assert.assertTrue(job.getFailurePolicy().hasConstant()); assertEquals(2, job.getFailurePolicy().getConstant().getMaxRetries()); } @Test public void getJobShouldReturnResponseWithConstantFailurePolicyAndIntervalSet() { GetJobRequest getJobRequest = new GetJobRequest("testJob"); String datetime = OffsetDateTime.now().toString(); DaprJobsProtos.Job job = DaprJobsProtos.Job.newBuilder() .setName("testJob") .setDueTime(datetime) .setFailurePolicy(CommonProtos.JobFailurePolicy.newBuilder() .setConstant(CommonProtos.JobFailurePolicyConstant.newBuilder() .setInterval(com.google.protobuf.Duration.newBuilder().setNanos(5).build()).build()).build()) .build(); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onNext(DaprJobsProtos.GetJobResponse.newBuilder() .setJob(job) .build()); observer.onCompleted(); return null; }).when(daprStub).getJobAlpha1(any(DaprJobsProtos.GetJobRequest.class), any()); Mono resultMono = client.getJob(getJobRequest); GetJobResponse response = resultMono.block(); assertNotNull(response); assertEquals("testJob", response.getName()); assertNull(response.getData()); assertNull(response.getSchedule()); assertNull(response.getRepeats()); assertNull(response.getTtl()); assertEquals(job.getDueTime(), datetime); Assert.assertTrue(job.hasFailurePolicy()); Assert.assertTrue(job.getFailurePolicy().hasConstant()); assertEquals(5, job.getFailurePolicy().getConstant().getInterval().getNanos()); } @Test public void getJobShouldReturnResponseWithConstantFailurePolicyIntervalAndMaxRetriesSet() { GetJobRequest getJobRequest = new GetJobRequest("testJob"); String datetime = OffsetDateTime.now().toString(); DaprJobsProtos.Job job = DaprJobsProtos.Job.newBuilder() .setName("testJob") .setDueTime(datetime) .setFailurePolicy(CommonProtos.JobFailurePolicy.newBuilder() .setConstant(CommonProtos.JobFailurePolicyConstant.newBuilder() .setMaxRetries(10) .setInterval(com.google.protobuf.Duration.newBuilder().setNanos(5).build()).build()).build()) .build(); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onNext(DaprJobsProtos.GetJobResponse.newBuilder() .setJob(job) .build()); observer.onCompleted(); return null; }).when(daprStub).getJobAlpha1(any(DaprJobsProtos.GetJobRequest.class), any()); Mono resultMono = client.getJob(getJobRequest); GetJobResponse response = resultMono.block(); assertNotNull(response); assertEquals("testJob", response.getName()); assertNull(response.getData()); assertNull(response.getSchedule()); assertNull(response.getRepeats()); assertNull(response.getTtl()); assertEquals(job.getDueTime(), datetime); Assert.assertTrue(job.hasFailurePolicy()); Assert.assertTrue(job.getFailurePolicy().hasConstant()); assertEquals(10, job.getFailurePolicy().getConstant().getMaxRetries()); assertEquals(5, job.getFailurePolicy().getConstant().getInterval().getNanos()); } @Test public void deleteJobShouldSucceedWhenValidRequest() { DeleteJobRequest deleteJobRequest = new DeleteJobRequest("testJob"); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onCompleted(); // Simulate successful response return null; }).when(daprStub).deleteJobAlpha1(any(DaprJobsProtos.DeleteJobRequest.class), any()); Mono resultMono = client.deleteJob(deleteJobRequest); assertDoesNotThrow(() -> resultMono.block()); } @Test public void getJobShouldThrowWhenRequestIsNull() { IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { client.getJob(null).block(); }); assertEquals("getJobRequest cannot be null", exception.getMessage()); } @Test public void getJobShouldThrowWhenNameIsNullRequest() { GetJobRequest getJobRequest = new GetJobRequest(null); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { client.getJob(getJobRequest).block(); }); assertEquals("Name in the request cannot be null or empty", exception.getMessage()); } @Test public void getJobShouldThrowWhenNameIsEmptyRequest() { GetJobRequest getJobRequest =new GetJobRequest("");; IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { client.getJob(getJobRequest).block(); }); assertEquals("Name in the request cannot be null or empty", exception.getMessage()); } @Test public void getMetadataExceptionTest() { doAnswer((Answer) invocation -> { throw new RuntimeException(); }).when(daprStub).getMetadata(any(DaprMetadataProtos.GetMetadataRequest.class), any()); Mono result = client.getMetadata(); assertThrowsDaprException( RuntimeException.class, "UNKNOWN", "UNKNOWN: ", () -> result.block()); } @Test public void deleteJobShouldThrowRequestIsNull() { IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { client.deleteJob(null).block(); }); assertEquals("deleteJobRequest cannot be null", exception.getMessage()); } @Test public void deleteJobShouldThrowWhenNameIsNullRequest() { DeleteJobRequest deleteJobRequest = new DeleteJobRequest(null); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { client.deleteJob(deleteJobRequest).block(); }); assertEquals("Name in the request cannot be null or empty", exception.getMessage()); } @Test public void deleteJobShouldThrowWhenNameIsEmptyRequest() { DeleteJobRequest deleteJobRequest = new DeleteJobRequest(""); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { client.deleteJob(deleteJobRequest).block(); }); assertEquals("Name in the request cannot be null or empty", exception.getMessage()); } private static class GetStateRequestKeyMatcher implements ArgumentMatcher { private final String propValue; GetStateRequestKeyMatcher(String propValue) { this.propValue = propValue; } @Override public boolean matches(DaprStateProtos.GetStateRequest argument) { if (argument == null) { return false; } if (propValue == null && argument.getKey() != null) { return false; } if (propValue == null && argument.getKey() == null) { return true; } return propValue.equals(argument.getKey()); } @Override public String toString() { return ""; } } } ================================================ FILE: sdk/src/test/java/io/dapr/client/DaprClientHttpTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import com.fasterxml.jackson.core.JsonParseException; import io.dapr.client.domain.HttpExtension; import io.dapr.client.domain.InvokeMethodRequest; import io.dapr.config.Properties; import io.dapr.exceptions.DaprException; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.TypeRef; import io.dapr.v1.DaprGrpc; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import reactor.util.context.Context; import reactor.util.context.ContextView; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.time.Duration; import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicInteger; import static io.dapr.utils.TestUtils.assertThrowsDaprException; import static io.dapr.utils.TestUtils.findFreePort; import static io.dapr.utils.TestUtils.formatIpAddress; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @SuppressWarnings("deprecation") public class DaprClientHttpTest { private final String EXPECTED_RESULT = "{\"data\":\"ewoJCSJwcm9wZXJ0eUEiOiAidmFsdWVBIiwKCQkicHJvcGVydHlCIjogInZhbHVlQiIKCX0=\"}"; private static final int HTTP_NO_CONTENT = 204; private static final int HTTP_NOT_FOUND = 404; private static final int HTTP_SERVER_ERROR = 500; private static final int HTTP_OK = 200; private static final Duration READ_TIMEOUT = Duration.ofSeconds(60); private String sidecarIp; private String daprApiToken; private DaprClient daprClientHttp; private DaprHttp daprHttp; private HttpClient httpClient; @BeforeEach public void setUp() { sidecarIp = formatIpAddress(Properties.SIDECAR_IP.get()); daprApiToken = Properties.API_TOKEN.get(); httpClient = mock(HttpClient.class); daprHttp = new DaprHttp(sidecarIp, 3000, daprApiToken, READ_TIMEOUT, httpClient); daprClientHttp = buildDaprClient(daprHttp); } private static DaprClient buildDaprClient(DaprHttp daprHttp) { GrpcChannelFacade channel = mock(GrpcChannelFacade.class); DaprGrpc.DaprStub daprStub = mock(DaprGrpc.DaprStub.class); when(daprStub.withInterceptors(any())).thenReturn(daprStub); try { doNothing().when(channel).close(); } catch (IOException e) { throw new RuntimeException(e); } return new DaprClientImpl(channel, daprStub, daprHttp, new DefaultObjectSerializer(), new DefaultObjectSerializer()); } @Test public void waitForSidecarTimeOutHealthCheck() throws Exception { MockHttpResponse mockHttpResponse = new MockHttpResponse(HTTP_NO_CONTENT); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); daprHttp = new DaprHttp(Properties.SIDECAR_IP.get(), 3000, daprApiToken, READ_TIMEOUT, httpClient); DaprClient daprClientHttp = buildDaprClient(daprHttp); when(httpClient.sendAsync(any(), any())).thenAnswer(invocation -> { Thread.sleep(200); return mockResponse; }); StepVerifier.create(daprClientHttp.waitForSidecar(100)) .expectSubscription() .expectErrorMatches(throwable -> { if (throwable instanceof TimeoutException) { System.out.println("TimeoutException occurred on sidecar health check."); return true; } return false; }) .verify(Duration.ofSeconds(20)); } @Test public void waitForSidecarBadHealthCheck() throws Exception { MockHttpResponse mockHttpResponse = new MockHttpResponse(HTTP_NOT_FOUND); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); int port = findFreePort(); daprHttp = new DaprHttp(Properties.SIDECAR_IP.get(), port, daprApiToken, READ_TIMEOUT, httpClient); DaprClient daprClientHttp = buildDaprClient(daprHttp); AtomicInteger count = new AtomicInteger(0); when(httpClient.sendAsync(any(), any())).thenAnswer(invocation -> { if (count.getAndIncrement() < 6) { return mockResponse; } return CompletableFuture.failedFuture(new TimeoutException()); }); // it will timeout. StepVerifier.create(daprClientHttp.waitForSidecar(5000)) .expectSubscription() .expectError() .verify(Duration.ofMillis(6000)); } @Test public void waitForSidecarSlowSuccessfulHealthCheck() throws Exception { int port = findFreePort(); daprHttp = new DaprHttp(Properties.SIDECAR_IP.get(), port, daprApiToken, READ_TIMEOUT, httpClient); DaprClient daprClientHttp = buildDaprClient(daprHttp); AtomicInteger count = new AtomicInteger(0); when(httpClient.sendAsync(any(), any())).thenAnswer(invocation -> { if (count.getAndIncrement() < 2) { Thread.sleep(1000); MockHttpResponse mockHttpResponse = new MockHttpResponse(HTTP_SERVER_ERROR); return CompletableFuture.>completedFuture(mockHttpResponse); } Thread.sleep(1000); MockHttpResponse mockHttpResponse = new MockHttpResponse(HTTP_NO_CONTENT); return CompletableFuture.>completedFuture(mockHttpResponse); }); // Simulate a slow response StepVerifier.create(daprClientHttp.waitForSidecar(5000)) .expectSubscription() .expectNext() .expectComplete() .verify(Duration.ofSeconds(20)); } @Test public void waitForSidecarOK() throws Exception { MockHttpResponse mockHttpResponse = new MockHttpResponse(HTTP_NO_CONTENT); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); int port = findFreePort(); daprHttp = new DaprHttp(sidecarIp, port, daprApiToken, READ_TIMEOUT, httpClient); DaprClient daprClientHttp = buildDaprClient(daprHttp); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); StepVerifier.create(daprClientHttp.waitForSidecar(10000)) .expectSubscription() .expectComplete() .verify(); } @Test public void waitForSidecarTimeoutOK() throws Exception { MockHttpResponse mockHttpResponse = new MockHttpResponse(HTTP_NO_CONTENT); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); try (ServerSocket serverSocket = new ServerSocket(0)) { int port = serverSocket.getLocalPort(); Thread t = new Thread(() -> { try { try (Socket socket = serverSocket.accept()) { } } catch (IOException e) { } }); t.start(); daprHttp = new DaprHttp(sidecarIp, port, daprApiToken, READ_TIMEOUT, httpClient); DaprClient daprClientHttp = buildDaprClient(daprHttp); daprClientHttp.waitForSidecar(10000).block(); } } @Test public void invokeServiceVerbNull() { MockHttpResponse mockHttpResponse = new MockHttpResponse(EXPECTED_RESULT.getBytes(), HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); assertThrows(IllegalArgumentException.class, () -> daprClientHttp.invokeMethod( null, "", "", null, null, (Class)null ).block()); } @Test public void invokeServiceIllegalArgumentException() { byte[] content = "INVALID JSON".getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); assertThrows(IllegalArgumentException.class, () -> { // null HttpMethod daprClientHttp.invokeMethod( "1", "2", "3", new HttpExtension(null), null, (Class)null ).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null HttpExtension daprClientHttp.invokeMethod( "1", "2", "3", null, null, (Class)null ).block(); }); assertThrows(IllegalArgumentException.class, () -> { // empty appId daprClientHttp.invokeMethod( "", "1", null, HttpExtension.GET, null, (Class)null ).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null appId, empty method daprClientHttp.invokeMethod( null, "", null, HttpExtension.POST, null, (Class)null ).block(); }); assertThrows(IllegalArgumentException.class, () -> { // empty method daprClientHttp.invokeMethod( "1", "", null, HttpExtension.PUT, null, (Class)null ).block(); }); assertThrows(IllegalArgumentException.class, () -> { // null method daprClientHttp.invokeMethod( "1", null, null, HttpExtension.DELETE, null, (Class)null ).block(); }); assertThrowsDaprException(JsonParseException.class, () -> { // invalid JSON response daprClientHttp.invokeMethod( "41", "badorder", null, HttpExtension.GET, null, String.class ).block(); }); } @Test public void invokeServiceDaprError() { byte[] content = "{ \"errorCode\": \"MYCODE\", \"message\": \"My Message\"}".getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_SERVER_ERROR); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprException exception = assertThrows(DaprException.class, () -> { daprClientHttp.invokeMethod( "myapp", "mymethod", "anything", HttpExtension.POST ).block(); }); assertEquals("MYCODE", exception.getErrorCode()); assertEquals("MYCODE: My Message (HTTP status code: 500)", exception.getMessage()); assertEquals(HTTP_SERVER_ERROR, exception.getHttpStatusCode()); } @Test public void invokeServiceDaprErrorFromGRPC() { byte[] content = "{ \"code\": 7 }".getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_SERVER_ERROR); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprException exception = assertThrows(DaprException.class, () -> { daprClientHttp.invokeMethod( "myapp", "mymethod", "anything", HttpExtension.POST ).block(); }); assertEquals("PERMISSION_DENIED", exception.getErrorCode()); assertEquals("PERMISSION_DENIED: HTTP status code: 500", exception.getMessage()); } @Test public void invokeServiceDaprErrorUnknownJSON() { byte[] content = "{ \"anything\": 7 }".getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_SERVER_ERROR); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprException exception = assertThrows(DaprException.class, () -> { daprClientHttp.invokeMethod("myapp", "mymethod", "anything", HttpExtension.POST).block(); }); assertEquals("UNKNOWN", exception.getErrorCode()); assertEquals("UNKNOWN: HTTP status code: 500", exception.getMessage()); assertEquals("{ \"anything\": 7 }", new String(exception.getPayload())); } @Test public void invokeServiceDaprErrorEmptyString() { byte[] content = "".getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_SERVER_ERROR); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprException exception = assertThrows(DaprException.class, () -> { daprClientHttp.invokeMethod( "myapp", "mymethod", "anything", HttpExtension.POST ).block(); }); assertEquals("UNKNOWN", exception.getErrorCode()); assertEquals("UNKNOWN: HTTP status code: 500", exception.getMessage()); } @Test public void invokeServiceMethodNull() { byte[] content = EXPECTED_RESULT.getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); assertThrows(IllegalArgumentException.class, () -> daprClientHttp.invokeMethod( "1", "", null, HttpExtension.POST, null, (Class)null ).block()); } @Test public void invokeService() { byte[] content = "\"hello world\"".getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); Mono mono = daprClientHttp.invokeMethod( "41", "neworder", null, HttpExtension.GET, null, String.class ); assertEquals("hello world", mono.block()); } @Test public void invokeServiceNullResponse() { byte[] content = new byte[0]; MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); Mono mono = daprClientHttp.invokeMethod( "41", "neworder", null, HttpExtension.GET, null, String.class ); assertNull(mono.block()); } @Test public void simpleInvokeService() { byte[] content = EXPECTED_RESULT.getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); Mono mono = daprClientHttp.invokeMethod( "41", "neworder", null, HttpExtension.GET, byte[].class ); assertEquals(new String(mono.block()), EXPECTED_RESULT); } @Test public void invokeServiceWithMetadataMap() { Map map = Map.of(); byte[] content = EXPECTED_RESULT.getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); Mono mono = daprClientHttp.invokeMethod( "41", "neworder", (byte[]) null, HttpExtension.GET, map ); String monoString = new String(mono.block()); assertEquals(monoString, EXPECTED_RESULT); } @Test public void invokeServiceWithOutRequest() { Map map = Map.of(); byte[] content = EXPECTED_RESULT.getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); Mono mono = daprClientHttp.invokeMethod( "41", "neworder", HttpExtension.GET, map ); assertNull(mono.block()); } @Test public void invokeServiceWithRequest() { Map map = Map.of(); byte[] content = EXPECTED_RESULT.getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); Mono mono = daprClientHttp.invokeMethod( "41", "neworder", "", HttpExtension.GET, map ); assertNull(mono.block()); } @Test public void invokeServiceWithRequestAndQueryString() { Map map = Map.of(); Map> queryString = Map.of( "param1", List.of("1"), "param2", List.of("a", "b/c") ); byte[] content = EXPECTED_RESULT.getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); HttpExtension httpExtension = new HttpExtension(DaprHttp.HttpMethods.GET, queryString, null); Mono mono = daprClientHttp.invokeMethod( "41", "neworder", "", httpExtension, map ); assertNull(mono.block()); } @Test public void invokeServiceNoHotMono() { Map map = Map.of(); MockHttpResponse mockHttpResponse = new MockHttpResponse(HTTP_SERVER_ERROR); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); daprClientHttp.invokeMethod( "41", "neworder", "", HttpExtension.GET, map ); // No exception should be thrown because did not call block() on mono above. } @Test public void invokeServiceWithContext() { String traceparent = "00-0af7651916cd43dd8448eb211c80319c-b9c7c989f97918e1-01"; String tracestate = "congo=ucfJifl5GOE,rojo=00f067aa0ba902b7"; Context context = Context.empty() .put("traceparent", traceparent) .put("tracestate", tracestate) .put("not_added", "xyz"); byte[] content = new byte[0]; MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(HttpRequest.class); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); InvokeMethodRequest req = new InvokeMethodRequest("41", "neworder") .setBody("request") .setHttpExtension(HttpExtension.POST); Mono result = daprClientHttp.invokeMethod(req, TypeRef.get(Void.class)) .contextWrite(it -> it.putAll((ContextView) context)); result.block(); verify(httpClient).sendAsync(requestCaptor.capture(), any()); HttpRequest request = requestCaptor.getValue(); assertEquals(traceparent, request.headers().firstValue("traceparent").get()); assertEquals(tracestate, request.headers().firstValue("tracestate").get()); } @Test public void closeException() { DaprHttp daprHttp = Mockito.mock(DaprHttp.class); Mockito.doThrow(new RuntimeException()).when(daprHttp).close(); // This method does not throw DaprException because it already throws RuntimeException and does not call Dapr. daprClientHttp = buildDaprClient(daprHttp); assertThrows(RuntimeException.class, () -> daprClientHttp.close()); } @Test public void close() throws Exception { DaprHttp daprHttp = Mockito.mock(DaprHttp.class); Mockito.doNothing().when(daprHttp).close(); // This method does not throw DaprException because IOException is expected by the Closeable interface. daprClientHttp = buildDaprClient(daprHttp); daprClientHttp.close(); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/DaprClientTestBuilder.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.serializer.DefaultObjectSerializer; /** * Builder for DaprClient used in tests only. */ public class DaprClientTestBuilder { /** * Builds a DaprClient only for HTTP calls. * @param client DaprHttp used for http calls (can be mocked or stubbed) * @return New instance of DaprClient. */ public static DaprClient buildClientForHttpOnly(DaprHttp client) { return new DaprClientImpl(null, null, client, new DefaultObjectSerializer(), new DefaultObjectSerializer()); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/DaprExceptionTest.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import com.google.protobuf.Any; import com.google.rpc.ErrorInfo; import com.google.rpc.ResourceInfo; import io.dapr.exceptions.DaprErrorDetails; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.v1.DaprGrpc; import io.dapr.v1.DaprPubsubProtos; import io.dapr.v1.DaprStateProtos; import io.grpc.StatusRuntimeException; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.stubbing.Answer; import java.io.IOException; import static io.dapr.client.DaprClientGrpcTest.newStatusRuntimeException; import static io.dapr.utils.TestUtils.assertThrowsDaprException; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class DaprExceptionTest { private GrpcChannelFacade channel; private DaprGrpc.DaprStub daprStub; private DaprHttp daprHttp; private DaprClient client; @BeforeEach public void setup() throws IOException { channel = mock(GrpcChannelFacade.class); daprStub = mock(DaprGrpc.DaprStub.class); daprHttp = mock(DaprHttp.class); when(daprStub.withInterceptors(any())).thenReturn(daprStub); client = new DaprClientImpl( channel, daprStub, daprHttp, new DefaultObjectSerializer(), new DefaultObjectSerializer()); doNothing().when(channel).close(); } @AfterEach public void tearDown() throws Exception { client.close(); verify(channel).close(); } @Test public void daprExceptionWithMultipleDetailsThrownTest() { ErrorInfo errorInfo = ErrorInfo.newBuilder() .setDomain("dapr.io") .setReason("fake") .build(); ResourceInfo resourceInfo = ResourceInfo.newBuilder() .setResourceName("") .setResourceType("pubsub") .setDescription("pubsub name is empty") .build(); com.google.rpc.Status status = com.google.rpc.Status.newBuilder() .setCode(io.grpc.Status.Code.INVALID_ARGUMENT.value()) .setMessage("bad bad argument") .addDetails(Any.pack(errorInfo)) .addDetails(Any.pack(resourceInfo)) .build(); doAnswer((Answer) invocation -> { throw newStatusRuntimeException("INVALID_ARGUMENT", "bad bad argument", status); }).when(daprStub).publishEvent(any(DaprPubsubProtos.PublishEventRequest.class), any()); DaprErrorDetails expectedStatusDetails = new DaprErrorDetails(status); assertThrowsDaprException( StatusRuntimeException.class, "INVALID_ARGUMENT", "INVALID_ARGUMENT: bad bad argument", expectedStatusDetails, () -> client.publishEvent("pubsubname","topic", "object").block()); } @Test public void daprExceptionWithOneDetailThrownTest() { ErrorInfo errorInfo = ErrorInfo.newBuilder() .setDomain("dapr.io") .setReason("DAPR_STATE_NOT_FOUND") .build(); com.google.rpc.Status status = com.google.rpc.Status.newBuilder() .setCode(io.grpc.Status.Code.INVALID_ARGUMENT.value()) .setMessage("bad bad argument") .addDetails(Any.pack(errorInfo)) .build(); doAnswer((Answer) invocation -> { throw newStatusRuntimeException("INVALID_ARGUMENT", "bad bad argument", status); }).when(daprStub).getState(any(DaprStateProtos.GetStateRequest.class), any()); DaprErrorDetails expectedStatusDetails = new DaprErrorDetails(status); assertThrowsDaprException( StatusRuntimeException.class, "INVALID_ARGUMENT", "INVALID_ARGUMENT: bad bad argument", expectedStatusDetails, () -> client.getState("Unknown state store", "myKey", String.class).block()); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/DaprHttpBuilderTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.config.Properties; import org.junit.jupiter.api.Test; import java.lang.reflect.Field; import java.net.http.HttpClient; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertSame; public class DaprHttpBuilderTest { @Test public void singletonOkHttpClient() throws Exception { Properties properties = new Properties(); DaprHttp daprHttp = new DaprHttpBuilder().build(properties); DaprHttp anotherDaprHttp = new DaprHttpBuilder().build(properties); assertSame(getHttpClient(daprHttp), getHttpClient(anotherDaprHttp)); } private static HttpClient getHttpClient(DaprHttp daprHttp) throws Exception { Field httpClientField = DaprHttp.class.getDeclaredField("httpClient"); httpClientField.setAccessible(true); HttpClient okHttpClient = (HttpClient) httpClientField.get(daprHttp); assertNotNull(okHttpClient); return okHttpClient; } } ================================================ FILE: sdk/src/test/java/io/dapr/client/DaprHttpStub.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import reactor.core.publisher.Mono; import reactor.util.context.ContextView; import java.time.Duration; import java.util.List; import java.util.Map; /** * Stub class for DaprHttp. * Useful to mock as well since it provides a default constructor. */ public class DaprHttpStub extends DaprHttp { private static final Duration READ_TIMEOUT = Duration.ofSeconds(60); public static class ResponseStub extends DaprHttp.Response { public ResponseStub(byte[] body, Map headers, int statusCode) { super(body, headers, statusCode); } } /** * Instantiates a stub for DaprHttp */ public DaprHttpStub() { super(null, 3000, "stubToken", READ_TIMEOUT, null); } /** * {@inheritDoc} */ @Override public Mono invokeApi(String method, String[] pathSegments, Map> urlParameters, Map headers, ContextView context) { return Mono.empty(); } /** * {@inheritDoc} */ @Override public Mono invokeApi(String method, String[] pathSegments, Map> urlParameters, String content, Map headers, ContextView context) { return Mono.empty(); } /** * {@inheritDoc} */ @Override public Mono invokeApi(String method, String[] pathSegments, Map> urlParameters, byte[] content, Map headers, ContextView context) { return Mono.empty(); } /** * {@inheritDoc} */ @Override public void close() { } } ================================================ FILE: sdk/src/test/java/io/dapr/client/DaprHttpTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import io.dapr.config.Properties; import io.dapr.exceptions.DaprErrorDetails; import io.dapr.exceptions.DaprException; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import reactor.util.context.Context; import uk.org.webcompere.systemstubs.environment.EnvironmentVariables; import uk.org.webcompere.systemstubs.jupiter.SystemStub; import uk.org.webcompere.systemstubs.jupiter.SystemStubsExtension; import java.io.IOException; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.time.Duration; import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; import static io.dapr.utils.TestUtils.formatIpAddress; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @ExtendWith(SystemStubsExtension.class) public class DaprHttpTest { private static final int HTTP_OK = 200; private static final int HTTP_SERVER_ERROR = 500; private static final int HTTP_NO_CONTENT = 204; private static final int HTTP_NOT_FOUND = 404; private static final String EXPECTED_RESULT = "{\"data\":\"ewoJCSJwcm9wZXJ0eUEiOiAidmFsdWVBIiwKCQkicHJvcGVydHlCIjogInZhbHVlQiIKCX0=\"}"; private static final Duration READ_TIMEOUT = Duration.ofSeconds(60); @SystemStub private final EnvironmentVariables environmentVariables = new EnvironmentVariables(); private String sidecarIp; private String daprTokenApi; private HttpClient httpClient; private final ObjectSerializer serializer = new ObjectSerializer(); @BeforeEach public void setUp() { sidecarIp = formatIpAddress(Properties.SIDECAR_IP.get()); daprTokenApi = Properties.API_TOKEN.get(); httpClient = mock(HttpClient.class); } @Test public void invokeApi_daprApiToken_present() throws IOException { byte[] content = serializer.serialize(EXPECTED_RESULT); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(HttpRequest.class); environmentVariables.set(Properties.API_TOKEN.getEnvName(), "xyz"); assertEquals("xyz", Properties.API_TOKEN.get()); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, Properties.API_TOKEN.get(), READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "POST", "v1.0/state".split("/"), null, (byte[]) null, null, Context.empty() ); DaprHttp.Response response = mono.block(); String body = serializer.deserialize(response.getBody(), String.class); verify(httpClient).sendAsync(requestCaptor.capture(), any()); HttpRequest request = requestCaptor.getValue(); assertEquals(EXPECTED_RESULT, body); assertEquals("POST", request.method()); assertEquals("http://" + sidecarIp + ":3500/v1.0/state", request.uri().toString()); assertEquals("xyz", request.headers().firstValue(Headers.DAPR_API_TOKEN).get()); } @Test public void invokeApi_daprApiToken_absent() throws IOException { byte[] content = serializer.serialize(EXPECTED_RESULT); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(HttpRequest.class); assertNull(Properties.API_TOKEN.get()); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "POST", "v1.0/state".split("/"), null, (byte[]) null, null, Context.empty() ); DaprHttp.Response response = mono.block(); String body = serializer.deserialize(response.getBody(), String.class); verify(httpClient).sendAsync(requestCaptor.capture(), any()); HttpRequest request = requestCaptor.getValue(); assertEquals(EXPECTED_RESULT, body); assertEquals("POST", request.method()); assertEquals("http://" + sidecarIp + ":3500/v1.0/state", request.uri().toString()); assertFalse(request.headers().map().containsKey(Headers.DAPR_API_TOKEN)); } @Test public void invokeMethod() throws IOException { Map headers = Map.of( "content-type", "text/html", "header1", "value1" ); byte[] content = serializer.serialize(EXPECTED_RESULT); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(HttpRequest.class); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "POST", "v1.0/state".split("/"), null, (byte[]) null, headers, Context.empty() ); DaprHttp.Response response = mono.block(); String body = serializer.deserialize(response.getBody(), String.class); verify(httpClient).sendAsync(requestCaptor.capture(), any()); HttpRequest request = requestCaptor.getValue(); assertEquals(EXPECTED_RESULT, body); assertEquals("POST", request.method()); assertEquals("http://" + sidecarIp + ":3500/v1.0/state", request.uri().toString()); assertEquals("text/html", request.headers().firstValue("content-type").get()); assertEquals("value1", request.headers().firstValue("header1").get()); } @Test public void invokeMethodIPv6() throws IOException { sidecarIp = formatIpAddress("2001:db8:3333:4444:5555:6666:7777:8888"); Map headers = Map.of( "content-type", "text/html", "header1", "value1" ); byte[] content = serializer.serialize(EXPECTED_RESULT); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(HttpRequest.class); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "POST", "v1.0/state".split("/"), null, (byte[]) null, headers, Context.empty() ); DaprHttp.Response response = mono.block(); String body = serializer.deserialize(response.getBody(), String.class); verify(httpClient).sendAsync(requestCaptor.capture(), any()); HttpRequest request = requestCaptor.getValue(); assertEquals(EXPECTED_RESULT, body); assertEquals("POST", request.method()); assertEquals("http://" + sidecarIp + ":3500/v1.0/state", request.uri().toString()); assertEquals("text/html", request.headers().firstValue("content-type").get()); assertEquals("value1", request.headers().firstValue("header1").get()); } @Test public void invokePostMethod() throws IOException { byte[] content = serializer.serialize(EXPECTED_RESULT); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(HttpRequest.class); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "POST", "v1.0/state".split("/"), null, "", null, Context.empty() ); DaprHttp.Response response = mono.block(); String body = serializer.deserialize(response.getBody(), String.class); verify(httpClient).sendAsync(requestCaptor.capture(), any()); HttpRequest request = requestCaptor.getValue(); assertEquals(EXPECTED_RESULT, body); assertEquals("POST", request.method()); assertEquals("http://" + sidecarIp + ":3500/v1.0/state", request.uri().toString()); } @Test public void invokeDeleteMethod() throws IOException { byte[] content = serializer.serialize(EXPECTED_RESULT); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(HttpRequest.class); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "DELETE", "v1.0/state".split("/"), null, (String) null, null, Context.empty() ); DaprHttp.Response response = mono.block(); String body = serializer.deserialize(response.getBody(), String.class); verify(httpClient).sendAsync(requestCaptor.capture(), any()); HttpRequest request = requestCaptor.getValue(); assertEquals(EXPECTED_RESULT, body); assertEquals("DELETE", request.method()); assertEquals("http://" + sidecarIp + ":3500/v1.0/state", request.uri().toString()); } @Test public void invokePatchMethod() throws IOException { byte[] content = serializer.serialize(EXPECTED_RESULT); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(HttpRequest.class); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "PATCH", "v1.0/state".split("/"), null, "", null, Context.empty() ); DaprHttp.Response response = mono.block(); String body = serializer.deserialize(response.getBody(), String.class); verify(httpClient).sendAsync(requestCaptor.capture(), any()); HttpRequest request = requestCaptor.getValue(); assertEquals(EXPECTED_RESULT, body); assertEquals("PATCH", request.method()); assertEquals("http://" + sidecarIp + ":3500/v1.0/state", request.uri().toString()); } @Test public void invokeHeadMethod() { MockHttpResponse mockHttpResponse = new MockHttpResponse(HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(HttpRequest.class); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(Properties.SIDECAR_IP.get(), 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "HEAD", "v1.0/state".split("/"), null, (String) null, null, Context.empty() ); DaprHttp.Response response = mono.block(); verify(httpClient).sendAsync(requestCaptor.capture(), any()); HttpRequest request = requestCaptor.getValue(); assertEquals("HEAD", request.method()); assertEquals("http://" + sidecarIp + ":3500/v1.0/state", request.uri().toString()); assertEquals(HTTP_OK, response.getStatusCode()); } @Test public void invokeGetMethod() throws IOException { byte[] content = serializer.serialize(EXPECTED_RESULT); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(HttpRequest.class); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "GET", "v1.0/state".split("/"), null, null, Context.empty() ); DaprHttp.Response response = mono.block(); String body = serializer.deserialize(response.getBody(), String.class); verify(httpClient).sendAsync(requestCaptor.capture(), any()); HttpRequest request = requestCaptor.getValue(); assertEquals(EXPECTED_RESULT, body); assertEquals("GET", request.method()); assertEquals("http://" + sidecarIp + ":3500/v1.0/state", request.uri().toString()); } @Test public void invokeMethodWithHeaders() throws IOException { Map headers = Map.of( "header", "value", "header1", "value1" ); Map> urlParameters = Map.of( "orderId", List.of("41") ); byte[] content = serializer.serialize(EXPECTED_RESULT); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_OK); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(HttpRequest.class); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "GET", "v1.0/state/order".split("/"), urlParameters, headers, Context.empty() ); DaprHttp.Response response = mono.block(); String body = serializer.deserialize(response.getBody(), String.class); verify(httpClient).sendAsync(requestCaptor.capture(), any()); HttpRequest request = requestCaptor.getValue(); assertEquals(EXPECTED_RESULT, body); assertEquals("GET", request.method()); assertEquals("http://" + sidecarIp + ":3500/v1.0/state/order?orderId=41", request.uri().toString()); assertEquals("value", request.headers().firstValue("header").get()); assertEquals("value1", request.headers().firstValue("header1").get()); } @Test public void invokePostMethodRuntime() { MockHttpResponse mockHttpResponse = new MockHttpResponse(HTTP_SERVER_ERROR); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "POST", "v1.0/state".split("/"), null, null, Context.empty()); StepVerifier.create(mono).expectError(RuntimeException.class).verify(); } @Test public void invokePostDaprError() { byte[] content = "{\"errorCode\":null,\"message\":null}".getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_SERVER_ERROR); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "POST", "v1.0/state".split("/"), null, null, Context.empty() ); StepVerifier.create(mono).expectError(RuntimeException.class).verify(); } @Test public void invokePostMethodUnknownError() { byte[] content = "{\"errorCode\":null,\"message\":null}".getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_SERVER_ERROR); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "POST", "v1.0/state".split("/"), null, null, Context.empty() ); StepVerifier.create(mono).expectError(RuntimeException.class).verify(); } @Test public void validateExceptionParsing() { String payload = "{" + "\"errorCode\":\"ERR_PUBSUB_NOT_FOUND\"," + "\"message\":\"pubsub abc is not found\"," + "\"details\":[" + "{" + "\"@type\":\"type.googleapis.com/google.rpc.ErrorInfo\"," + "\"domain\":\"dapr.io\"," + "\"metadata\":{}," + "\"reason\":\"DAPR_PUBSUB_NOT_FOUND\"" + "}]}"; byte[] content = payload.getBytes(); MockHttpResponse mockHttpResponse = new MockHttpResponse(content, HTTP_SERVER_ERROR); CompletableFuture> mockResponse = CompletableFuture.completedFuture(mockHttpResponse); when(httpClient.sendAsync(any(), any())).thenReturn(mockResponse); DaprHttp daprHttp = new DaprHttp(Properties.SIDECAR_IP.get(), 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono mono = daprHttp.invokeApi( "POST", "v1.0/pubsub/publish".split("/"), null, null, Context.empty() ); StepVerifier.create(mono).expectErrorMatches(e -> { assertEquals(DaprException.class, e.getClass()); DaprException daprException = (DaprException)e; assertEquals("ERR_PUBSUB_NOT_FOUND", daprException.getErrorCode()); assertEquals("DAPR_PUBSUB_NOT_FOUND", daprException.getErrorDetails() .get(DaprErrorDetails.ErrorDetailType.ERROR_INFO, "reason", TypeRef.STRING)); return true; }).verify(); } /** * The purpose of this test is to show that it doesn't matter when the client is called, the actual call to DAPR * will be done when the output Mono response call the Mono.block method. * Like for instance if you call getState, without blocking for the response, and then call delete for the same state * you just retrieved but block for the delete response, when later you block for the response of the getState, you will * not find the state. *

    This test will execute the following flow:

    *
      *
    1. Execute client getState for Key=key1
    2. *
    3. Block for result to the state
    4. *
    5. Assert the Returned State is the expected to key1
    6. *
    7. Execute client getState for Key=key2
    8. *
    9. Execute client deleteState for Key=key2
    10. *
    11. Block for deleteState call.
    12. *
    13. Block for getState for Key=key2 and Assert they 2 was not found.
    14. *
    * * @throws IOException - Test will fail if any unexpected exception is being thrown */ @Test public void testCallbackCalledAtTheExpectedTimeTest() throws IOException { String existingState = "existingState"; String urlExistingState = "v1.0/state/" + existingState; String deletedStateKey = "deletedKey"; String urlDeleteState = "v1.0/state/" + deletedStateKey; when(httpClient.sendAsync(any(), any())).thenAnswer(invocation -> { HttpRequest request = invocation.getArgument(0); String url = request.uri().toString(); if (request.method().equals("GET") && url.contains(urlExistingState)) { MockHttpResponse mockHttpResponse = new MockHttpResponse(serializer.serialize(existingState), HTTP_OK); return CompletableFuture.completedFuture(mockHttpResponse); } if (request.method().equals("DELETE")) { return CompletableFuture.completedFuture(new MockHttpResponse(HTTP_NO_CONTENT)); } if (request.method().equals("GET")) { byte [] content = "{\"errorCode\":\"404\",\"message\":\"State Not Found\"}".getBytes(); return CompletableFuture.completedFuture(new MockHttpResponse(content, HTTP_NOT_FOUND)); } return CompletableFuture.failedFuture(new RuntimeException("Unexpected call")); }); DaprHttp daprHttp = new DaprHttp(sidecarIp, 3500, daprTokenApi, READ_TIMEOUT, httpClient); Mono response = daprHttp.invokeApi( "GET", urlExistingState.split("/"), null, null, Context.empty() ); assertEquals(existingState, serializer.deserialize(response.block().getBody(), String.class)); Mono responseDeleted = daprHttp.invokeApi( "GET", urlDeleteState.split("/"), null, null, Context.empty() ); Mono responseDeleteKey = daprHttp.invokeApi( "DELETE", urlDeleteState.split("/"), null, null, Context.empty() ); assertNull(serializer.deserialize(responseDeleteKey.block().getBody(), String.class)); try { responseDeleted.block(); fail("Expected DaprException"); } catch (Exception ex) { assertEquals(DaprException.class, ex.getClass()); } } } ================================================ FILE: sdk/src/test/java/io/dapr/client/DaprPreviewClientGrpcTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.protobuf.ByteString; import com.google.protobuf.Struct; import com.google.protobuf.Value; import io.dapr.client.domain.AssistantMessage; import io.dapr.client.domain.BulkPublishEntry; import io.dapr.client.domain.BulkPublishRequest; import io.dapr.client.domain.BulkPublishResponse; import io.dapr.client.domain.CloudEvent; import io.dapr.client.domain.ConversationInput; import io.dapr.client.domain.ConversationInputAlpha2; import io.dapr.client.domain.ConversationMessage; import io.dapr.client.domain.ConversationMessageContent; import io.dapr.client.domain.ConversationRequest; import io.dapr.client.domain.ConversationRequestAlpha2; import io.dapr.client.domain.ConversationResponse; import io.dapr.client.domain.ConversationResponseAlpha2; import io.dapr.client.domain.ConversationResultAlpha2; import io.dapr.client.domain.ConversationResultChoices; import io.dapr.client.domain.ConversationToolCalls; import io.dapr.client.domain.ConversationToolCallsOfFunction; import io.dapr.client.domain.ConversationTools; import io.dapr.client.domain.ConversationToolsFunction; import io.dapr.client.domain.DecryptRequestAlpha1; import io.dapr.client.domain.DeveloperMessage; import io.dapr.client.domain.EncryptRequestAlpha1; import io.dapr.client.domain.QueryStateItem; import io.dapr.client.domain.QueryStateRequest; import io.dapr.client.domain.QueryStateResponse; import io.dapr.client.domain.SystemMessage; import io.dapr.client.domain.ToolMessage; import io.dapr.client.domain.UnlockResponseStatus; import io.dapr.client.domain.UserMessage; import io.dapr.client.domain.query.Query; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.TypeRef; import io.dapr.v1.CommonProtos; import io.dapr.v1.DaprAiProtos; import io.dapr.v1.DaprAppCallbackProtos; import io.dapr.v1.DaprCryptoProtos; import io.dapr.v1.DaprGrpc; import io.dapr.v1.DaprLockProtos; import io.dapr.v1.DaprPubsubProtos; import io.dapr.v1.DaprStateProtos; import io.grpc.Status; import io.grpc.StatusRuntimeException; import io.grpc.stub.StreamObserver; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import org.mockito.Mockito; import org.mockito.stubbing.Answer; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.time.Duration; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; import java.util.concurrent.ExecutionException; import java.util.concurrent.Semaphore; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import static io.dapr.utils.TestUtils.assertThrowsDaprException; import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; public class DaprPreviewClientGrpcTest { private static final ObjectMapper MAPPER = new ObjectMapper(); private static final String QUERY_STORE_NAME = "testQueryStore"; private static final String PUBSUB_NAME = "testPubsub"; private static final String TOPIC_NAME = "testTopic"; private static final String LOCK_STORE_NAME = "MyLockStore"; private GrpcChannelFacade channel; private DaprGrpc.DaprStub daprStub; private DaprHttp daprHttp; private DaprPreviewClient previewClient; @BeforeEach public void setup() throws IOException { channel = mock(GrpcChannelFacade.class); daprStub = mock(DaprGrpc.DaprStub.class); daprHttp = mock(DaprHttp.class); when(daprStub.withInterceptors(any())).thenReturn(daprStub); previewClient = new DaprClientImpl( channel, daprStub, daprHttp, new DefaultObjectSerializer(), new DefaultObjectSerializer()); doNothing().when(channel).close(); } @AfterEach public void tearDown() throws Exception { previewClient.close(); verify(channel).close(); verifyNoMoreInteractions(channel); } @Test public void publishEventsExceptionThrownTest() { doAnswer((Answer) invocation -> { throw newStatusRuntimeException("INVALID_ARGUMENT", "bad bad argument"); }).when(daprStub).bulkPublishEvent(any(DaprPubsubProtos.BulkPublishRequest.class), any()); assertThrowsDaprException( StatusRuntimeException.class, "INVALID_ARGUMENT", "INVALID_ARGUMENT: bad bad argument", () -> previewClient.publishEvents(new BulkPublishRequest<>(PUBSUB_NAME, TOPIC_NAME, Collections.EMPTY_LIST)).block()); } @Test public void publishEventsCallbackExceptionThrownTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onError(newStatusRuntimeException("INVALID_ARGUMENT", "bad bad argument")); return null; }).when(daprStub).bulkPublishEvent(any(DaprPubsubProtos.BulkPublishRequest.class), any()); assertThrowsDaprException( ExecutionException.class, "INVALID_ARGUMENT", "INVALID_ARGUMENT: bad bad argument", () -> previewClient.publishEvents(new BulkPublishRequest<>(PUBSUB_NAME, TOPIC_NAME, Collections.EMPTY_LIST)).block()); } @Test public void publishEventsContentTypeMismatchException() throws IOException { DaprObjectSerializer mockSerializer = mock(DaprObjectSerializer.class); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(DaprPubsubProtos.BulkPublishResponse.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).bulkPublishEvent(any(DaprPubsubProtos.BulkPublishRequest.class), any()); BulkPublishEntry entry = new BulkPublishEntry<>("1", "testEntry" , "application/octet-stream", null); BulkPublishRequest wrongReq = new BulkPublishRequest<>(PUBSUB_NAME, TOPIC_NAME, Collections.singletonList(entry)); assertThrows(IllegalArgumentException.class, () -> previewClient.publishEvents(wrongReq).block()); } @Test public void publishEventsSerializeException() throws IOException { DaprObjectSerializer mockSerializer = mock(DaprObjectSerializer.class); previewClient = new DaprClientImpl(channel, daprStub, daprHttp, mockSerializer, new DefaultObjectSerializer()); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(DaprPubsubProtos.BulkPublishResponse.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).publishEvent(any(DaprPubsubProtos.PublishEventRequest.class), any()); BulkPublishEntry> entry = new BulkPublishEntry<>("1", new HashMap<>(), "application/json", null); BulkPublishRequest> req = new BulkPublishRequest<>(PUBSUB_NAME, TOPIC_NAME, Collections.singletonList(entry)); when(mockSerializer.serialize(any())).thenThrow(IOException.class); Mono>> result = previewClient.publishEvents(req); assertThrowsDaprException( IOException.class, "UNKNOWN", "UNKNOWN: ", () -> result.block()); } @Test public void publishEventsTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; DaprPubsubProtos.BulkPublishResponse.Builder builder = DaprPubsubProtos.BulkPublishResponse.newBuilder(); observer.onNext(builder.build()); observer.onCompleted(); return null; }).when(daprStub).bulkPublishEvent(any(DaprPubsubProtos.BulkPublishRequest.class), any()); BulkPublishEntry entry = new BulkPublishEntry<>("1", "test", "text/plain", null); BulkPublishRequest req = new BulkPublishRequest<>(PUBSUB_NAME, TOPIC_NAME, Collections.singletonList(entry)); Mono> result = previewClient.publishEvents(req); BulkPublishResponse res = result.block(); Assertions.assertNotNull(res); assertEquals( 0, res.getFailedEntries().size(), "expected no entry in failed entries list"); } @Test public void publishEventsWithoutMetaTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; DaprPubsubProtos.BulkPublishResponse.Builder builder = DaprPubsubProtos.BulkPublishResponse.newBuilder(); observer.onNext(builder.build()); observer.onCompleted(); return null; }).when(daprStub).bulkPublishEvent(any(DaprPubsubProtos.BulkPublishRequest.class), any()); Mono> result = previewClient.publishEvents(PUBSUB_NAME, TOPIC_NAME, "text/plain", Collections.singletonList("test")); BulkPublishResponse res = result.block(); Assertions.assertNotNull(res); assertEquals( 0, res.getFailedEntries().size(), "expected no entries in failed entries list"); } @Test public void publishEventsWithRequestMetaTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; DaprPubsubProtos.BulkPublishResponse.Builder builder = DaprPubsubProtos.BulkPublishResponse.newBuilder(); observer.onNext(builder.build()); observer.onCompleted(); return null; }).when(daprStub).bulkPublishEvent(any(DaprPubsubProtos.BulkPublishRequest.class), any()); Mono> result = previewClient.publishEvents(PUBSUB_NAME, TOPIC_NAME, "text/plain", new HashMap(){{ put("ttlInSeconds", "123"); }}, Collections.singletonList("test")); BulkPublishResponse res = result.block(); Assertions.assertNotNull(res); assertEquals( 0, res.getFailedEntries().size(), "expected no entry in failed entries list"); } @Test public void publishEventsObjectTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(DaprPubsubProtos.BulkPublishResponse.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).bulkPublishEvent(ArgumentMatchers.argThat(bulkPublishRequest -> { DaprPubsubProtos.BulkPublishRequestEntry entry = bulkPublishRequest.getEntries(0); if (!"application/json".equals(bulkPublishRequest.getEntries(0).getContentType())) { return false; } if (!"{\"id\":1,\"value\":\"Event\"}".equals(new String(entry.getEvent().toByteArray())) && !"{\"value\":\"Event\",\"id\":1}".equals(new String(entry.getEvent().toByteArray()))) { return false; } return true; }), any()); DaprClientGrpcTest.MyObject event = new DaprClientGrpcTest.MyObject(1, "Event"); BulkPublishEntry entry = new BulkPublishEntry<>("1", event, "application/json", null); BulkPublishRequest req = new BulkPublishRequest<>(PUBSUB_NAME, TOPIC_NAME, Collections.singletonList(entry)); BulkPublishResponse result = previewClient.publishEvents(req).block(); Assertions.assertNotNull(result); Assertions.assertEquals(0, result.getFailedEntries().size(), "expected no entries to be failed"); } @Test public void publishEventsContentTypeOverrideTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(DaprPubsubProtos.BulkPublishResponse.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).bulkPublishEvent(ArgumentMatchers.argThat(bulkPublishRequest -> { DaprPubsubProtos.BulkPublishRequestEntry entry = bulkPublishRequest.getEntries(0); if (!"application/json".equals(entry.getContentType())) { return false; } if (!"\"hello\"".equals(new String(entry.getEvent().toByteArray()))) { return false; } return true; }), any()); BulkPublishEntry entry = new BulkPublishEntry<>("1", "hello", "", null); BulkPublishRequest req = new BulkPublishRequest<>(PUBSUB_NAME, TOPIC_NAME, Collections.singletonList(entry)); BulkPublishResponse result = previewClient.publishEvents(req).block(); Assertions.assertNotNull(result); Assertions.assertEquals( 0, result.getFailedEntries().size(), "expected no entries to be failed"); } @Test public void publishEventsFallbackToAlphaOnUnimplemented() { doAnswer((Answer) invocation -> { throw newStatusRuntimeException("UNIMPLEMENTED", "bulkPublishEvent not supported"); }).when(daprStub).bulkPublishEvent(any(DaprPubsubProtos.BulkPublishRequest.class), any()); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(DaprPubsubProtos.BulkPublishResponse.getDefaultInstance()); observer.onCompleted(); return null; }).when(daprStub).bulkPublishEventAlpha1(any(DaprPubsubProtos.BulkPublishRequest.class), any()); BulkPublishEntry entry = new BulkPublishEntry<>("1", "test", "text/plain", null); BulkPublishRequest req = new BulkPublishRequest<>(PUBSUB_NAME, TOPIC_NAME, Collections.singletonList(entry)); BulkPublishResponse result = previewClient.publishEvents(req).block(); Assertions.assertNotNull(result); assertEquals(0, result.getFailedEntries().size(), "expected no entries to be failed"); } @Test public void queryStateExceptionsTest() { assertThrows(IllegalArgumentException.class, () -> { previewClient.queryState("", "query", String.class).block(); }); assertThrows(IllegalArgumentException.class, () -> { previewClient.queryState("storeName", "", String.class).block(); }); assertThrows(IllegalArgumentException.class, () -> { previewClient.queryState("storeName", (Query) null, String.class).block(); }); assertThrows(IllegalArgumentException.class, () -> { previewClient.queryState("storeName", (String) null, String.class).block(); }); assertThrows(IllegalArgumentException.class, () -> { previewClient.queryState(new QueryStateRequest("storeName"), String.class).block(); }); assertThrows(IllegalArgumentException.class, () -> { previewClient.queryState(null, String.class).block(); }); } @Test public void queryState() throws JsonProcessingException { List> resp = new ArrayList<>(); resp.add(new QueryStateItem("1", (Object)"testData", "6f54ad94-dfb9-46f0-a371-e42d550adb7d")); DaprStateProtos.QueryStateResponse responseEnvelope = buildQueryStateResponse(resp, ""); doAnswer(invocation -> { DaprStateProtos.QueryStateRequest req = (DaprStateProtos.QueryStateRequest) invocation.getArgument(0); assertEquals(QUERY_STORE_NAME, req.getStoreName()); assertEquals("query", req.getQuery()); assertEquals(0, req.getMetadataCount()); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).queryStateAlpha1(any(DaprStateProtos.QueryStateRequest.class), any()); QueryStateResponse response = previewClient.queryState(QUERY_STORE_NAME, "query", String.class).block(); assertNotNull(response); assertEquals(1, response.getResults().size(), "result size must be 1"); assertEquals("1", response.getResults().get(0).getKey(), "result must be same"); assertEquals("testData", response.getResults().get(0).getValue(), "result must be same"); assertEquals("6f54ad94-dfb9-46f0-a371-e42d550adb7d", response.getResults().get(0).getEtag(), "result must be same"); } @Test public void queryStateMetadataError() throws JsonProcessingException { List> resp = new ArrayList<>(); resp.add(new QueryStateItem("1", null, "error data")); DaprStateProtos.QueryStateResponse responseEnvelope = buildQueryStateResponse(resp, ""); doAnswer(invocation -> { DaprStateProtos.QueryStateRequest req = (DaprStateProtos.QueryStateRequest) invocation.getArgument(0); assertEquals(QUERY_STORE_NAME, req.getStoreName()); assertEquals("query", req.getQuery()); assertEquals(1, req.getMetadataCount()); assertEquals(1, req.getMetadataCount()); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); observer.onCompleted(); return null; }).when(daprStub).queryStateAlpha1(any(DaprStateProtos.QueryStateRequest.class), any()); QueryStateResponse response = previewClient.queryState(QUERY_STORE_NAME, "query", new HashMap(){{ put("key", "error"); }}, String.class).block(); assertNotNull(response); assertEquals(1, response.getResults().size(), "result size must be 1"); assertEquals( "1", response.getResults().get(0).getKey(), "result must be same"); assertEquals( "error data", response.getResults().get(0).getError(), "result must be same"); } @Test public void tryLock() { DaprLockProtos.TryLockResponse.Builder builder = DaprLockProtos.TryLockResponse.newBuilder() .setSuccess(true); DaprLockProtos.TryLockResponse response = builder.build(); doAnswer((Answer) invocation -> { DaprLockProtos.TryLockRequest req = invocation.getArgument(0); assertEquals(LOCK_STORE_NAME, req.getStoreName()); assertEquals("1", req.getResourceId()); assertEquals("owner", req.getLockOwner()); assertEquals(10, req.getExpiryInSeconds()); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(response); observer.onCompleted(); return null; }).when(daprStub).tryLockAlpha1(any(DaprLockProtos.TryLockRequest.class), any()); Boolean result = previewClient.tryLock("MyLockStore", "1", "owner", 10).block(); assertEquals(Boolean.TRUE, result); } @Test public void unLock() { DaprLockProtos.UnlockResponse.Builder builder = DaprLockProtos.UnlockResponse.newBuilder() .setStatus(DaprLockProtos.UnlockResponse.Status.SUCCESS); DaprLockProtos.UnlockResponse response = builder.build(); doAnswer((Answer) invocation -> { DaprLockProtos.UnlockRequest req = invocation.getArgument(0); assertEquals(LOCK_STORE_NAME, req.getStoreName()); assertEquals("1", req.getResourceId()); assertEquals("owner", req.getLockOwner()); StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(response); observer.onCompleted(); return null; }).when(daprStub).unlockAlpha1(any(DaprLockProtos.UnlockRequest.class), any()); UnlockResponseStatus result = previewClient.unlock("MyLockStore", "1", "owner").block(); assertEquals(UnlockResponseStatus.SUCCESS, result); } @Test public void subscribeEventTest() throws Exception { var numEvents = 100; var numErrors = 3; var numDrops = 2; var pubsubName = "pubsubName"; var topicName = "topicName"; var data = "my message"; var started = new Semaphore(0); doAnswer((Answer>) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[0]; var emitterThread = new Thread(() -> { try { started.acquire(); } catch (InterruptedException e) { throw new RuntimeException(e); } observer.onNext(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.getDefaultInstance()); for (int i = 0; i < numEvents; i++) { observer.onNext(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage(DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId(Integer.toString(i)) .setPubsubName(pubsubName) .setTopic(topicName) .setData(ByteString.copyFromUtf8("\"" + data + "\"")) .setDataContentType("application/json") .build()) .build()); } for (int i = 0; i < numDrops; i++) { // Bad messages observer.onNext(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage(DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId(UUID.randomUUID().toString()) .setPubsubName("bad pubsub") .setTopic("bad topic") .setData(ByteString.copyFromUtf8("\"\"")) .setDataContentType("application/json") .build()) .build()); } observer.onCompleted(); }); emitterThread.start(); return new StreamObserver<>() { @Override public void onNext(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 subscribeTopicEventsRequestAlpha1) { started.release(); } @Override public void onError(Throwable throwable) { } @Override public void onCompleted() { } }; }).when(daprStub).subscribeTopicEventsAlpha1(any(StreamObserver.class)); final Set success = Collections.synchronizedSet(new HashSet<>()); final Set errors = Collections.synchronizedSet(new HashSet<>()); final AtomicInteger dropCounter = new AtomicInteger(); final Semaphore gotAll = new Semaphore(0); final AtomicInteger errorsToBeEmitted = new AtomicInteger(numErrors); var subscription = previewClient.subscribeToEvents( "pubsubname", "topic", new SubscriptionListener<>() { @Override public Mono onEvent(CloudEvent event) { if (event.getPubsubName().equals(pubsubName) && event.getTopic().equals(topicName) && event.getData().equals(data)) { // Simulate an error if ((success.size() == 4 /* some random entry */) && errorsToBeEmitted.decrementAndGet() >= 0) { throw new RuntimeException("simulated exception on event " + event.getId()); } success.add(event.getId()); if (success.size() >= numEvents) { gotAll.release(); } return Mono.just(Status.SUCCESS); } dropCounter.incrementAndGet(); return Mono.just(Status.DROP); } @Override public void onError(RuntimeException exception) { errors.add(exception.getMessage()); } }, TypeRef.STRING); gotAll.acquire(); subscription.close(); assertEquals(numEvents, success.size()); assertEquals(numDrops, dropCounter.get()); assertEquals(numErrors, errors.size()); } @Test public void subscribeEventFluxTest() throws Exception { var numEvents = 100; var pubsubName = "pubsubName"; var topicName = "topicName"; var data = "my message"; var started = new Semaphore(0); doAnswer((Answer>) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[0]; var emitterThread = new Thread(() -> { try { started.acquire(); } catch (InterruptedException e) { throw new RuntimeException(e); } observer.onNext(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.getDefaultInstance()); for (int i = 0; i < numEvents; i++) { DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 reponse = DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage(DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId(Integer.toString(i)) .setPubsubName(pubsubName) .setTopic(topicName) .setData(ByteString.copyFromUtf8("\"" + data + "\"")) .setDataContentType("application/json") .build()) .build(); observer.onNext(reponse); } observer.onCompleted(); }); emitterThread.start(); return new StreamObserver<>() { @Override public void onNext(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 subscribeTopicEventsRequestAlpha1) { started.release(); } @Override public void onError(Throwable throwable) { // No-op } @Override public void onCompleted() { // No-op } }; }).when(daprStub).subscribeTopicEventsAlpha1(any(StreamObserver.class)); final AtomicInteger eventCount = new AtomicInteger(0); final Semaphore gotAll = new Semaphore(0); // subscribeToTopic returns Flux directly (raw data) var disposable = previewClient.subscribeToTopic(pubsubName, topicName, TypeRef.STRING) .doOnNext(rawData -> { // rawData is String directly, not CloudEvent assertEquals(data, rawData); assertTrue(rawData instanceof String); int count = eventCount.incrementAndGet(); if (count >= numEvents) { gotAll.release(); } }) .subscribe(); gotAll.acquire(); disposable.dispose(); assertEquals(numEvents, eventCount.get()); } @Test public void subscribeEventsWithMetadataTest() throws Exception { var numEvents = 10; var pubsubName = "pubsubName"; var topicName = "topicName"; var data = "my message"; var started = new Semaphore(0); var capturedMetadata = new AtomicReference>(); doAnswer((Answer>) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[0]; var emitterThread = new Thread(() -> { try { started.acquire(); } catch (InterruptedException e) { throw new RuntimeException(e); } observer.onNext(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.getDefaultInstance()); for (int i = 0; i < numEvents; i++) { DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response = DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage(DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId(Integer.toString(i)) .setPubsubName(pubsubName) .setTopic(topicName) .setData(ByteString.copyFromUtf8("\"" + data + "\"")) .setDataContentType("application/json") .build()) .build(); observer.onNext(response); } observer.onCompleted(); }); emitterThread.start(); return new StreamObserver<>() { @Override public void onNext(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 request) { // Capture metadata from initial request if (request.hasInitialRequest()) { capturedMetadata.set(request.getInitialRequest().getMetadataMap()); } started.release(); } @Override public void onError(Throwable throwable) { // No-op } @Override public void onCompleted() { // No-op } }; }).when(daprStub).subscribeTopicEventsAlpha1(any(StreamObserver.class)); final AtomicInteger eventCount = new AtomicInteger(0); final Semaphore gotAll = new Semaphore(0); Map metadata = Map.of("rawPayload", "true"); // Use subscribeToTopic with rawPayload metadata var disposable = previewClient.subscribeToTopic(pubsubName, topicName, TypeRef.STRING, metadata) .doOnNext(rawData -> { assertEquals(data, rawData); assertTrue(rawData instanceof String); int count = eventCount.incrementAndGet(); if (count >= numEvents) { gotAll.release(); } }) .subscribe(); gotAll.acquire(); disposable.dispose(); assertEquals(numEvents, eventCount.get()); // Verify metadata was passed to gRPC request assertNotNull(capturedMetadata.get()); assertEquals("true", capturedMetadata.get().get("rawPayload")); } @SuppressWarnings("deprecation") @Test public void deprecatedSubscribeToEventsFluxTest() throws Exception { var numEvents = 10; var pubsubName = "pubsubName"; var topicName = "topicName"; var data = "my message"; var started = new Semaphore(0); doAnswer((Answer>) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[0]; var emitterThread = new Thread(() -> { try { started.acquire(); } catch (InterruptedException e) { throw new RuntimeException(e); } observer.onNext(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.getDefaultInstance()); for (int i = 0; i < numEvents; i++) { DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response = DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage(DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId(Integer.toString(i)) .setPubsubName(pubsubName) .setTopic(topicName) .setData(ByteString.copyFromUtf8("\"" + data + "\"")) .setDataContentType("application/json") .build()) .build(); observer.onNext(response); } observer.onCompleted(); }); emitterThread.start(); return new StreamObserver<>() { @Override public void onNext(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 subscribeTopicEventsRequestAlpha1) { started.release(); } @Override public void onError(Throwable throwable) { // No-op } @Override public void onCompleted() { // No-op } }; }).when(daprStub).subscribeTopicEventsAlpha1(any(StreamObserver.class)); final AtomicInteger eventCount = new AtomicInteger(0); final Semaphore gotAll = new Semaphore(0); // Test deprecated subscribeToEvents method (delegates to subscribeToTopic) var disposable = previewClient.subscribeToEvents(pubsubName, topicName, TypeRef.STRING) .doOnNext(rawData -> { assertEquals(data, rawData); assertTrue(rawData instanceof String); int count = eventCount.incrementAndGet(); if (count >= numEvents) { gotAll.release(); } }) .subscribe(); gotAll.acquire(); disposable.dispose(); assertEquals(numEvents, eventCount.get()); } @SuppressWarnings("deprecation") @Test public void deprecatedSubscribeToEventsWithMetadataTest() throws Exception { var numEvents = 10; var pubsubName = "pubsubName"; var topicName = "topicName"; var data = "my message"; var started = new Semaphore(0); var capturedMetadata = new AtomicReference>(); doAnswer((Answer>) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[0]; var emitterThread = new Thread(() -> { try { started.acquire(); } catch (InterruptedException e) { throw new RuntimeException(e); } observer.onNext(DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.getDefaultInstance()); for (int i = 0; i < numEvents; i++) { DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response = DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage(DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId(Integer.toString(i)) .setPubsubName(pubsubName) .setTopic(topicName) .setData(ByteString.copyFromUtf8("\"" + data + "\"")) .setDataContentType("application/json") .build()) .build(); observer.onNext(response); } observer.onCompleted(); }); emitterThread.start(); return new StreamObserver<>() { @Override public void onNext(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 request) { if (request.hasInitialRequest()) { capturedMetadata.set(request.getInitialRequest().getMetadataMap()); } started.release(); } @Override public void onError(Throwable throwable) { // No-op } @Override public void onCompleted() { // No-op } }; }).when(daprStub).subscribeTopicEventsAlpha1(any(StreamObserver.class)); final AtomicInteger eventCount = new AtomicInteger(0); final Semaphore gotAll = new Semaphore(0); Map metadata = Map.of("rawPayload", "true"); // Test deprecated subscribeToEvents method with metadata (delegates to subscribeToTopic) var disposable = previewClient.subscribeToEvents(pubsubName, topicName, TypeRef.STRING, metadata) .doOnNext(rawData -> { assertEquals(data, rawData); assertTrue(rawData instanceof String); int count = eventCount.incrementAndGet(); if (count >= numEvents) { gotAll.release(); } }) .subscribe(); gotAll.acquire(); disposable.dispose(); assertEquals(numEvents, eventCount.get()); // Verify metadata was passed to gRPC request assertNotNull(capturedMetadata.get()); assertEquals("true", capturedMetadata.get().get("rawPayload")); } @Test public void converseShouldThrowIllegalArgumentExceptionWhenComponentNameIsNull() throws Exception { List inputs = new ArrayList<>(); inputs.add(new ConversationInput("Hello there !")); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> previewClient.converse(new ConversationRequest(null, inputs)).block()); assertEquals("LLM name cannot be null or empty.", exception.getMessage()); } @Test public void converseShouldThrowIllegalArgumentExceptionWhenConversationComponentIsEmpty() throws Exception { List inputs = new ArrayList<>(); inputs.add(new ConversationInput("Hello there !")); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> previewClient.converse(new ConversationRequest("", inputs)).block()); assertEquals("LLM name cannot be null or empty.", exception.getMessage()); } @Test public void converseShouldThrowIllegalArgumentExceptionWhenInputsIsEmpty() throws Exception { List inputs = new ArrayList<>(); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> previewClient.converse(new ConversationRequest("openai", inputs)).block()); assertEquals("Conversation inputs cannot be null or empty.", exception.getMessage()); } @Test public void converseShouldThrowIllegalArgumentExceptionWhenInputsIsNull() throws Exception { IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> previewClient.converse(new ConversationRequest("openai", null)).block()); assertEquals("Conversation inputs cannot be null or empty.", exception.getMessage()); } @Test public void converseShouldThrowIllegalArgumentExceptionWhenInputContentIsNull() throws Exception { List inputs = new ArrayList<>(); inputs.add(new ConversationInput(null)); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> previewClient.converse(new ConversationRequest("openai", inputs)).block()); assertEquals("Conversation input content cannot be null or empty.", exception.getMessage()); } @Test public void converseShouldThrowIllegalArgumentExceptionWhenInputContentIsEmpty() throws Exception { List inputs = new ArrayList<>(); inputs.add(new ConversationInput("")); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> previewClient.converse(new ConversationRequest("openai", inputs)).block()); assertEquals("Conversation input content cannot be null or empty.", exception.getMessage()); } @Test public void converseShouldReturnConversationResponseWhenRequiredInputsAreValid() throws Exception { DaprAiProtos.ConversationResponse conversationResponse = DaprAiProtos.ConversationResponse.newBuilder() .addOutputs(DaprAiProtos.ConversationResult.newBuilder().setResult("Hello How are you").build()).build(); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onNext(conversationResponse); observer.onCompleted(); return null; }).when(daprStub).converseAlpha1(any(DaprAiProtos.ConversationRequest.class), any()); List inputs = new ArrayList<>(); inputs.add(new ConversationInput("Hello there")); ConversationResponse response = previewClient.converse(new ConversationRequest("openai", inputs)).block(); ArgumentCaptor captor = ArgumentCaptor.forClass(DaprAiProtos.ConversationRequest.class); verify(daprStub, times(1)).converseAlpha1(captor.capture(), Mockito.any()); DaprAiProtos.ConversationRequest conversationRequest = captor.getValue(); assertEquals("openai", conversationRequest.getName()); assertEquals("Hello there", conversationRequest.getInputs(0).getContent()); assertEquals("Hello How are you", response.getConversationOutputs().get(0).getResult()); } @Test public void converseShouldReturnConversationResponseWhenRequiredAndOptionalInputsAreValid() throws Exception { DaprAiProtos.ConversationResponse conversationResponse = DaprAiProtos.ConversationResponse.newBuilder() .setContextID("contextId") .addOutputs(DaprAiProtos.ConversationResult.newBuilder().setResult("Hello How are you").build()).build(); doAnswer(invocation -> { StreamObserver observer = invocation.getArgument(1); observer.onNext(conversationResponse); observer.onCompleted(); return null; }).when(daprStub).converseAlpha1(any(DaprAiProtos.ConversationRequest.class), any()); ConversationInput daprConversationInput = new ConversationInput("Hello there") .setRole("Assistant") .setScrubPii(true); List inputs = new ArrayList<>(); inputs.add(daprConversationInput); ConversationResponse response = previewClient.converse(new ConversationRequest("openai", inputs) .setContextId("contextId") .setScrubPii(true) .setTemperature(1.1d)).block(); ArgumentCaptor captor = ArgumentCaptor.forClass(DaprAiProtos.ConversationRequest.class); verify(daprStub, times(1)).converseAlpha1(captor.capture(), Mockito.any()); DaprAiProtos.ConversationRequest conversationRequest = captor.getValue(); assertEquals("openai", conversationRequest.getName()); assertEquals("contextId", conversationRequest.getContextID()); assertTrue(conversationRequest.getScrubPII()); assertEquals(1.1d, conversationRequest.getTemperature(), 0d); assertEquals("Hello there", conversationRequest.getInputs(0).getContent()); assertTrue(conversationRequest.getInputs(0).getScrubPII()); assertEquals("Assistant", conversationRequest.getInputs(0).getRole()); assertEquals("contextId", response.getContextId()); assertEquals("Hello How are you", response.getConversationOutputs().get(0).getResult()); } @Test public void converseAlpha2ShouldThrowIllegalArgumentExceptionWhenNameIsNull() { List messages = new ArrayList<>(); SystemMessage systemMsg = new SystemMessage(List.of(new ConversationMessageContent("System info"))); systemMsg.setName("system"); messages.add(systemMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); ConversationRequestAlpha2 request = new ConversationRequestAlpha2(null, List.of(input)); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> previewClient.converseAlpha2(request).block()); assertEquals("LLM name cannot be null or empty.", exception.getMessage()); } @Test public void converseAlpha2ShouldThrowIllegalArgumentExceptionWhenNameIsEmpty() { List messages = new ArrayList<>(); SystemMessage systemMsg = new SystemMessage(List.of(new ConversationMessageContent("System info"))); systemMsg.setName("system"); messages.add(systemMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("", List.of(input)); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> previewClient.converseAlpha2(request).block()); assertEquals("LLM name cannot be null or empty.", exception.getMessage()); } @Test public void converseAlpha2ShouldThrowIllegalArgumentExceptionWhenNameIsWhitespace() { List messages = new ArrayList<>(); SystemMessage systemMsg = new SystemMessage(List.of(new ConversationMessageContent("System info"))); systemMsg.setName("system"); messages.add(systemMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); ConversationRequestAlpha2 request = new ConversationRequestAlpha2(" ", null); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> previewClient.converseAlpha2(request).block()); assertEquals("LLM name cannot be null or empty.", exception.getMessage()); } @Test public void converseAlpha2ShouldThrowIllegalArgumentExceptionWhenInputIsNull() { ConversationRequestAlpha2 request = new ConversationRequestAlpha2("abc", null); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> previewClient.converseAlpha2(request).block()); assertEquals("Conversation Inputs cannot be null or empty.", exception.getMessage()); } @Test public void converseAlpha2ShouldThrowIllegalArgumentExceptionWhenInputIsEmpty() { ConversationRequestAlpha2 request = new ConversationRequestAlpha2("abc", new ArrayList<>()); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> previewClient.converseAlpha2(request).block()); assertEquals("Conversation Inputs cannot be null or empty.", exception.getMessage()); } @Test public void converseAlpha2ExceptionThrownTest() { doAnswer((Answer) invocation -> { throw newStatusRuntimeException("INVALID_ARGUMENT", "bad argument"); }).when(daprStub).converseAlpha2(any(DaprAiProtos.ConversationRequestAlpha2.class), any()); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("openai", null); assertThrows(IllegalArgumentException.class, () -> previewClient.converseAlpha2(request).block()); } @Test public void converseAlpha2CallbackExceptionThrownTest() { doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onError(newStatusRuntimeException("INVALID_ARGUMENT", "bad argument")); return null; }).when(daprStub).converseAlpha2(any(DaprAiProtos.ConversationRequestAlpha2.class), any()); List messages = new ArrayList<>(); SystemMessage systemMsg = new SystemMessage(List.of(new ConversationMessageContent("System info"))); systemMsg.setName("system"); messages.add(systemMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("openai", List.of(input)); Mono result = previewClient.converseAlpha2(request); assertThrowsDaprException( ExecutionException.class, "INVALID_ARGUMENT", "INVALID_ARGUMENT: bad argument", () -> result.block()); } @Test public void converseAlpha2MinimalRequestTest() { DaprAiProtos.ConversationResponseAlpha2 grpcResponse = DaprAiProtos.ConversationResponseAlpha2.newBuilder() .setContextId("test-context") .addOutputs(DaprAiProtos.ConversationResultAlpha2.newBuilder() .addChoices(DaprAiProtos.ConversationResultChoices.newBuilder() .setFinishReason("stop") .setIndex(0) .setMessage(DaprAiProtos.ConversationResultMessage.newBuilder() .setContent("Hello! How can I help you today?") .build()) .build()) .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(grpcResponse); observer.onCompleted(); return null; }).when(daprStub).converseAlpha2(any(DaprAiProtos.ConversationRequestAlpha2.class), any()); List messages = new ArrayList<>(); DeveloperMessage devMsg = new DeveloperMessage(List.of(new ConversationMessageContent("Debug info"))); devMsg.setName("developer"); messages.add(devMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("openai", List.of(input)); ConversationResponseAlpha2 response = previewClient.converseAlpha2(request).block(); assertNotNull(response); assertEquals("test-context", response.getContextId()); assertEquals(1, response.getOutputs().size()); ConversationResultAlpha2 result = response.getOutputs().get(0); assertEquals(1, result.getChoices().size()); ConversationResultChoices choice = result.getChoices().get(0); assertEquals("stop", choice.getFinishReason()); assertEquals(0, choice.getIndex()); assertEquals("Hello! How can I help you today?", choice.getMessage().getContent()); } @Test public void converseAlpha2ComplexRequestTest() { // Create messages List messages = new ArrayList<>(); UserMessage userMessage = new UserMessage(List.of(new ConversationMessageContent("Hello, how are you?"))); userMessage.setName("John"); messages.add(userMessage); // Create input ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); input.setScrubPii(true); // Create tools Map functionParams = new HashMap<>(); functionParams.put("location", "Required location parameter"); List tools = new ArrayList<>(); ConversationToolsFunction function = new ConversationToolsFunction("get_weather", functionParams); function.setDescription("Get current weather"); ConversationTools tool = new ConversationTools(function); tools.add(tool); Map metadata = new HashMap<>(); metadata.put("key1", "value1"); Map parameters = new HashMap<>(); parameters.put("max_tokens", "1000"); Struct responseFormat = Struct.newBuilder().putFields("type", Value.newBuilder().setStringValue("text").build()).build(); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("openai", List.of(input)); request.setContextId("test-context"); request.setTemperature(0.7); request.setScrubPii(true); request.setTools(tools); request.setToolChoice("auto"); request.setMetadata(metadata); request.setParameters(parameters); request.setPromptCacheRetention(Duration.ofDays(1)); request.setResponseFormat(responseFormat); // Mock response with tool calls DaprAiProtos.ConversationResponseAlpha2 grpcResponse = DaprAiProtos.ConversationResponseAlpha2.newBuilder() .setContextId("test-context") .addOutputs(DaprAiProtos.ConversationResultAlpha2.newBuilder() .setModel("gpt-3.5-turbo") .setUsage(DaprAiProtos.ConversationResultAlpha2CompletionUsage.newBuilder() .setPromptTokens(100) .setCompletionTokens(100) .setTotalTokens(200) .setCompletionTokensDetails(DaprAiProtos.ConversationResultAlpha2CompletionUsageCompletionTokensDetails .newBuilder() .setAudioTokens(10) .setReasoningTokens(11) .setAcceptedPredictionTokens(222) .setRejectedPredictionTokens(321) .build()) .setPromptTokensDetails(DaprAiProtos.ConversationResultAlpha2CompletionUsagePromptTokensDetails .newBuilder() .setAudioTokens(654) .setCachedTokens(1112) .build()) .build()) .addChoices(DaprAiProtos.ConversationResultChoices.newBuilder() .setFinishReason("tool_calls") .setIndex(0) .setMessage(DaprAiProtos.ConversationResultMessage.newBuilder() .setContent("I'll help you get the weather information.") .addToolCalls(DaprAiProtos.ConversationToolCalls.newBuilder() .setId("call_123") .setFunction(DaprAiProtos.ConversationToolCallsOfFunction.newBuilder() .setName("get_weather") .setArguments("{\"location\": \"New York\"}") .build()) .build()) .build()) .build()) .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(grpcResponse); observer.onCompleted(); return null; }).when(daprStub).converseAlpha2(any(DaprAiProtos.ConversationRequestAlpha2.class), any()); ConversationResponseAlpha2 response = previewClient.converseAlpha2(request).block(); assertNotNull(response); assertEquals("test-context", response.getContextId()); ConversationResultChoices choice = response.getOutputs().get(0).getChoices().get(0); assertEquals("tool_calls", choice.getFinishReason()); assertEquals("I'll help you get the weather information.", choice.getMessage().getContent()); assertEquals(1, choice.getMessage().getToolCalls().size()); assertEquals("gpt-3.5-turbo", response.getOutputs().get(0).getModel()); assertEquals(100, response.getOutputs().get(0).getUsage().getCompletionTokens()); assertEquals(100, response.getOutputs().get(0).getUsage().getPromptTokens()); assertEquals(200, response.getOutputs().get(0).getUsage().getTotalTokens()); assertEquals(10, response.getOutputs().get(0).getUsage().getCompletionTokenDetails().getAudioTokens()); assertEquals(11, response.getOutputs().get(0).getUsage().getCompletionTokenDetails().getReasoningTokens()); assertEquals(222, response.getOutputs().get(0).getUsage().getCompletionTokenDetails().getAcceptedPredictionTokens()); assertEquals(321, response.getOutputs().get(0).getUsage().getCompletionTokenDetails().getRejectedPredictionTokens()); assertEquals(654, response.getOutputs().get(0).getUsage().getPromptTokenDetails().getAudioTokens()); assertEquals(1112, response.getOutputs().get(0).getUsage().getPromptTokenDetails().getCachedTokens()); ConversationToolCalls toolCall = choice.getMessage().getToolCalls().get(0); assertEquals("call_123", toolCall.getId()); assertEquals("get_weather", toolCall.getFunction().getName()); assertEquals("{\"location\": \"New York\"}", toolCall.getFunction().getArguments()); // Verify the request was built correctly ArgumentCaptor captor = ArgumentCaptor.forClass(DaprAiProtos.ConversationRequestAlpha2.class); verify(daprStub).converseAlpha2(captor.capture(), any()); DaprAiProtos.ConversationRequestAlpha2 capturedRequest = captor.getValue(); assertEquals("openai", capturedRequest.getName()); assertEquals("test-context", capturedRequest.getContextId()); assertEquals(0.7, capturedRequest.getTemperature(), 0.001); assertTrue(capturedRequest.getScrubPii()); assertEquals("auto", capturedRequest.getToolChoice()); assertEquals("value1", capturedRequest.getMetadataMap().get("key1")); assertEquals(1, capturedRequest.getToolsCount()); assertEquals("get_weather", capturedRequest.getTools(0).getFunction().getName()); assertEquals(Struct.newBuilder().putFields("type", Value.newBuilder().setStringValue("text").build()).build(), capturedRequest.getResponseFormat()); assertEquals(Duration.ofDays(1).getSeconds(), capturedRequest.getPromptCacheRetention().getSeconds()); assertEquals(0, capturedRequest.getPromptCacheRetention().getNanos()); } @Test public void converseAlpha2AllMessageTypesTest() { List messages = new ArrayList<>(); // System message SystemMessage systemMsg = new SystemMessage(List.of(new ConversationMessageContent("You are a helpful assistant."))); systemMsg.setName("system"); messages.add(systemMsg); // User message UserMessage userMsg = new UserMessage(List.of(new ConversationMessageContent("Hello!"))); userMsg.setName("user"); messages.add(userMsg); // Assistant message AssistantMessage assistantMsg = new AssistantMessage(List.of(new ConversationMessageContent("Hi there!")), List.of(new ConversationToolCalls(new ConversationToolCallsOfFunction("abc", "parameters")))); assistantMsg.setName("assistant"); messages.add(assistantMsg); // Tool message ToolMessage toolMsg = new ToolMessage(List.of(new ConversationMessageContent("Weather data: 72F"))); toolMsg.setName("tool"); messages.add(toolMsg); // Developer message DeveloperMessage devMsg = new DeveloperMessage(List.of(new ConversationMessageContent("Debug info"))); devMsg.setName("developer"); messages.add(devMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("openai", List.of(input)); DaprAiProtos.ConversationResponseAlpha2 grpcResponse = DaprAiProtos.ConversationResponseAlpha2.newBuilder() .addOutputs(DaprAiProtos.ConversationResultAlpha2.newBuilder() .addChoices(DaprAiProtos.ConversationResultChoices.newBuilder() .setFinishReason("stop") .setIndex(0) .setMessage(DaprAiProtos.ConversationResultMessage.newBuilder() .setContent("Processed all message types") .build()) .build()) .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(grpcResponse); observer.onCompleted(); return null; }).when(daprStub).converseAlpha2(any(DaprAiProtos.ConversationRequestAlpha2.class), any()); ConversationResponseAlpha2 response = previewClient.converseAlpha2(request).block(); assertNotNull(response); assertEquals("Processed all message types", response.getOutputs().get(0).getChoices().get(0).getMessage().getContent()); // Verify all message types were processed ArgumentCaptor captor = ArgumentCaptor.forClass(DaprAiProtos.ConversationRequestAlpha2.class); verify(daprStub).converseAlpha2(captor.capture(), any()); DaprAiProtos.ConversationRequestAlpha2 capturedRequest = captor.getValue(); assertEquals(1, capturedRequest.getInputsCount()); assertEquals(5, capturedRequest.getInputs(0).getMessagesCount()); // Verify each message type was converted correctly List capturedMessages = capturedRequest.getInputs(0).getMessagesList(); assertTrue(capturedMessages.get(0).hasOfSystem()); assertTrue(capturedMessages.get(1).hasOfUser()); assertTrue(capturedMessages.get(2).hasOfAssistant()); assertTrue(capturedMessages.get(3).hasOfTool()); assertTrue(capturedMessages.get(4).hasOfDeveloper()); } @Test public void converseAlpha2ResponseWithoutMessageTest() { List messages = new ArrayList<>(); DeveloperMessage devMsg = new DeveloperMessage(List.of(new ConversationMessageContent("Debug info"))); devMsg.setName("developer"); messages.add(devMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("openai", List.of(input)); DaprAiProtos.ConversationResponseAlpha2 grpcResponse = DaprAiProtos.ConversationResponseAlpha2.newBuilder() .addOutputs(DaprAiProtos.ConversationResultAlpha2.newBuilder() .addChoices(DaprAiProtos.ConversationResultChoices.newBuilder() .setFinishReason("stop") .setIndex(0) // No message set .build()) .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(grpcResponse); observer.onCompleted(); return null; }).when(daprStub).converseAlpha2(any(DaprAiProtos.ConversationRequestAlpha2.class), any()); ConversationResponseAlpha2 response = previewClient.converseAlpha2(request).block(); assertNotNull(response); ConversationResultChoices choice = response.getOutputs().get(0).getChoices().get(0); assertEquals("stop", choice.getFinishReason()); assertEquals(0, choice.getIndex()); assertNull(choice.getMessage()); } @Test public void converseAlpha2MultipleResultsTest() { List messages = new ArrayList<>(); DeveloperMessage devMsg = new DeveloperMessage(List.of(new ConversationMessageContent("Debug info"))); devMsg.setName("developer"); messages.add(devMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("openai", List.of(input)); DaprAiProtos.ConversationResponseAlpha2 grpcResponse = DaprAiProtos.ConversationResponseAlpha2.newBuilder() .addOutputs(DaprAiProtos.ConversationResultAlpha2.newBuilder() .addChoices(DaprAiProtos.ConversationResultChoices.newBuilder() .setFinishReason("stop") .setIndex(0) .setMessage(DaprAiProtos.ConversationResultMessage.newBuilder() .setContent("First choice") .build()) .build()) .addChoices(DaprAiProtos.ConversationResultChoices.newBuilder() .setFinishReason("stop") .setIndex(1) .setMessage(DaprAiProtos.ConversationResultMessage.newBuilder() .setContent("Second choice") .build()) .build()) .build()) .addOutputs(DaprAiProtos.ConversationResultAlpha2.newBuilder() .addChoices(DaprAiProtos.ConversationResultChoices.newBuilder() .setFinishReason("length") .setIndex(0) .setMessage(DaprAiProtos.ConversationResultMessage.newBuilder() .setContent("Third result") .build()) .build()) .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(grpcResponse); observer.onCompleted(); return null; }).when(daprStub).converseAlpha2(any(DaprAiProtos.ConversationRequestAlpha2.class), any()); ConversationResponseAlpha2 response = previewClient.converseAlpha2(request).block(); assertNotNull(response); assertEquals(2, response.getOutputs().size()); // First result with 2 choices ConversationResultAlpha2 firstResult = response.getOutputs().get(0); assertEquals(2, firstResult.getChoices().size()); assertEquals("First choice", firstResult.getChoices().get(0).getMessage().getContent()); assertEquals("Second choice", firstResult.getChoices().get(1).getMessage().getContent()); // Second result with 1 choice ConversationResultAlpha2 secondResult = response.getOutputs().get(1); assertEquals(1, secondResult.getChoices().size()); assertEquals("Third result", secondResult.getChoices().get(0).getMessage().getContent()); } @Test public void converseAlpha2ToolCallWithoutFunctionTest() { List messages = new ArrayList<>(); UserMessage userMsg = new UserMessage(List.of(new ConversationMessageContent("Debug info"))); userMsg.setName("developer"); messages.add(userMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("openai", List.of(input)); DaprAiProtos.ConversationResponseAlpha2 grpcResponse = DaprAiProtos.ConversationResponseAlpha2.newBuilder() .addOutputs(DaprAiProtos.ConversationResultAlpha2.newBuilder() .addChoices(DaprAiProtos.ConversationResultChoices.newBuilder() .setFinishReason("tool_calls") .setIndex(0) .setMessage(DaprAiProtos.ConversationResultMessage.newBuilder() .setContent("Test content") .addToolCalls(DaprAiProtos.ConversationToolCalls.newBuilder() .setId("call_123") // No function set .build()) .build()) .build()) .build()) .build(); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(grpcResponse); observer.onCompleted(); return null; }).when(daprStub).converseAlpha2(any(DaprAiProtos.ConversationRequestAlpha2.class), any()); ConversationResponseAlpha2 response = previewClient.converseAlpha2(request).block(); assertNotNull(response); ConversationToolCalls toolCall = response.getOutputs().get(0).getChoices().get(0) .getMessage().getToolCalls().get(0); assertEquals("call_123", toolCall.getId()); assertNull(toolCall.getFunction()); } private DaprStateProtos.QueryStateResponse buildQueryStateResponse(List> resp, String token) throws JsonProcessingException { List items = new ArrayList<>(); for (QueryStateItem item: resp) { items.add(buildQueryStateItem(item)); } return DaprStateProtos.QueryStateResponse.newBuilder() .addAllResults(items) .setToken(token) .build(); } private DaprStateProtos.QueryStateItem buildQueryStateItem(QueryStateItem item) throws JsonProcessingException { DaprStateProtos.QueryStateItem.Builder it = DaprStateProtos.QueryStateItem.newBuilder().setKey(item.getKey()); if (item.getValue() != null) { it.setData(ByteString.copyFrom(MAPPER.writeValueAsBytes(item.getValue()))); } if (item.getEtag() != null) { it.setEtag(item.getEtag()); } if (item.getError() != null) { it.setError(item.getError()); } return it.build(); } private static StatusRuntimeException newStatusRuntimeException(String status, String message) { return new StatusRuntimeException(Status.fromCode(Status.Code.valueOf(status)).withDescription(message)); } // ==================== Encrypt Tests ==================== @Test @DisplayName("encrypt should throw IllegalArgumentException when request is null") public void encryptNullRequestTest() { assertThrows(IllegalArgumentException.class, () -> { previewClient.encrypt(null).blockFirst(); }); } @Test @DisplayName("encrypt should throw IllegalArgumentException when component name is null") public void encryptNullComponentNameTest() { Flux plainTextStream = Flux.just("test data".getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( null, plainTextStream, "mykey", "RSA-OAEP-256" ); assertThrows(IllegalArgumentException.class, () -> { previewClient.encrypt(request).blockFirst(); }); } @Test @DisplayName("encrypt should throw IllegalArgumentException when component name is empty") public void encryptEmptyComponentNameTest() { Flux plainTextStream = Flux.just("test data".getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "", plainTextStream, "mykey", "RSA-OAEP-256" ); assertThrows(IllegalArgumentException.class, () -> { previewClient.encrypt(request).blockFirst(); }); } @Test @DisplayName("encrypt should throw IllegalArgumentException when component name is whitespace only") public void encryptWhitespaceComponentNameTest() { Flux plainTextStream = Flux.just("test data".getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( " ", plainTextStream, "mykey", "RSA-OAEP-256" ); assertThrows(IllegalArgumentException.class, () -> { previewClient.encrypt(request).blockFirst(); }); } @Test @DisplayName("encrypt should throw IllegalArgumentException when key name is null") public void encryptNullKeyNameTest() { Flux plainTextStream = Flux.just("test data".getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", plainTextStream, null, "RSA-OAEP-256" ); assertThrows(IllegalArgumentException.class, () -> { previewClient.encrypt(request).blockFirst(); }); } @Test @DisplayName("encrypt should throw IllegalArgumentException when key name is empty") public void encryptEmptyKeyNameTest() { Flux plainTextStream = Flux.just("test data".getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", plainTextStream, "", "RSA-OAEP-256" ); assertThrows(IllegalArgumentException.class, () -> { previewClient.encrypt(request).blockFirst(); }); } @Test @DisplayName("encrypt should throw IllegalArgumentException when key wrap algorithm is null") public void encryptNullKeyWrapAlgorithmTest() { Flux plainTextStream = Flux.just("test data".getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", plainTextStream, "mykey", null ); assertThrows(IllegalArgumentException.class, () -> { previewClient.encrypt(request).blockFirst(); }); } @Test @DisplayName("encrypt should throw IllegalArgumentException when key wrap algorithm is empty") public void encryptEmptyKeyWrapAlgorithmTest() { Flux plainTextStream = Flux.just("test data".getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", plainTextStream, "mykey", "" ); assertThrows(IllegalArgumentException.class, () -> { previewClient.encrypt(request).blockFirst(); }); } @Test @DisplayName("encrypt should throw IllegalArgumentException when plaintext stream is null") public void encryptNullPlaintextStreamTest() { EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", null, "mykey", "RSA-OAEP-256" ); assertThrows(IllegalArgumentException.class, () -> { previewClient.encrypt(request).blockFirst(); }); } @Test @DisplayName("encrypt should successfully encrypt data with required fields") public void encryptSuccessTest() { byte[] plaintext = "Hello, World!".getBytes(StandardCharsets.UTF_8); byte[] encryptedData = "encrypted-data".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; // Simulate returning encrypted data DaprCryptoProtos.EncryptResponse response = DaprCryptoProtos.EncryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(encryptedData)) .setSeq(0) .build()) .build(); responseObserver.onNext(response); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).encryptAlpha1(any()); Flux plainTextStream = Flux.just(plaintext); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", plainTextStream, "mykey", "RSA-OAEP-256" ); List results = previewClient.encrypt(request).collectList().block(); assertNotNull(results); assertEquals(1, results.size()); assertArrayEquals(encryptedData, results.get(0)); } @Test @DisplayName("encrypt should handle multiple response chunks") public void encryptMultipleChunksResponseTest() { byte[] plaintext = "Hello, World!".getBytes(StandardCharsets.UTF_8); byte[] chunk1 = "chunk1".getBytes(StandardCharsets.UTF_8); byte[] chunk2 = "chunk2".getBytes(StandardCharsets.UTF_8); byte[] chunk3 = "chunk3".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; // Simulate returning multiple chunks responseObserver.onNext(DaprCryptoProtos.EncryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(chunk1)) .setSeq(0) .build()) .build()); responseObserver.onNext(DaprCryptoProtos.EncryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(chunk2)) .setSeq(1) .build()) .build()); responseObserver.onNext(DaprCryptoProtos.EncryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(chunk3)) .setSeq(2) .build()) .build()); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).encryptAlpha1(any()); Flux plainTextStream = Flux.just(plaintext); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", plainTextStream, "mykey", "RSA-OAEP-256" ); List results = previewClient.encrypt(request).collectList().block(); assertNotNull(results); assertEquals(3, results.size()); assertArrayEquals(chunk1, results.get(0)); assertArrayEquals(chunk2, results.get(1)); assertArrayEquals(chunk3, results.get(2)); } @Test @DisplayName("encrypt should handle optional data encryption cipher") public void encryptWithDataEncryptionCipherTest() { byte[] plaintext = "Hello, World!".getBytes(StandardCharsets.UTF_8); byte[] encryptedData = "encrypted-data".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; DaprCryptoProtos.EncryptResponse response = DaprCryptoProtos.EncryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(encryptedData)) .setSeq(0) .build()) .build(); responseObserver.onNext(response); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).encryptAlpha1(any()); Flux plainTextStream = Flux.just(plaintext); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", plainTextStream, "mykey", "RSA-OAEP-256" ).setDataEncryptionCipher("aes-gcm"); List results = previewClient.encrypt(request).collectList().block(); assertNotNull(results); assertEquals(1, results.size()); } @Test @DisplayName("encrypt should handle omit decryption key name option") public void encryptWithOmitDecryptionKeyNameTest() { byte[] plaintext = "Hello, World!".getBytes(StandardCharsets.UTF_8); byte[] encryptedData = "encrypted-data".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; DaprCryptoProtos.EncryptResponse response = DaprCryptoProtos.EncryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(encryptedData)) .setSeq(0) .build()) .build(); responseObserver.onNext(response); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).encryptAlpha1(any()); Flux plainTextStream = Flux.just(plaintext); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", plainTextStream, "mykey", "RSA-OAEP-256" ).setOmitDecryptionKeyName(true); List results = previewClient.encrypt(request).collectList().block(); assertNotNull(results); assertEquals(1, results.size()); } @Test @DisplayName("encrypt should handle decryption key name option") public void encryptWithDecryptionKeyNameTest() { byte[] plaintext = "Hello, World!".getBytes(StandardCharsets.UTF_8); byte[] encryptedData = "encrypted-data".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; DaprCryptoProtos.EncryptResponse response = DaprCryptoProtos.EncryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(encryptedData)) .setSeq(0) .build()) .build(); responseObserver.onNext(response); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).encryptAlpha1(any()); Flux plainTextStream = Flux.just(plaintext); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", plainTextStream, "mykey", "RSA-OAEP-256" ).setDecryptionKeyName("different-key"); List results = previewClient.encrypt(request).collectList().block(); assertNotNull(results); assertEquals(1, results.size()); } @Test @DisplayName("encrypt should handle all optional fields") public void encryptWithAllOptionalFieldsTest() { byte[] plaintext = "Hello, World!".getBytes(StandardCharsets.UTF_8); byte[] encryptedData = "encrypted-data".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; DaprCryptoProtos.EncryptResponse response = DaprCryptoProtos.EncryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(encryptedData)) .setSeq(0) .build()) .build(); responseObserver.onNext(response); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).encryptAlpha1(any()); Flux plainTextStream = Flux.just(plaintext); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", plainTextStream, "mykey", "RSA-OAEP-256" ) .setDataEncryptionCipher("chacha20-poly1305") .setOmitDecryptionKeyName(true) .setDecryptionKeyName("decrypt-key"); List results = previewClient.encrypt(request).collectList().block(); assertNotNull(results); assertEquals(1, results.size()); } @Test @DisplayName("encrypt should filter empty data from response") public void encryptFilterEmptyDataTest() { byte[] plaintext = "Hello, World!".getBytes(StandardCharsets.UTF_8); byte[] validData = "valid-data".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; // Send empty data - should be filtered responseObserver.onNext(DaprCryptoProtos.EncryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.EMPTY) .setSeq(0) .build()) .build()); // Send valid data responseObserver.onNext(DaprCryptoProtos.EncryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(validData)) .setSeq(1) .build()) .build()); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).encryptAlpha1(any()); Flux plainTextStream = Flux.just(plaintext); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "mycomponent", plainTextStream, "mykey", "RSA-OAEP-256" ); List results = previewClient.encrypt(request).collectList().block(); assertNotNull(results); assertEquals(1, results.size()); assertArrayEquals(validData, results.get(0)); } // ==================== Decrypt Tests ==================== @Test @DisplayName("decrypt should throw IllegalArgumentException when request is null") public void decryptNullRequestTest() { assertThrows(IllegalArgumentException.class, () -> { previewClient.decrypt(null).blockFirst(); }); } @Test @DisplayName("decrypt should throw IllegalArgumentException when component name is null") public void decryptNullComponentNameTest() { Flux cipherTextStream = Flux.just("encrypted data".getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1(null, cipherTextStream); assertThrows(IllegalArgumentException.class, () -> { previewClient.decrypt(request).blockFirst(); }); } @Test @DisplayName("decrypt should throw IllegalArgumentException when component name is empty") public void decryptEmptyComponentNameTest() { Flux cipherTextStream = Flux.just("encrypted data".getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1("", cipherTextStream); assertThrows(IllegalArgumentException.class, () -> { previewClient.decrypt(request).blockFirst(); }); } @Test @DisplayName("decrypt should throw IllegalArgumentException when component name is whitespace only") public void decryptWhitespaceComponentNameTest() { Flux cipherTextStream = Flux.just("encrypted data".getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1(" ", cipherTextStream); assertThrows(IllegalArgumentException.class, () -> { previewClient.decrypt(request).blockFirst(); }); } @Test @DisplayName("decrypt should throw IllegalArgumentException when ciphertext stream is null") public void decryptNullCiphertextStreamTest() { DecryptRequestAlpha1 request = new DecryptRequestAlpha1("mycomponent", null); assertThrows(IllegalArgumentException.class, () -> { previewClient.decrypt(request).blockFirst(); }); } @Test @DisplayName("decrypt should successfully decrypt data with required fields") public void decryptSuccessTest() { byte[] ciphertext = "encrypted-data".getBytes(StandardCharsets.UTF_8); byte[] decryptedData = "Hello, World!".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; DaprCryptoProtos.DecryptResponse response = DaprCryptoProtos.DecryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(decryptedData)) .setSeq(0) .build()) .build(); responseObserver.onNext(response); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).decryptAlpha1(any()); Flux cipherTextStream = Flux.just(ciphertext); DecryptRequestAlpha1 request = new DecryptRequestAlpha1("mycomponent", cipherTextStream); List results = previewClient.decrypt(request).collectList().block(); assertNotNull(results); assertEquals(1, results.size()); assertArrayEquals(decryptedData, results.get(0)); } @Test @DisplayName("decrypt should handle multiple response chunks") public void decryptMultipleChunksResponseTest() { byte[] ciphertext = "encrypted-data".getBytes(StandardCharsets.UTF_8); byte[] chunk1 = "chunk1".getBytes(StandardCharsets.UTF_8); byte[] chunk2 = "chunk2".getBytes(StandardCharsets.UTF_8); byte[] chunk3 = "chunk3".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; responseObserver.onNext(DaprCryptoProtos.DecryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(chunk1)) .setSeq(0) .build()) .build()); responseObserver.onNext(DaprCryptoProtos.DecryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(chunk2)) .setSeq(1) .build()) .build()); responseObserver.onNext(DaprCryptoProtos.DecryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(chunk3)) .setSeq(2) .build()) .build()); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).decryptAlpha1(any()); Flux cipherTextStream = Flux.just(ciphertext); DecryptRequestAlpha1 request = new DecryptRequestAlpha1("mycomponent", cipherTextStream); List results = previewClient.decrypt(request).collectList().block(); assertNotNull(results); assertEquals(3, results.size()); assertArrayEquals(chunk1, results.get(0)); assertArrayEquals(chunk2, results.get(1)); assertArrayEquals(chunk3, results.get(2)); } @Test @DisplayName("decrypt should handle optional key name") public void decryptWithKeyNameTest() { byte[] ciphertext = "encrypted-data".getBytes(StandardCharsets.UTF_8); byte[] decryptedData = "Hello, World!".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; DaprCryptoProtos.DecryptResponse response = DaprCryptoProtos.DecryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(decryptedData)) .setSeq(0) .build()) .build(); responseObserver.onNext(response); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).decryptAlpha1(any()); Flux cipherTextStream = Flux.just(ciphertext); DecryptRequestAlpha1 request = new DecryptRequestAlpha1("mycomponent", cipherTextStream) .setKeyName("mykey"); List results = previewClient.decrypt(request).collectList().block(); assertNotNull(results); assertEquals(1, results.size()); assertArrayEquals(decryptedData, results.get(0)); } @Test @DisplayName("decrypt should filter empty data from response") public void decryptFilterEmptyDataTest() { byte[] ciphertext = "encrypted-data".getBytes(StandardCharsets.UTF_8); byte[] validData = "valid-data".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; // Send empty data - should be filtered responseObserver.onNext(DaprCryptoProtos.DecryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.EMPTY) .setSeq(0) .build()) .build()); // Send valid data responseObserver.onNext(DaprCryptoProtos.DecryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(validData)) .setSeq(1) .build()) .build()); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).decryptAlpha1(any()); Flux cipherTextStream = Flux.just(ciphertext); DecryptRequestAlpha1 request = new DecryptRequestAlpha1("mycomponent", cipherTextStream); List results = previewClient.decrypt(request).collectList().block(); assertNotNull(results); assertEquals(1, results.size()); assertArrayEquals(validData, results.get(0)); } @Test @DisplayName("decrypt should handle key name with version") public void decryptWithKeyNameVersionTest() { byte[] ciphertext = "encrypted-data".getBytes(StandardCharsets.UTF_8); byte[] decryptedData = "Hello, World!".getBytes(StandardCharsets.UTF_8); doAnswer((Answer>) invocation -> { StreamObserver responseObserver = (StreamObserver) invocation.getArguments()[0]; DaprCryptoProtos.DecryptResponse response = DaprCryptoProtos.DecryptResponse.newBuilder() .setPayload(CommonProtos.StreamPayload.newBuilder() .setData(ByteString.copyFrom(decryptedData)) .setSeq(0) .build()) .build(); responseObserver.onNext(response); responseObserver.onCompleted(); return mock(StreamObserver.class); }).when(daprStub).decryptAlpha1(any()); Flux cipherTextStream = Flux.just(ciphertext); DecryptRequestAlpha1 request = new DecryptRequestAlpha1("mycomponent", cipherTextStream) .setKeyName("mykey/v2"); List results = previewClient.decrypt(request).collectList().block(); assertNotNull(results); assertEquals(1, results.size()); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/MockHttpResponse.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import javax.net.ssl.SSLSession; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpHeaders; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.Collections; import java.util.Optional; public class MockHttpResponse implements HttpResponse { private final byte[] body; private final int statusCode; public MockHttpResponse(int statusCode) { this.body = null; this.statusCode = statusCode; } public MockHttpResponse(byte[] body, int statusCode) { this.body = body; this.statusCode = statusCode; } @Override public int statusCode() { return statusCode; } @Override public HttpRequest request() { return null; } @Override public Optional> previousResponse() { return Optional.empty(); } @Override public HttpHeaders headers() { return HttpHeaders.of(Collections.emptyMap(), (a, b) -> true); } @Override public byte[] body() { return body; } @Override public Optional sslSession() { return Optional.empty(); } @Override public URI uri() { return null; } @Override public HttpClient.Version version() { return null; } } ================================================ FILE: sdk/src/test/java/io/dapr/client/ProtobufValueHelperTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client; import com.google.protobuf.ListValue; import com.google.protobuf.NullValue; import com.google.protobuf.Struct; import com.google.protobuf.Value; import org.junit.jupiter.api.Test; import java.io.IOException; import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; public class ProtobufValueHelperTest { @Test public void testToProtobufValue_Null() throws IOException { Value result = ProtobufValueHelper.toProtobufValue(null); assertNotNull(result); assertTrue(result.hasNullValue()); assertEquals(NullValue.NULL_VALUE, result.getNullValue()); } @Test public void testToProtobufValue_Boolean_True() throws IOException { Value result = ProtobufValueHelper.toProtobufValue(true); assertNotNull(result); assertTrue(result.hasBoolValue()); assertEquals(true, result.getBoolValue()); } @Test public void testToProtobufValue_Boolean_False() throws IOException { Value result = ProtobufValueHelper.toProtobufValue(false); assertNotNull(result); assertTrue(result.hasBoolValue()); assertEquals(false, result.getBoolValue()); } @Test public void testToProtobufValue_String() throws IOException { String testString = "Hello, World!"; Value result = ProtobufValueHelper.toProtobufValue(testString); assertNotNull(result); assertTrue(result.hasStringValue()); assertEquals(testString, result.getStringValue()); } @Test public void testToProtobufValue_String_Empty() throws IOException { String emptyString = ""; Value result = ProtobufValueHelper.toProtobufValue(emptyString); assertNotNull(result); assertTrue(result.hasStringValue()); assertEquals(emptyString, result.getStringValue()); } @Test public void testToProtobufValue_Integer() throws IOException { Integer testInt = 42; Value result = ProtobufValueHelper.toProtobufValue(testInt); assertNotNull(result); assertTrue(result.hasNumberValue()); assertEquals(42.0, result.getNumberValue(), 0.001); } @Test public void testToProtobufValue_Long() throws IOException { Long testLong = 9876543210L; Value result = ProtobufValueHelper.toProtobufValue(testLong); assertNotNull(result); assertTrue(result.hasNumberValue()); assertEquals(9876543210.0, result.getNumberValue(), 0.001); } @Test public void testToProtobufValue_Double() throws IOException { Double testDouble = 3.14159; Value result = ProtobufValueHelper.toProtobufValue(testDouble); assertNotNull(result); assertTrue(result.hasNumberValue()); assertEquals(testDouble, result.getNumberValue(), 0.00001); } @Test public void testToProtobufValue_Float() throws IOException { Float testFloat = 2.718f; Value result = ProtobufValueHelper.toProtobufValue(testFloat); assertNotNull(result); assertTrue(result.hasNumberValue()); assertEquals(2.718, result.getNumberValue(), 0.001); } @Test public void testToProtobufValue_BigInteger() throws IOException { BigInteger testBigInt = new BigInteger("123456789012345678901234567890"); Value result = ProtobufValueHelper.toProtobufValue(testBigInt); assertNotNull(result); assertTrue(result.hasNumberValue()); assertEquals(1.2345678901234568E29, result.getNumberValue(), 1E20); } @Test public void testToProtobufValue_BigDecimal() throws IOException { BigDecimal testBigDecimal = new BigDecimal("123.456789"); Value result = ProtobufValueHelper.toProtobufValue(testBigDecimal); assertNotNull(result); assertTrue(result.hasNumberValue()); assertEquals(123.456789, result.getNumberValue(), 0.000001); } @Test public void testToProtobufValue_EmptyList() throws IOException { List emptyList = new ArrayList<>(); Value result = ProtobufValueHelper.toProtobufValue(emptyList); assertNotNull(result); assertTrue(result.hasListValue()); ListValue listValue = result.getListValue(); assertEquals(0, listValue.getValuesCount()); } @Test public void testToProtobufValue_SimpleList() throws IOException { List testList = Arrays.asList("hello", 42, true, null); Value result = ProtobufValueHelper.toProtobufValue(testList); assertNotNull(result); assertTrue(result.hasListValue()); ListValue listValue = result.getListValue(); assertEquals(4, listValue.getValuesCount()); // Verify each element assertEquals("hello", listValue.getValues(0).getStringValue()); assertEquals(42.0, listValue.getValues(1).getNumberValue(), 0.001); assertEquals(true, listValue.getValues(2).getBoolValue()); assertEquals(NullValue.NULL_VALUE, listValue.getValues(3).getNullValue()); } @Test public void testToProtobufValue_NestedList() throws IOException { List innerList = Arrays.asList(1, 2, 3); List outerList = Arrays.asList("outer", innerList, "end"); Value result = ProtobufValueHelper.toProtobufValue(outerList); assertNotNull(result); assertTrue(result.hasListValue()); ListValue listValue = result.getListValue(); assertEquals(3, listValue.getValuesCount()); // Verify nested list assertEquals("outer", listValue.getValues(0).getStringValue()); assertTrue(listValue.getValues(1).hasListValue()); ListValue nestedList = listValue.getValues(1).getListValue(); assertEquals(3, nestedList.getValuesCount()); assertEquals(1.0, nestedList.getValues(0).getNumberValue(), 0.001); assertEquals(2.0, nestedList.getValues(1).getNumberValue(), 0.001); assertEquals(3.0, nestedList.getValues(2).getNumberValue(), 0.001); assertEquals("end", listValue.getValues(2).getStringValue()); } @Test public void testToProtobufValue_EmptyMap() throws IOException { Map emptyMap = new HashMap<>(); Value result = ProtobufValueHelper.toProtobufValue(emptyMap); assertNotNull(result); assertTrue(result.hasStructValue()); Struct struct = result.getStructValue(); assertEquals(0, struct.getFieldsCount()); } @Test public void testToProtobufValue_SimpleMap() throws IOException { Map testMap = new LinkedHashMap<>(); testMap.put("name", "John Doe"); testMap.put("age", 30); testMap.put("active", true); testMap.put("description", null); Value result = ProtobufValueHelper.toProtobufValue(testMap); assertNotNull(result); assertTrue(result.hasStructValue()); Struct struct = result.getStructValue(); assertEquals(4, struct.getFieldsCount()); // Verify each field assertEquals("John Doe", struct.getFieldsMap().get("name").getStringValue()); assertEquals(30.0, struct.getFieldsMap().get("age").getNumberValue(), 0.001); assertEquals(true, struct.getFieldsMap().get("active").getBoolValue()); assertEquals(NullValue.NULL_VALUE, struct.getFieldsMap().get("description").getNullValue()); } @Test public void testToProtobufValue_NestedMap() throws IOException { Map innerMap = new HashMap<>(); innerMap.put("city", "New York"); innerMap.put("zipcode", 10001); Map outerMap = new HashMap<>(); outerMap.put("name", "John"); outerMap.put("address", innerMap); outerMap.put("hobbies", Arrays.asList("reading", "coding")); Value result = ProtobufValueHelper.toProtobufValue(outerMap); assertNotNull(result); assertTrue(result.hasStructValue()); Struct struct = result.getStructValue(); assertEquals(3, struct.getFieldsCount()); // Verify nested structure assertEquals("John", struct.getFieldsMap().get("name").getStringValue()); // Verify nested map assertTrue(struct.getFieldsMap().get("address").hasStructValue()); Struct nestedStruct = struct.getFieldsMap().get("address").getStructValue(); assertEquals("New York", nestedStruct.getFieldsMap().get("city").getStringValue()); assertEquals(10001.0, nestedStruct.getFieldsMap().get("zipcode").getNumberValue(), 0.001); // Verify nested list assertTrue(struct.getFieldsMap().get("hobbies").hasListValue()); ListValue hobbiesList = struct.getFieldsMap().get("hobbies").getListValue(); assertEquals(2, hobbiesList.getValuesCount()); assertEquals("reading", hobbiesList.getValues(0).getStringValue()); assertEquals("coding", hobbiesList.getValues(1).getStringValue()); } @Test public void testToProtobufValue_MapWithNonStringKeys() throws IOException { Map intKeyMap = new HashMap<>(); intKeyMap.put(1, "one"); intKeyMap.put(2, "two"); Value result = ProtobufValueHelper.toProtobufValue(intKeyMap); assertNotNull(result); assertTrue(result.hasStructValue()); Struct struct = result.getStructValue(); assertEquals(2, struct.getFieldsCount()); // Keys should be converted to strings assertTrue(struct.getFieldsMap().containsKey("1")); assertTrue(struct.getFieldsMap().containsKey("2")); assertEquals("one", struct.getFieldsMap().get("1").getStringValue()); assertEquals("two", struct.getFieldsMap().get("2").getStringValue()); } @Test public void testToProtobufValue_CustomObject() throws IOException { // Test with a custom object that will fall back to toString() TestCustomObject customObj = new TestCustomObject("test", 123); Value result = ProtobufValueHelper.toProtobufValue(customObj); assertNotNull(result); assertTrue(result.hasStringValue()); assertEquals("TestCustomObject{name='test', value=123}", result.getStringValue()); } @Test public void testToProtobufValue_ComplexNestedStructure() throws IOException { // Create a complex nested structure Map config = new HashMap<>(); config.put("timeout", 30); config.put("retries", 3); Map server = new HashMap<>(); server.put("host", "localhost"); server.put("port", 8080); server.put("ssl", true); server.put("config", config); List tags = Arrays.asList("prod", "critical", "monitoring"); Map application = new HashMap<>(); application.put("name", "my-app"); application.put("version", "1.0.0"); application.put("server", server); application.put("tags", tags); application.put("metadata", null); Value result = ProtobufValueHelper.toProtobufValue(application); assertNotNull(result); assertTrue(result.hasStructValue()); Struct appStruct = result.getStructValue(); // Verify top-level fields assertEquals("my-app", appStruct.getFieldsMap().get("name").getStringValue()); assertEquals("1.0.0", appStruct.getFieldsMap().get("version").getStringValue()); assertEquals(NullValue.NULL_VALUE, appStruct.getFieldsMap().get("metadata").getNullValue()); // Verify server object assertTrue(appStruct.getFieldsMap().get("server").hasStructValue()); Struct serverStruct = appStruct.getFieldsMap().get("server").getStructValue(); assertEquals("localhost", serverStruct.getFieldsMap().get("host").getStringValue()); assertEquals(8080.0, serverStruct.getFieldsMap().get("port").getNumberValue(), 0.001); assertEquals(true, serverStruct.getFieldsMap().get("ssl").getBoolValue()); // Verify nested config assertTrue(serverStruct.getFieldsMap().get("config").hasStructValue()); Struct configStruct = serverStruct.getFieldsMap().get("config").getStructValue(); assertEquals(30.0, configStruct.getFieldsMap().get("timeout").getNumberValue(), 0.001); assertEquals(3.0, configStruct.getFieldsMap().get("retries").getNumberValue(), 0.001); // Verify tags list assertTrue(appStruct.getFieldsMap().get("tags").hasListValue()); ListValue tagsList = appStruct.getFieldsMap().get("tags").getListValue(); assertEquals(3, tagsList.getValuesCount()); assertEquals("prod", tagsList.getValues(0).getStringValue()); assertEquals("critical", tagsList.getValues(1).getStringValue()); assertEquals("monitoring", tagsList.getValues(2).getStringValue()); } @Test public void testToProtobufValue_OpenAPIFunctionSchema() throws IOException { // Test with the exact schema structure provided by the user Map functionSchema = new LinkedHashMap<>(); functionSchema.put("type", "function"); functionSchema.put("name", "get_horoscope"); functionSchema.put("description", "Get today's horoscope for an astrological sign."); Map parameters = new LinkedHashMap<>(); parameters.put("type", "object"); Map properties = new LinkedHashMap<>(); Map signProperty = new LinkedHashMap<>(); signProperty.put("type", "string"); signProperty.put("description", "An astrological sign like Taurus or Aquarius"); properties.put("sign", signProperty); parameters.put("properties", properties); parameters.put("required", Arrays.asList("sign")); functionSchema.put("parameters", parameters); Value result = ProtobufValueHelper.toProtobufValue(functionSchema); assertNotNull(result); assertTrue(result.hasStructValue()); Struct rootStruct = result.getStructValue(); // Verify root level fields assertEquals("function", rootStruct.getFieldsMap().get("type").getStringValue()); assertEquals("get_horoscope", rootStruct.getFieldsMap().get("name").getStringValue()); assertEquals("Get today's horoscope for an astrological sign.", rootStruct.getFieldsMap().get("description").getStringValue()); // Verify parameters object assertTrue(rootStruct.getFieldsMap().get("parameters").hasStructValue()); Struct parametersStruct = rootStruct.getFieldsMap().get("parameters").getStructValue(); assertEquals("object", parametersStruct.getFieldsMap().get("type").getStringValue()); // Verify properties object assertTrue(parametersStruct.getFieldsMap().get("properties").hasStructValue()); Struct propertiesStruct = parametersStruct.getFieldsMap().get("properties").getStructValue(); // Verify sign property assertTrue(propertiesStruct.getFieldsMap().get("sign").hasStructValue()); Struct signStruct = propertiesStruct.getFieldsMap().get("sign").getStructValue(); assertEquals("string", signStruct.getFieldsMap().get("type").getStringValue()); assertEquals("An astrological sign like Taurus or Aquarius", signStruct.getFieldsMap().get("description").getStringValue()); // Verify required array assertTrue(parametersStruct.getFieldsMap().get("required").hasListValue()); ListValue requiredList = parametersStruct.getFieldsMap().get("required").getListValue(); assertEquals(1, requiredList.getValuesCount()); assertEquals("sign", requiredList.getValues(0).getStringValue()); } /** * Helper class for testing custom object conversion */ private static class TestCustomObject { private final String name; private final int value; public TestCustomObject(String name, int value) { this.name = name; this.value = value; } @Override public String toString() { return "TestCustomObject{name='" + name + "', value=" + value + "}"; } } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/BulkPublishEntryTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; class BulkPublishEntryTest { @Test @DisplayName("Should create an empty metadata when metadata argument is null") public void shouldCreateWithEmptyMetadataWhenMetadataIsNull() { BulkPublishEntry entry = new BulkPublishEntry<>( "entryId", "event", "contentType", null ); assertThat(entry.getMetadata()).isEmpty(); } @Test @DisplayName("Should create with non null metadata") public void shouldCreateWithMetadata() { BulkPublishEntry entry = new BulkPublishEntry<>( "entryId", "event", "application/json", Map.of( "repo", "dapr/java-sdk" )); assertThat(entry.getMetadata()).hasSize(1); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/BulkPublishRequestTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertNull; public class BulkPublishRequestTest { @Test public void testSetMetadata() { BulkPublishRequest request = new BulkPublishRequest<>("testPubsub", "testTopic", Collections.emptyList()); // Null check request.setMetadata(null); assertNull(request.getMetadata()); // Modifiability check Map metadata = new HashMap<>(); metadata.put("test", "testval"); request.setMetadata(metadata); Map initial = request.getMetadata(); request.setMetadata(metadata); assertThat(request.getMetadata()).isNotSameAs(initial); } @Test @DisplayName("Should create a BulkPublishRequest with empty list when entries is null") public void shouldCreateWithEmptyListWhenEntriesIsNull() { BulkPublishRequest request = new BulkPublishRequest<>("testPubsub", "testTopic", null); List> entries = request.getEntries(); assertThat(entries).isNotNull(); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/ConfigurationItemTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; class ConfigurationItemTest { @Test @DisplayName("Should create ConfigurationItem correctly") void shouldCreateConfigurationItemCorrectly() { ConfigurationItem item = new ConfigurationItem("application", "java-sdk", "0.0.1", Map.of( "creator", "devs" )); assertThat(item.getKey()).isEqualTo("application"); assertThat(item.getValue()).isEqualTo("java-sdk"); assertThat(item.getVersion()).isEqualTo("0.0.1"); assertThat(item.getMetadata()).hasSize(1); assertThat(item.getMetadata()).hasEntrySatisfying("creator", value -> { assertThat(value).isEqualTo("devs"); }); } @Test @DisplayName("Should create with immutable metadata") void shouldCreateWithImmutableMetadata() { ConfigurationItem item = new ConfigurationItem("application", "java-sdk", "0.0.1", Map.of( "creator", "devs" )); assertThatThrownBy(() -> item.getMetadata().put("language", "javascript")); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/DecryptRequestAlpha1Test.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import reactor.core.publisher.Flux; import reactor.test.StepVerifier; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertSame; public class DecryptRequestAlpha1Test { private static final String COMPONENT_NAME = "mycomponent"; private static final String ENCRYPTED_DATA = "encrypted data"; @Test @DisplayName("Constructor should set required fields correctly") public void testConstructorWithRequiredFields() { Flux cipherTextStream = Flux.just(ENCRYPTED_DATA.getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, cipherTextStream ); assertEquals(COMPONENT_NAME, request.getComponentName()); assertNotNull(request.getCipherTextStream()); assertNull(request.getKeyName()); } @Test @DisplayName("setKeyName should set key name correctly") public void testFluentSetKeyName() { Flux cipherTextStream = Flux.just(ENCRYPTED_DATA.getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, cipherTextStream ).setKeyName("mykey"); assertEquals("mykey", request.getKeyName()); } @Test @DisplayName("setKeyName should return same instance for method chaining") public void testFluentSetterReturnsSameInstance() { Flux cipherTextStream = Flux.just(ENCRYPTED_DATA.getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, cipherTextStream ); DecryptRequestAlpha1 sameRequest = request.setKeyName("mykey"); assertSame(request, sameRequest); } @Test @DisplayName("Constructor should accept null component name") public void testNullComponentName() { Flux cipherTextStream = Flux.just(ENCRYPTED_DATA.getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( null, cipherTextStream ); assertNull(request.getComponentName()); } @Test @DisplayName("Constructor should accept null ciphertext stream") public void testNullCipherTextStream() { DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, null ); assertNull(request.getCipherTextStream()); } @Test @DisplayName("Constructor should accept empty stream") public void testEmptyStream() { Flux emptyStream = Flux.empty(); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, emptyStream ); assertNotNull(request.getCipherTextStream()); StepVerifier.create(request.getCipherTextStream()) .verifyComplete(); } @Test @DisplayName("Should handle multiple chunks in stream") public void testMultipleChunksStream() { byte[] chunk1 = "chunk1".getBytes(StandardCharsets.UTF_8); byte[] chunk2 = "chunk2".getBytes(StandardCharsets.UTF_8); byte[] chunk3 = "chunk3".getBytes(StandardCharsets.UTF_8); Flux multiChunkStream = Flux.just(chunk1, chunk2, chunk3); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, multiChunkStream ); assertNotNull(request.getCipherTextStream()); List collectedChunks = new ArrayList<>(); StepVerifier.create(request.getCipherTextStream()) .recordWith(() -> collectedChunks) .expectNextCount(3) .verifyComplete(); assertEquals(3, collectedChunks.size()); assertArrayEquals(chunk1, collectedChunks.get(0)); assertArrayEquals(chunk2, collectedChunks.get(1)); assertArrayEquals(chunk3, collectedChunks.get(2)); } @Test @DisplayName("setKeyName should accept null value") public void testSetKeyNameNull() { Flux cipherTextStream = Flux.just(ENCRYPTED_DATA.getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, cipherTextStream ) .setKeyName("some-key") .setKeyName(null); assertNull(request.getKeyName()); } @Test @DisplayName("Should handle key name with version") public void testKeyNameWithVersion() { Flux cipherTextStream = Flux.just(ENCRYPTED_DATA.getBytes(StandardCharsets.UTF_8)); String keyNameWithVersion = "mykey/v1"; DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, cipherTextStream ).setKeyName(keyNameWithVersion); assertEquals(keyNameWithVersion, request.getKeyName()); } @Test @DisplayName("Should handle empty component name") public void testEmptyComponentName() { Flux cipherTextStream = Flux.just(ENCRYPTED_DATA.getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( "", cipherTextStream ); assertEquals("", request.getComponentName()); } @Test @DisplayName("Should handle whitespace-only component name") public void testWhitespaceComponentName() { Flux cipherTextStream = Flux.just(ENCRYPTED_DATA.getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( " ", cipherTextStream ); assertEquals(" ", request.getComponentName()); } @Test @DisplayName("Should handle empty key name") public void testEmptyKeyName() { Flux cipherTextStream = Flux.just(ENCRYPTED_DATA.getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, cipherTextStream ).setKeyName(""); assertEquals("", request.getKeyName()); } @Test @DisplayName("Should handle large data stream") public void testLargeDataStream() { byte[] largeChunk = new byte[1024 * 1024]; // 1MB chunk for (int i = 0; i < largeChunk.length; i++) { largeChunk[i] = (byte) (i % 256); } Flux largeStream = Flux.just(largeChunk); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, largeStream ); assertNotNull(request.getCipherTextStream()); StepVerifier.create(request.getCipherTextStream()) .expectNextMatches(data -> data.length == 1024 * 1024) .verifyComplete(); } @Test @DisplayName("Should handle empty byte array in stream") public void testEmptyByteArrayInStream() { byte[] emptyArray = new byte[0]; Flux stream = Flux.just(emptyArray); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, stream ); assertNotNull(request.getCipherTextStream()); StepVerifier.create(request.getCipherTextStream()) .expectNextMatches(data -> data.length == 0) .verifyComplete(); } @Test @DisplayName("Should handle stream with binary data") public void testStreamWithBinaryData() { byte[] binaryData = new byte[] {0x00, 0x01, 0x02, (byte) 0xFF, (byte) 0xFE, (byte) 0xFD}; Flux stream = Flux.just(binaryData); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, stream ); StepVerifier.create(request.getCipherTextStream()) .expectNextMatches(data -> { if (data.length != binaryData.length) return false; for (int i = 0; i < data.length; i++) { if (data[i] != binaryData[i]) return false; } return true; }) .verifyComplete(); } @Test @DisplayName("Complete decryption request with key name") public void testCompleteConfiguration() { Flux cipherTextStream = Flux.just(ENCRYPTED_DATA.getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, cipherTextStream ).setKeyName("decryption-key/v2"); assertEquals(COMPONENT_NAME, request.getComponentName()); assertNotNull(request.getCipherTextStream()); assertEquals("decryption-key/v2", request.getKeyName()); } @Test @DisplayName("Should handle multiple setKeyName calls") public void testMultipleSetKeyNameCalls() { Flux cipherTextStream = Flux.just(ENCRYPTED_DATA.getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, cipherTextStream ) .setKeyName("key1") .setKeyName("key2") .setKeyName("key3"); assertEquals("key3", request.getKeyName()); } @Test @DisplayName("Should handle many chunks stream") public void testManyChunksStream() { int numberOfChunks = 100; List chunks = new ArrayList<>(); for (int i = 0; i < numberOfChunks; i++) { chunks.add(("chunk" + i).getBytes(StandardCharsets.UTF_8)); } Flux manyChunksStream = Flux.fromIterable(chunks); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, manyChunksStream ); assertNotNull(request.getCipherTextStream()); StepVerifier.create(request.getCipherTextStream()) .expectNextCount(numberOfChunks) .verifyComplete(); } @Test @DisplayName("Should handle stream with special characters in data") public void testStreamWithSpecialCharacters() { String specialData = "特殊字符 🔓 データ"; Flux stream = Flux.just(specialData.getBytes(StandardCharsets.UTF_8)); DecryptRequestAlpha1 request = new DecryptRequestAlpha1( COMPONENT_NAME, stream ); StepVerifier.create(request.getCipherTextStream()) .expectNextMatches(data -> new String(data, StandardCharsets.UTF_8).equals(specialData)) .verifyComplete(); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/DeleteStateRequestTest.java ================================================ package io.dapr.client.domain; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.util.HashMap; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertNull; public class DeleteStateRequestTest { private String STORE_NAME = "STORE"; private String KEY = "KEY"; @Test public void testSetMetadata(){ DeleteStateRequest request = new DeleteStateRequest(STORE_NAME, KEY); // Null check request.setMetadata(null); assertNull(request.getMetadata()); // Modifiability check Map metadata = new HashMap<>(); metadata.put("test", "testval"); request.setMetadata(metadata); Map initial = request.getMetadata(); request.setMetadata(metadata); Assertions.assertNotSame(request.getMetadata(), initial, "Should not be same map"); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/EncryptRequestAlpha1Test.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import reactor.core.publisher.Flux; import reactor.test.StepVerifier; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertSame; import static org.junit.jupiter.api.Assertions.assertTrue; public class EncryptRequestAlpha1Test { private static final String COMPONENT_NAME = "mycomponent"; private static final String KEY_NAME = "mykey"; private static final String KEY_WRAP_ALGORITHM = "RSA-OAEP-256"; private static final String TEST_DATA = "test data"; @Test @DisplayName("Constructor should set all required fields correctly") public void testConstructorWithRequiredFields() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ); assertEquals(COMPONENT_NAME, request.getComponentName()); assertNotNull(request.getPlainTextStream()); assertEquals(KEY_NAME, request.getKeyName()); assertEquals(KEY_WRAP_ALGORITHM, request.getKeyWrapAlgorithm()); assertNull(request.getDataEncryptionCipher()); assertFalse(request.isOmitDecryptionKeyName()); assertNull(request.getDecryptionKeyName()); } @Test @DisplayName("Fluent setters should set optional fields correctly") public void testFluentSetters() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ) .setDataEncryptionCipher("aes-gcm") .setOmitDecryptionKeyName(true) .setDecryptionKeyName("decrypt-key"); assertEquals("aes-gcm", request.getDataEncryptionCipher()); assertTrue(request.isOmitDecryptionKeyName()); assertEquals("decrypt-key", request.getDecryptionKeyName()); } @Test @DisplayName("Fluent setters should return same instance for method chaining") public void testFluentSettersReturnSameInstance() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ); EncryptRequestAlpha1 sameRequest = request.setDataEncryptionCipher("aes-gcm"); assertSame(request, sameRequest); sameRequest = request.setOmitDecryptionKeyName(true); assertSame(request, sameRequest); sameRequest = request.setDecryptionKeyName("decrypt-key"); assertSame(request, sameRequest); } @Test @DisplayName("Constructor should accept null component name") public void testNullComponentName() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( null, plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ); assertNull(request.getComponentName()); } @Test @DisplayName("Constructor should accept null plaintext stream") public void testNullPlainTextStream() { EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, null, KEY_NAME, KEY_WRAP_ALGORITHM ); assertNull(request.getPlainTextStream()); } @Test @DisplayName("Constructor should accept null key name") public void testNullKeyName() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, null, KEY_WRAP_ALGORITHM ); assertNull(request.getKeyName()); } @Test @DisplayName("Constructor should accept null key wrap algorithm") public void testNullKeyWrapAlgorithm() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, null ); assertNull(request.getKeyWrapAlgorithm()); } @Test @DisplayName("Constructor should accept empty stream") public void testEmptyStream() { Flux emptyStream = Flux.empty(); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, emptyStream, KEY_NAME, KEY_WRAP_ALGORITHM ); assertNotNull(request.getPlainTextStream()); StepVerifier.create(request.getPlainTextStream()) .verifyComplete(); } @Test @DisplayName("Should handle multiple chunks in stream") public void testMultipleChunksStream() { byte[] chunk1 = "chunk1".getBytes(StandardCharsets.UTF_8); byte[] chunk2 = "chunk2".getBytes(StandardCharsets.UTF_8); byte[] chunk3 = "chunk3".getBytes(StandardCharsets.UTF_8); Flux multiChunkStream = Flux.just(chunk1, chunk2, chunk3); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, multiChunkStream, KEY_NAME, "A256KW" ); assertNotNull(request.getPlainTextStream()); assertEquals("A256KW", request.getKeyWrapAlgorithm()); List collectedChunks = new ArrayList<>(); StepVerifier.create(request.getPlainTextStream()) .recordWith(() -> collectedChunks) .expectNextCount(3) .verifyComplete(); assertEquals(3, collectedChunks.size()); assertArrayEquals(chunk1, collectedChunks.get(0)); assertArrayEquals(chunk2, collectedChunks.get(1)); assertArrayEquals(chunk3, collectedChunks.get(2)); } @ParameterizedTest @DisplayName("Should support various key wrap algorithms") @ValueSource(strings = {"A256KW", "AES", "A128CBC", "A192CBC", "A256CBC", "RSA-OAEP-256", "RSA"}) public void testVariousKeyWrapAlgorithms(String algorithm) { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, algorithm ); assertEquals(algorithm, request.getKeyWrapAlgorithm()); } @ParameterizedTest @DisplayName("Should support various data encryption ciphers") @ValueSource(strings = {"aes-gcm", "chacha20-poly1305"}) public void testVariousDataEncryptionCiphers(String cipher) { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ).setDataEncryptionCipher(cipher); assertEquals(cipher, request.getDataEncryptionCipher()); } @Test @DisplayName("setDataEncryptionCipher should accept null value") public void testSetDataEncryptionCipherNull() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ) .setDataEncryptionCipher("aes-gcm") .setDataEncryptionCipher(null); assertNull(request.getDataEncryptionCipher()); } @Test @DisplayName("setDecryptionKeyName should accept null value") public void testSetDecryptionKeyNameNull() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ) .setDecryptionKeyName("some-key") .setDecryptionKeyName(null); assertNull(request.getDecryptionKeyName()); } @Test @DisplayName("setOmitDecryptionKeyName should toggle boolean value") public void testSetOmitDecryptionKeyNameToggle() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ); assertFalse(request.isOmitDecryptionKeyName()); request.setOmitDecryptionKeyName(true); assertTrue(request.isOmitDecryptionKeyName()); request.setOmitDecryptionKeyName(false); assertFalse(request.isOmitDecryptionKeyName()); } @Test @DisplayName("Should handle large data stream") public void testLargeDataStream() { byte[] largeChunk = new byte[1024 * 1024]; // 1MB chunk for (int i = 0; i < largeChunk.length; i++) { largeChunk[i] = (byte) (i % 256); } Flux largeStream = Flux.just(largeChunk); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, largeStream, KEY_NAME, KEY_WRAP_ALGORITHM ); assertNotNull(request.getPlainTextStream()); StepVerifier.create(request.getPlainTextStream()) .expectNextMatches(data -> data.length == 1024 * 1024) .verifyComplete(); } @Test @DisplayName("Should handle empty byte array in stream") public void testEmptyByteArrayInStream() { byte[] emptyArray = new byte[0]; Flux stream = Flux.just(emptyArray); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, stream, KEY_NAME, KEY_WRAP_ALGORITHM ); assertNotNull(request.getPlainTextStream()); StepVerifier.create(request.getPlainTextStream()) .expectNextMatches(data -> data.length == 0) .verifyComplete(); } @Test @DisplayName("Should handle key name with version") public void testKeyNameWithVersion() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); String keyNameWithVersion = "mykey/v1"; EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, keyNameWithVersion, KEY_WRAP_ALGORITHM ); assertEquals(keyNameWithVersion, request.getKeyName()); } @Test @DisplayName("Should handle decryption key name with version") public void testDecryptionKeyNameWithVersion() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); String decryptionKeyWithVersion = "decrypt-key/v2"; EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ).setDecryptionKeyName(decryptionKeyWithVersion); assertEquals(decryptionKeyWithVersion, request.getDecryptionKeyName()); } @Test @DisplayName("Should handle empty component name") public void testEmptyComponentName() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( "", plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ); assertEquals("", request.getComponentName()); } @Test @DisplayName("Should handle whitespace-only component name") public void testWhitespaceComponentName() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( " ", plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ); assertEquals(" ", request.getComponentName()); } @Test @DisplayName("Should handle empty key name") public void testEmptyKeyName() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, "", KEY_WRAP_ALGORITHM ); assertEquals("", request.getKeyName()); } @Test @DisplayName("Should handle empty key wrap algorithm") public void testEmptyKeyWrapAlgorithm() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, "" ); assertEquals("", request.getKeyWrapAlgorithm()); } @Test @DisplayName("Should handle stream with special characters in data") public void testStreamWithSpecialCharacters() { String specialData = "特殊字符 🔐 データ"; Flux stream = Flux.just(specialData.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, stream, KEY_NAME, KEY_WRAP_ALGORITHM ); StepVerifier.create(request.getPlainTextStream()) .expectNextMatches(data -> new String(data, StandardCharsets.UTF_8).equals(specialData)) .verifyComplete(); } @Test @DisplayName("Complete configuration with all optional fields") public void testCompleteConfiguration() { Flux plainTextStream = Flux.just(TEST_DATA.getBytes(StandardCharsets.UTF_8)); EncryptRequestAlpha1 request = new EncryptRequestAlpha1( COMPONENT_NAME, plainTextStream, KEY_NAME, KEY_WRAP_ALGORITHM ) .setDataEncryptionCipher("chacha20-poly1305") .setOmitDecryptionKeyName(true) .setDecryptionKeyName("different-key/v3"); assertEquals(COMPONENT_NAME, request.getComponentName()); assertNotNull(request.getPlainTextStream()); assertEquals(KEY_NAME, request.getKeyName()); assertEquals(KEY_WRAP_ALGORITHM, request.getKeyWrapAlgorithm()); assertEquals("chacha20-poly1305", request.getDataEncryptionCipher()); assertTrue(request.isOmitDecryptionKeyName()); assertEquals("different-key/v3", request.getDecryptionKeyName()); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/ExecuteStateTransactionRequestTest.java ================================================ package io.dapr.client.domain; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertNull; public class ExecuteStateTransactionRequestTest { private String STORE_NAME = "STORE"; @Test public void testSetMetadata(){ ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(STORE_NAME); // Null check request.setMetadata(null); assertNull(request.getMetadata()); // Modifiability check Map metadata = new HashMap<>(); metadata.put("test", "testval"); request.setMetadata(metadata); Map initial = request.getMetadata(); request.setMetadata(metadata); assertNotSame(request.getMetadata(), initial, "Should not be same map"); } @Test public void testSetOperations(){ ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(STORE_NAME); // Null check request.setOperations(null); assertNull(request.getOperations()); // Modifiability check List> operations = new ArrayList<>(); operations.add(new TransactionalStateOperation<>(TransactionalStateOperation.OperationType.DELETE, new State<>("test"))); request.setOperations(operations); List> initial = request.getOperations(); request.setOperations(operations); assertNotSame(request.getOperations(), initial, "Should not be same list"); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/GetBulkSecretRequestTest.java ================================================ package io.dapr.client.domain; import org.junit.jupiter.api.Test; import java.util.HashMap; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertNull; public class GetBulkSecretRequestTest { private String STORE_NAME = "STORE"; @Test public void testSetMetadata(){ GetBulkSecretRequest request = new GetBulkSecretRequest(STORE_NAME); // Null check request.setMetadata(null); assertNull(request.getMetadata()); // Modifiability check Map metadata = new HashMap<>(); metadata.put("test", "testval"); request.setMetadata(metadata); Map initial = request.getMetadata(); request.setMetadata(metadata); assertNotSame(request.getMetadata(), initial, "Should not be same map"); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/GetBulkStateRequestTest.java ================================================ package io.dapr.client.domain; import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.HashMap; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertNull; public class GetBulkStateRequestTest { private String STORE_NAME = "STORE"; @Test public void testRequestCreation(){ //List constructor GetBulkStateRequest request = new GetBulkStateRequest(STORE_NAME, Collections.singletonList("test key")); // check correct list init assertEquals(1, request.getKeys().size()); assertEquals("test key", request.getKeys().get(0)); // check default parallelism assertEquals(1, request.getParallelism()); // Null check request.setMetadata(null); assertNull(request.getMetadata()); // Modifiability check Map metadata = new HashMap<>(); metadata.put("test", "testval"); request.setMetadata(metadata); Map initial = request.getMetadata(); request.setMetadata(metadata); assertNotSame(request.getMetadata(), initial, "Should not be same map"); // Var args constructor request = new GetBulkStateRequest(STORE_NAME, "test var key"); // check correct list init assertEquals(1, request.getKeys().size()); assertEquals("test var key", request.getKeys().get(0)); // check default parallelism assertEquals(1, request.getParallelism()); // check parallelism set correctly request.setParallelism(2); assertEquals(2, request.getParallelism()); // Null check request.setMetadata(null); assertNull(request.getMetadata()); // Modifiability check metadata = new HashMap<>(); metadata.put("test", "testval"); request.setMetadata(metadata); initial = request.getMetadata(); request.setMetadata(metadata); assertNotSame( request.getMetadata(), initial, "Should not be same map"); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/GetSecretRequestTest.java ================================================ package io.dapr.client.domain; import org.junit.jupiter.api.Test; import java.util.HashMap; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertNull; public class GetSecretRequestTest { private String STORE_NAME = "STORE"; @Test public void testSetMetadata(){ GetSecretRequest request = new GetSecretRequest(STORE_NAME, "key"); // Null check request.setMetadata(null); assertNull(request.getMetadata()); // Modifiability check Map metadata = new HashMap<>(); metadata.put("test", "testval"); request.setMetadata(metadata); Map initial = request.getMetadata(); request.setMetadata(metadata); assertNotSame(request.getMetadata(), initial, "Should not be same map"); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/GetStateRequestTest.java ================================================ package io.dapr.client.domain; import org.junit.jupiter.api.Test; import java.util.HashMap; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertNull; public class GetStateRequestTest { private String STORE_NAME = "STORE"; @Test public void testSetMetadata(){ GetStateRequest request = new GetStateRequest(STORE_NAME, "key"); // Null check request.setMetadata(null); assertNull(request.getMetadata()); // Modifiability check Map metadata = new HashMap<>(); metadata.put("test", "testval"); request.setMetadata(metadata); Map initial = request.getMetadata(); request.setMetadata(metadata); assertNotSame(request.getMetadata(), initial, "Should not be same map"); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/HttpExtensionTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import io.dapr.client.DaprHttp; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.List; import java.util.Map; class HttpExtensionTest { @Test @DisplayName("Should encode query params correctly") void shouldEncodeQueryParamsCorrectly() { HttpExtension httpExtension = new HttpExtension(DaprHttp.HttpMethods.GET, Map.of("traceparent", List.of("00-4bf92f3577b34da6a3ce929d0e0e4733-00f067aa0ba902b7-01")), Map.of()); String encoded = httpExtension.encodeQueryString(); Assertions.assertEquals("traceparent=00-4bf92f3577b34da6a3ce929d0e0e4733-00f067aa0ba902b7-01", encoded); } @Test @DisplayName("Should encode multiple values for same query param key") void shouldEncodeMultipleValuesForSameQueryParamKey() { HttpExtension httpExtension = new HttpExtension(DaprHttp.HttpMethods.GET, Map.of("category", List.of("books", "electronics")), Map.of()); String encoded = httpExtension.encodeQueryString(); Assertions.assertEquals("category=books&category=electronics", encoded); } @Test @DisplayName("Should encode query param with spaces, accents, and special characters") void shouldEncodeQueryParamWithSpacesAndSpecialCharacters() { HttpExtension httpExtension = new HttpExtension(DaprHttp.HttpMethods.GET, Map.of("user name", List.of("John Doë & Co.")), Map.of()); String encoded = httpExtension.encodeQueryString(); Assertions.assertEquals("user+name=John+Do%C3%AB+%26+Co.", encoded); } @Test @DisplayName("PATCH constant should use PATCH HTTP method") void patchConstantShouldUsePatchHttpMethod() { Assertions.assertEquals(DaprHttp.HttpMethods.PATCH, HttpExtension.PATCH.getMethod()); Assertions.assertTrue(HttpExtension.PATCH.getQueryParams().isEmpty()); Assertions.assertTrue(HttpExtension.PATCH.getHeaders().isEmpty()); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/InvokeBindingRequestTest.java ================================================ package io.dapr.client.domain; import org.junit.jupiter.api.Test; import java.util.HashMap; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertNull; public class InvokeBindingRequestTest { private String BINDING_NAME = "STORE"; @Test public void testSetMetadata(){ InvokeBindingRequest request = new InvokeBindingRequest(BINDING_NAME, "operation"); // Null check request.setMetadata(null); assertNull(request.getMetadata()); // Modifiability check Map metadata = new HashMap<>(); metadata.put("test", "testval"); request.setMetadata(metadata); Map initial = request.getMetadata(); request.setMetadata(metadata); assertNotSame(request.getMetadata(), initial, "Should not be same map"); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/JobsScheduleTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import org.junit.jupiter.api.Test; import java.time.Duration; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; class JobsScheduleTest { @Test void testFromPeriodValidDuration() { Duration duration = Duration.ofHours(1).plusMinutes(30) .plusSeconds(15).plusMillis(500); JobSchedule schedule = JobSchedule.fromPeriod(duration); assertEquals("@every 1h30m15s500ms", schedule.getExpression()); } @Test void testFromPeriodValidDurationWithoutSecondsAndMillSeconds() { Duration duration = Duration.ofHours(1).plusMinutes(30); JobSchedule schedule = JobSchedule.fromPeriod(duration); assertEquals("@every 1h30m0s0ms", schedule.getExpression()); } @Test void testFromPeriodNullDuration() { Exception exception = assertThrows(IllegalArgumentException.class, () -> JobSchedule.fromPeriod(null)); assertEquals("duration cannot be null", exception.getMessage()); } @Test void testFromStringThrowsIllegalArgumentWhenExpressionIsNull() { Exception exception = assertThrows(IllegalArgumentException.class, () -> JobSchedule.fromString(null)); assertEquals("cronExpression cannot be null", exception.getMessage()); } @Test void testFromString() { String cronExpression = "0 0 * * *"; JobSchedule schedule = JobSchedule.fromString(cronExpression); assertEquals(cronExpression, schedule.getExpression()); } @Test void testYearly() { JobSchedule schedule = JobSchedule.yearly(); assertEquals("0 0 0 1 1 *", schedule.getExpression()); } @Test void testMonthly() { JobSchedule schedule = JobSchedule.monthly(); assertEquals("0 0 0 1 * *", schedule.getExpression()); } @Test void testWeekly() { JobSchedule schedule = JobSchedule.weekly(); assertEquals("0 0 0 * * 0", schedule.getExpression()); } @Test void testDaily() { JobSchedule schedule = JobSchedule.daily(); assertEquals("0 0 0 * * *", schedule.getExpression()); } @Test void testHourly() { JobSchedule schedule = JobSchedule.hourly(); assertEquals("0 0 * * * *", schedule.getExpression()); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/PublishEventRequestTest.java ================================================ package io.dapr.client.domain; import org.junit.jupiter.api.Test; import java.util.HashMap; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertNull; public class PublishEventRequestTest { private String PUBSUB_NAME = "STORE"; @Test public void testSetMetadata(){ PublishEventRequest request = new PublishEventRequest(PUBSUB_NAME, "topic", "data"); // Default empty HashMap metadata assertEquals(0, request.getMetadata().size()); // Null check request.setMetadata(null); assertNull(request.getMetadata()); // Modifiability check Map metadata = new HashMap<>(); metadata.put("test", "testval"); request.setMetadata(metadata); Map initial = request.getMetadata(); request.setMetadata(metadata); assertNotSame(request.getMetadata(), initial, "Should not be same map"); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/QueryStateRequestTest.java ================================================ package io.dapr.client.domain; import io.dapr.client.domain.query.Query; import io.dapr.client.domain.query.filters.EqFilter; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.util.HashMap; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; public class QueryStateRequestTest { private String STORE_NAME = "STORE"; private String KEY = "KEY"; @Test public void testSetMetadata() { QueryStateRequest request = new QueryStateRequest(STORE_NAME); // Null check request.setMetadata(null); assertNull(request.getMetadata()); // Modifiability check Map metadata = new HashMap<>(); metadata.put("test", "testval"); request.setMetadata(metadata); Map initial = request.getMetadata(); request.setMetadata(metadata); Assertions.assertNotSame(request.getMetadata(), initial, "Should not be same map"); } @Test public void testSetNullQuery() { QueryStateRequest request = new QueryStateRequest(STORE_NAME); assertThrows(IllegalArgumentException.class, () -> request.setQuery(null)); } @Test public void testSetNullFilterQuery() { QueryStateRequest request = new QueryStateRequest(STORE_NAME); Query query = new Query(); assertThrows(IllegalArgumentException.class, () -> request.setQuery(query)); } @Test public void testSetQuery() { QueryStateRequest request = new QueryStateRequest(STORE_NAME); Query query = new Query(); query.setFilter(new EqFilter<>("key", "value")); request.setQuery(query); Assertions.assertEquals(query, request.getQuery()); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/SaveStateRequestTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertNull; public class SaveStateRequestTest { private String STORE_NAME = "STORE"; @Test public void testSetStates(){ SaveStateRequest request = new SaveStateRequest(STORE_NAME); // Null check assertNull(request.getStates()); // Modifiability check List> states = new ArrayList<>(); states.add(new State<>("test")); request.setStates(states); List> initial = request.getStates(); request.setStates(states); assertNotSame( request.getStates(), initial, "Should not be same list"); // With var args method request.setStates(new State<>("test var args 1"), new State<>("test var args 2")); assertEquals("test var args 1", request.getStates().get(0).getKey(), "Value incorrectly set"); assertEquals("test var args 2", request.getStates().get(1).getKey(), "Value incorrectly set"); } @Test @DisplayName("Should set states as null when the argument is null") void testSetStateWithNullParameter() { SaveStateRequest request = new SaveStateRequest(STORE_NAME); request.setStates((List>) null); List> states = request.getStates(); assertThat(states).isNull(); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/StateTest.java ================================================ package io.dapr.client.domain; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.HashMap; import java.util.Map; import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; public class StateTest { private static final String KEY = "key"; private static final String ETAG = "111"; private static final Map METADATA = new HashMap<>(); static { METADATA.put("key1", "value1"); METADATA.put("key2", "value2"); METADATA.put("key3", "value3"); METADATA.put("key4", "value4"); } private static final StateOptions OPTIONS = new StateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); @Test public void testSimpleStringState() { State state = new State<>(KEY, "value", ETAG); assertNotNull(state); assertNull(state.getError()); assertNull(state.getOptions()); assertEquals(KEY, state.getKey()); assertEquals(ETAG, state.getEtag()); assertEquals("value", state.getValue()); String expected = "StateKeyValue{" + "key='" + KEY + "'" + ", value=value" + ", etag='" + ETAG + "'" + ", metadata={'null'}" + ", error='null'" + ", options={'null'}" + "}"; assertEquals(expected, state.toString()); } @Test public void testStringState() { State state = new State<>(KEY, ETAG, OPTIONS); assertNotNull(state); assertNull(state.getError()); assertNull(state.getValue()); assertEquals(OPTIONS, state.getOptions()); assertEquals(KEY, state.getKey()); assertEquals(ETAG, state.getEtag()); String expected = "StateKeyValue{" + "key='" + KEY + "'" + ", value=null" + ", etag='" + ETAG + "'" + ", metadata={'null'}" + ", error='null'" + ", options={'" + OPTIONS.toString() + "'}" + "}"; assertEquals(expected, state.toString()); } @Test public void testSimpleStringStateWithOptions() { State state = new State<>(KEY, "value", ETAG, OPTIONS); assertNotNull(state); assertNull(state.getError()); assertEquals(OPTIONS, state.getOptions()); assertEquals(KEY, state.getKey()); assertEquals(ETAG, state.getEtag()); String expected = "StateKeyValue{" + "key='" + KEY + "'" + ", value=value" + ", etag='" + ETAG + "'" + ", metadata={'null'}" + ", error='null'" + ", options={'" + OPTIONS.toString() + "'}" + "}"; assertEquals(expected, state.toString()); assertEquals("value", state.getValue()); } @Test public void testEqualsAndHashcode() { State state1 = new State<>(KEY, "value", ETAG, new HashMap<>(METADATA), OPTIONS); State state2 = new State<>(KEY, "value", ETAG, new HashMap<>(METADATA), OPTIONS); assertEquals(state1.toString(), state2.toString()); assertEquals(state1.hashCode(), state2.hashCode()); assertEquals(state1, state2); Map metadata3 = new HashMap<>(METADATA); metadata3.put("key5", "value5"); State state3 = new State<>(KEY, "value", ETAG, metadata3, OPTIONS); assertNotEquals(state1.toString(), state3.toString()); assertNotEquals(state1.hashCode(), state3.hashCode()); assertNotEquals(state1, state3); Map metadata4 = new HashMap<>(METADATA); metadata4.remove("key1"); State state4 = new State<>(KEY, "value", ETAG, metadata4, OPTIONS); assertNotEquals(state1.toString(), state4.toString()); assertNotEquals(state1.hashCode(), state4.hashCode()); assertNotEquals(state1, state4); } @Test @DisplayName("Should hashCode and equals method work with null metadata") public void testEqualsAndHashcodeWithNullValues() { State state1 = new State<>(KEY, "value", ETAG, null, OPTIONS); State state2 = new State<>(KEY, "value", ETAG, null, OPTIONS); assertThat(state1.toString()).isEqualTo(state2.toString()); assertThat(state1.hashCode()).isEqualTo(state1.hashCode()); assertThat(state1).isEqualTo(state2); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/TestData.java ================================================ package io.dapr.client.domain; public class TestData { private final String name; private final int age; public TestData(String name, int age) { this.name = name; this.age = age; } public int getAge() { return age; } public String getName() { return name; } @Override public String toString() { return "TestData{" + "name='" + name + "'" + ", age=" + age + "}"; } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/TransactionalStateRequestTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.client.domain; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.List; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; class TransactionalStateRequestTest { @Test @DisplayName("Should create with non empty collections") void shouldCreateCorrectlyWithNonEmptyCollections() { State users = new State<>("users"); TransactionalStateOperation operation = new TransactionalStateOperation<>(TransactionalStateOperation.OperationType.DELETE, users); TransactionalStateRequest request = new TransactionalStateRequest<>( List.of(operation), Map.of("application", "java-sdk") ); assertThat(request.getMetadata()).hasSize(1); assertThat(request.getOperations()).hasSize(1); } @Test @DisplayName("Should create correctly with empty collections") void shouldCreateCorrectlyWithEmptyCollections() { TransactionalStateRequest request = new TransactionalStateRequest<>( List.of(), Map.of() ); assertThat(request.getMetadata()).isEmpty(); assertThat(request.getOperations()).isEmpty(); } @Test @DisplayName("Should create correctly with null value") void shouldCreateWhenArgumentIsNull() { TransactionalStateRequest request = new TransactionalStateRequest<>( null, null ); assertThat(request.getMetadata()).isNull(); assertThat(request.getOperations()).isNull(); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/query/QueryTest.java ================================================ package io.dapr.client.domain.query; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.domain.query.filters.AndFilter; import io.dapr.client.domain.query.filters.EqFilter; import io.dapr.client.domain.query.filters.Filter; import io.dapr.client.domain.query.filters.InFilter; import io.dapr.client.domain.query.filters.OrFilter; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.util.Arrays; import static org.junit.jupiter.api.Assertions.assertThrows; public class QueryTest { ObjectMapper mapper = new ObjectMapper(); String json = "{\"filter\":{\"AND\":[{\"EQ\":{\"key\":\"value\"}},{\"IN\":{\"key2\":[\"v1\",\"v2\"]}}," + "{\"OR\":[{\"EQ\":{\"v2\":true}},{\"IN\":{\"v3\":[1.3,1.5]}}]}]}," + "\"sort\":[{\"key\":\"value.person.org\",\"order\":\"ASC\"},{\"key\":\"value.state\",\"order\":\"DESC\"}]," + "\"page\":{\"limit\":10,\"token\":\"test-token\"}}"; @Test public void testQuerySerialize() throws JsonProcessingException { Query q = new Query(); AndFilter filter = new AndFilter(); filter.addClause(new EqFilter<>("key", "value")); filter.addClause(new InFilter<>("key2", "v1", "v2")); OrFilter orFilter = new OrFilter(); orFilter.addClause(new EqFilter<>("v2", true)); orFilter.addClause(new InFilter<>("v3", 1.3, 1.5)); filter.addClause((Filter) orFilter); // Add Filter q.setFilter(filter); q.setPagination(new Pagination(10, "test-token")); q.setSort(Arrays.asList(new Sorting("value.person.org", Sorting.Order.ASC), new Sorting("value.state", Sorting.Order.DESC))); Assertions.assertEquals(json, mapper.writeValueAsString(q)); } @Test public void testQueryDeserialize() throws JsonProcessingException { Query query = mapper.readValue(json, Query.class); Assertions.assertNotNull(query.getPagination()); Assertions.assertNotNull(query.getFilter()); Assertions.assertNotNull(query.getSort()); // Assert Pagination Assertions.assertEquals(10, query.getPagination().getLimit()); Assertions.assertEquals("test-token", query.getPagination().getToken()); // Assert Sort Assertions.assertEquals(2, query.getSort().size()); Assertions.assertEquals("value.person.org", query.getSort().get(0).getKey()); Assertions.assertEquals(Sorting.Order.ASC, query.getSort().get(0).getOrder()); Assertions.assertEquals("value.state", query.getSort().get(1).getKey()); Assertions.assertEquals(Sorting.Order.DESC, query.getSort().get(1).getOrder()); // Assert Filter // Top level AND filter Assertions.assertEquals("AND", query.getFilter().getName()); // Type cast to AND filter AndFilter filter = (AndFilter) query.getFilter(); // Assert 3 AND clauses Assertions.assertEquals(3, filter.getClauses().length); Filter[] andClauses = filter.getClauses(); // First EQ Assertions.assertEquals("EQ", andClauses[0].getName()); Assertions.assertSame(EqFilter.class, andClauses[0].getClass()); EqFilter eq = (EqFilter) andClauses[0]; Assertions.assertEquals("key", eq.getKey()); Assertions.assertEquals("value", eq.getValue()); // Second IN Assertions.assertEquals("IN", andClauses[1].getName()); Assertions.assertSame(InFilter.class, andClauses[1].getClass()); InFilter in = (InFilter) andClauses[1]; Assertions.assertEquals("key2", in.getKey()); Assertions.assertArrayEquals(new String[]{ "v1", "v2" }, in.getValues().toArray()); // Third OR Assertions.assertEquals("OR", andClauses[2].getName()); Assertions.assertSame(OrFilter.class, andClauses[2].getClass()); OrFilter orFilter = (OrFilter) andClauses[2]; Filter[] orClauses = orFilter.getClauses(); // First EQ in OR Assertions.assertEquals("EQ", orClauses[0].getName()); Assertions.assertSame(EqFilter.class, orClauses[0].getClass()); eq = (EqFilter) orClauses[0]; Assertions.assertEquals("v2", eq.getKey()); Assertions.assertEquals(true, eq.getValue()); // Second IN in OR Assertions.assertEquals("IN", orClauses[1].getName()); Assertions.assertSame(InFilter.class, orClauses[1].getClass()); in = (InFilter) orClauses[1]; Assertions.assertEquals("v3", in.getKey()); Assertions.assertArrayEquals(new Double[]{ 1.3, 1.5 }, in.getValues().toArray()); } @Test public void testQueryInValidFilter() throws JsonProcessingException { Query q = new Query(); AndFilter filter = new AndFilter(); filter.addClause(new EqFilter<>("key", "value")); filter.addClause(new InFilter<>("key2", "v1", "v2")); OrFilter orFilter = new OrFilter(); orFilter.addClause(new EqFilter<>("v2", true)); // invalid OR filter filter.addClause((Filter) orFilter); // Add Filter assertThrows(IllegalArgumentException.class, () -> q.setFilter(filter)); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/query/filters/AndFilterTest.java ================================================ package io.dapr.client.domain.query.filters; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class AndFilterTest { private final static ObjectMapper MAPPER = new ObjectMapper(); private String json = "{\"AND\":[{\"EQ\":{\"key\":\"value\"}},{\"IN\":{\"key2\":[\"v1\",\"v2\"]}}]}"; @SuppressWarnings("rawtypes") @Test public void testSerialization() throws JsonProcessingException { AndFilter filter = new AndFilter(); filter.addClause(new EqFilter<>("key", "value")); filter.addClause(new InFilter<>("key2", "v1", "v2")); Assertions.assertEquals(json, MAPPER.writeValueAsString((Filter) filter)); } @Test public void testDeserialization() throws JsonProcessingException { Filter res = MAPPER.readValue(json, Filter.class); // Check for AndFilter Assertions.assertEquals("AND", res.getName()); Assertions.assertSame(AndFilter.class, res.getClass()); AndFilter filter = (AndFilter) res; // Check 2 clauses Assertions.assertEquals(2, filter.getClauses().length); // First EQ Assertions.assertSame(EqFilter.class, filter.getClauses()[0].getClass()); EqFilter eq = (EqFilter) filter.getClauses()[0]; Assertions.assertEquals("key", eq.getKey()); Assertions.assertEquals("value", eq.getValue()); // Second IN Assertions.assertSame(InFilter.class, filter.getClauses()[1].getClass()); InFilter in = (InFilter) filter.getClauses()[1]; Assertions.assertEquals("key2", in.getKey()); Assertions.assertArrayEquals(new String[]{ "v1", "v2" }, in.getValues().toArray()); } @Test public void testValidation() { AndFilter filter = new AndFilter(); Assertions.assertFalse(filter.isValid()); filter.addClause(new EqFilter<>("key1", "v2")); Assertions.assertFalse(filter.isValid()); filter.addClause(new EqFilter<>("key2", "v3")); Assertions.assertTrue(filter.isValid()); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/query/filters/EqFilterTest.java ================================================ package io.dapr.client.domain.query.filters; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class EqFilterTest { private static final ObjectMapper MAPPER = new ObjectMapper(); String json = "{\"EQ\":{\"key\":1.5}}"; @Test public void testSerialization() throws JsonProcessingException { EqFilter filter = new EqFilter<>("key", 1.5); Assertions.assertEquals(json, MAPPER.writeValueAsString(filter)); } @Test public void testDeserialization() throws JsonProcessingException { EqFilter filter = MAPPER.readValue(json, EqFilter.class); Assertions.assertEquals("key", filter.getKey()); Assertions.assertEquals(1.5, filter.getValue()); } @Test public void testValidation() { EqFilter filter = new EqFilter<>(null, "val"); Assertions.assertFalse(filter.isValid()); filter = new EqFilter<>("", ""); Assertions.assertFalse(filter.isValid()); filter = new EqFilter<>("", true); Assertions.assertFalse(filter.isValid()); filter = new EqFilter<>(" ", "valid"); Assertions.assertFalse(filter.isValid()); filter = new EqFilter<>("valid", ""); Assertions.assertTrue(filter.isValid()); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/query/filters/InFilterTest.java ================================================ package io.dapr.client.domain.query.filters; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class InFilterTest { private static final ObjectMapper MAPPER = new ObjectMapper(); String json = "{\"IN\":{\"key\":[1.5,44.0]}}"; @Test public void testSerialization() throws JsonProcessingException { InFilter filter = new InFilter<>("key", 1.5, 44.0); Assertions.assertEquals(json, MAPPER.writeValueAsString(filter)); } @Test public void testDeserialization() throws JsonProcessingException { InFilter filter = MAPPER.readValue(json, InFilter.class); Assertions.assertEquals("key", filter.getKey()); Assertions.assertArrayEquals(new Double[]{ 1.5, 44.0 }, filter.getValues().toArray()); } @Test public void testValidation() { InFilter filter = new InFilter<>(null, "val"); Assertions.assertFalse(filter.isValid()); filter = new InFilter<>("", ""); Assertions.assertFalse(filter.isValid()); filter = new InFilter<>("", true); Assertions.assertFalse(filter.isValid()); filter = new InFilter<>(" ", "valid"); Assertions.assertFalse(filter.isValid()); filter = new InFilter<>("valid", ""); Assertions.assertTrue(filter.isValid()); filter = new InFilter<>("valid", "1.5", "2.5"); Assertions.assertTrue(filter.isValid()); } } ================================================ FILE: sdk/src/test/java/io/dapr/client/domain/query/filters/OrFilterTest.java ================================================ package io.dapr.client.domain.query.filters; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class OrFilterTest { private final static ObjectMapper MAPPER = new ObjectMapper(); private String json = "{\"OR\":[{\"EQ\":{\"key\":\"value\"}},{\"IN\":{\"key2\":[\"v1\",\"v2\"]}}]}"; @SuppressWarnings("rawtypes") @Test public void testSerialization() throws JsonProcessingException { OrFilter filter = new OrFilter(); filter.addClause(new EqFilter<>("key", "value")); filter.addClause(new InFilter<>("key2", "v1", "v2")); Assertions.assertEquals(json, MAPPER.writeValueAsString((Filter) filter)); } @Test public void testDeserialization() throws JsonProcessingException { Filter res = MAPPER.readValue(json, Filter.class); // Check for AndFilter Assertions.assertEquals("OR", res.getName()); Assertions.assertSame(OrFilter.class, res.getClass()); OrFilter filter = (OrFilter) res; // Check 2 clauses Assertions.assertEquals(2, filter.getClauses().length); // First EQ Assertions.assertSame(EqFilter.class, filter.getClauses()[0].getClass()); EqFilter eq = (EqFilter) filter.getClauses()[0]; Assertions.assertEquals("key", eq.getKey()); Assertions.assertEquals("value", eq.getValue()); // Second IN Assertions.assertSame(InFilter.class, filter.getClauses()[1].getClass()); InFilter in = (InFilter) filter.getClauses()[1]; Assertions.assertEquals("key2", in.getKey()); Assertions.assertArrayEquals(new String[]{ "v1", "v2" }, in.getValues().toArray()); } @Test public void testValidation() { OrFilter filter = new OrFilter(); Assertions.assertFalse(filter.isValid()); filter.addClause(new EqFilter<>("key1", "v2")); Assertions.assertFalse(filter.isValid()); filter.addClause(new EqFilter<>("key2", "v3")); Assertions.assertTrue(filter.isValid()); } } ================================================ FILE: sdk/src/test/java/io/dapr/config/IntegerPropertyTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.config; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; public class IntegerPropertyTest { @Test @DisplayName("Should create IntegerProperty correctly") void shouldCreateIntegerPropertyCorrectly() { IntegerProperty property = new IntegerProperty("int", "INT", 0); Integer twoHundreds = property.parse("200"); assertThat(twoHundreds).isEqualTo(200); } @Test @DisplayName("Should throws NumberFormatException when parsing non number") void shouldThrowsExceptionWhenParsingNonNumber() { IntegerProperty property = new IntegerProperty("int", "INT", 0); assertThatThrownBy(() -> property.parse("TWO_THOUSANDS")); } } ================================================ FILE: sdk/src/test/java/io/dapr/internal/subscription/EventSubscriberStreamObserverTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.internal.subscription; import com.google.protobuf.ByteString; import io.dapr.client.domain.CloudEvent; import io.dapr.exceptions.DaprException; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.TypeRef; import io.dapr.v1.DaprAppCallbackProtos; import io.dapr.v1.DaprGrpc; import io.dapr.v1.DaprPubsubProtos; import io.grpc.stub.StreamObserver; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import reactor.core.publisher.Flux; import reactor.test.StepVerifier; import java.io.IOException; import java.util.List; import java.util.stream.Collectors; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.argThat; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; /** * Unit tests for EventSubscriberStreamObserver. */ class EventSubscriberStreamObserverTest { public static final String PUBSUB_NAME = "pubsub"; public static final String TOPIC_NAME = "topic"; private DaprGrpc.DaprStub mockStub; private DaprObjectSerializer objectSerializer; private StreamObserver mockRequestStream; @BeforeEach @SuppressWarnings("unchecked") void setUp() { mockStub = mock(DaprGrpc.DaprStub.class); objectSerializer = new DefaultObjectSerializer(); mockRequestStream = mock(StreamObserver.class); when(mockStub.subscribeTopicEventsAlpha1(any())).thenReturn(mockRequestStream); } @Test @DisplayName("Should successfully process events and send SUCCESS acks") void testSuccessfulEventProcessing() { Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, TypeRef.STRING, objectSerializer ); // Start the subscription DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 initialRequest = buildInitialRequest( ); observer.start(initialRequest); // Simulate receiving an event DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response = buildEventResponse( "event-1", "Hello World" ); observer.onNext(response); // Complete the stream observer.onCompleted(); }); StepVerifier.create(flux) .assertNext(data -> { assertEquals("Hello World", data); }) .verifyComplete(); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.class); verify(mockRequestStream, times(2)).onNext(requestCaptor.capture()); List requests = requestCaptor.getAllValues(); assertEquals(2, requests.size()); assertTrue(requests.get(0).hasInitialRequest()); assertTrue(requests.get(1).hasEventProcessed()); assertEquals("event-1", requests.get(1).getEventProcessed().getId()); assertEquals( DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.SUCCESS, requests.get(1).getEventProcessed().getStatus().getStatus() ); } @Test @DisplayName("Should handle multiple consecutive events correctly") void testMultipleEvents() { Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, TypeRef.STRING, objectSerializer ); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 initialRequest = buildInitialRequest( ); observer.start(initialRequest); observer.onNext(buildEventResponse("event-1", "Message 1")); observer.onNext(buildEventResponse("event-2", "Message 2")); observer.onNext(buildEventResponse("event-3", "Message 3")); observer.onCompleted(); }); StepVerifier.create(flux) .assertNext(data -> { assertEquals("Message 1", data); }) .assertNext(data -> { assertEquals("Message 2", data); }) .assertNext(data -> { assertEquals("Message 3", data); }) .verifyComplete(); verify(mockRequestStream, times(4)).onNext(any()); } @Test @DisplayName("Should send DROP ack when deserialization fails") void testDeserializationError() { Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, TypeRef.STRING, objectSerializer ); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 initialRequest = buildInitialRequest( ); observer.start(initialRequest); // Send an event with invalid data (can't deserialize to String) DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response = DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage( DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId("event-1") .setPubsubName(PUBSUB_NAME) .setTopic(TOPIC_NAME) .setData(ByteString.copyFrom(new byte[]{(byte) 0xFF, (byte) 0xFE})) // Invalid UTF-8 .build() ) .build(); observer.onNext(response); }); StepVerifier.create(flux) .expectErrorMatches(error -> error instanceof DaprException && error.getMessage().contains("DESERIALIZATION_ERROR") && error.getMessage().contains("event-1")) .verify(); ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.class); verify(mockRequestStream, atLeast(2)).onNext(requestCaptor.capture()); List ackRequests = requestCaptor.getAllValues().stream() .filter(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1::hasEventProcessed) .collect(Collectors.toList()); assertEquals(1, ackRequests.size()); assertEquals("event-1", ackRequests.get(0).getEventProcessed().getId()); assertEquals( DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.DROP, ackRequests.get(0).getEventProcessed().getStatus().getStatus() ); } @Test @DisplayName("Should send RETRY ack when non-deserialization error occurs") void testProcessingError() { Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, TypeRef.STRING, objectSerializer ); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 initialRequest = buildInitialRequest(); observer.start(initialRequest); // Simulate a processing error by throwing during sink.next() sink.onRequest(n -> { throw new RuntimeException("Processing error"); }); observer.onNext(buildEventResponse("event-1", "Hello")); }); StepVerifier.create(flux) .expectError(RuntimeException.class) .verify(); // Note: When error occurs in onRequest callback (before processing), // no ack is sent as the error happens before we can handle the event verify(mockRequestStream, times(1)).onNext(any()); // Only initial request sent } @Test @DisplayName("Should propagate gRPC errors as DaprException") void testGrpcError() { Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, TypeRef.STRING, objectSerializer ); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 initialRequest = buildInitialRequest(); observer.start(initialRequest); // Simulate gRPC error observer.onError(new RuntimeException("gRPC connection failed")); }); StepVerifier.create(flux) .expectError(DaprException.class) .verify(); } @Test @DisplayName("Should handle null event messages gracefully without emitting events") void testNullEventMessage() { Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, TypeRef.STRING, objectSerializer ); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 initialRequest = buildInitialRequest( ); observer.start(initialRequest); DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response = DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .build(); observer.onNext(response); observer.onCompleted(); }); StepVerifier.create(flux) .verifyComplete(); verify(mockRequestStream, times(1)).onNext(any()); } @Test @DisplayName("Should skip events with empty pubsub name") void testEmptyPubsubName() { Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, TypeRef.STRING, objectSerializer ); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 initialRequest = buildInitialRequest( ); observer.start(initialRequest); DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response = DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage( DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId("event-1") .setPubsubName("") .setTopic(TOPIC_NAME) .setData(ByteString.copyFromUtf8("\"Hello\"")) .build() ) .build(); observer.onNext(response); observer.onCompleted(); }); StepVerifier.create(flux) .verifyComplete(); verify(mockRequestStream, times(1)).onNext(any()); } @Test @DisplayName("Should skip events with empty event ID") void testEmptyEventId() { Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, TypeRef.STRING, objectSerializer ); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 initialRequest = buildInitialRequest( ); observer.start(initialRequest); DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response = DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage( DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId("") .setPubsubName(PUBSUB_NAME) .setTopic(TOPIC_NAME) .setData(ByteString.copyFromUtf8("\"Hello\"")) .build() ) .build(); observer.onNext(response); observer.onCompleted(); }); StepVerifier.create(flux) .verifyComplete(); verify(mockRequestStream, times(1)).onNext(any()); } @Test @DisplayName("Should handle null type parameter by skipping emission but still sending ack") void testNullTypeSkipsEmission() { Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, null, // null type - deserialize returns null objectSerializer ); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 initialRequest = buildInitialRequest( ); observer.start(initialRequest); observer.onNext(buildEventResponse("event-1", "Hello")); observer.onCompleted(); }); // No events emitted since null values are skipped (Reactor doesn't allow null) StepVerifier.create(flux) .verifyComplete(); // But ack is still sent verify(mockRequestStream, times(2)).onNext(any()); } @Test @DisplayName("Should deserialize and emit complex objects correctly") void testComplexObjectSerialization() throws IOException { TestEvent testEvent = new TestEvent("test-name", 42); byte[] serializedEvent = objectSerializer.serialize(testEvent); Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, TypeRef.get(TestEvent.class), objectSerializer ); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 initialRequest = buildInitialRequest( ); observer.start(initialRequest); DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response = DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage( DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId("event-1") .setPubsubName(PUBSUB_NAME) .setTopic(TOPIC_NAME) .setData(ByteString.copyFrom(serializedEvent)) .build() ) .build(); observer.onNext(response); observer.onCompleted(); }); StepVerifier.create(flux) .assertNext(event -> { assertEquals("test-name", event.name); assertEquals(42, event.value); }) .verifyComplete(); } @Test @DisplayName("Should propagate errors when ack sending fails") void testErrorDuringSendingAck() { doThrow(new RuntimeException("Failed to send ack")) .when(mockRequestStream) .onNext(argThat(DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1::hasEventProcessed)); Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, TypeRef.STRING, objectSerializer ); DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 initialRequest = buildInitialRequest(); observer.start(initialRequest); observer.onNext(buildEventResponse("event-1", "Hello")); }); StepVerifier.create(flux) .assertNext(data -> assertEquals("Hello", data)) // Event is emitted before ack .expectError(DaprException.class) // Then error when sending ack .verify(); } @Test @DisplayName("Should construct CloudEvent from TopicEventRequest when TypeRef> is used") void testCloudEventTypeConstruction() { Flux> flux = Flux.create(sink -> { EventSubscriberStreamObserver> observer = new EventSubscriberStreamObserver<>( mockStub, sink, new TypeRef>() {}, objectSerializer ); observer.start(buildInitialRequest()); // Build response with all CloudEvent fields DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response = DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage( DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId("event-123") .setSource("test-source") .setType("test.event.type") .setSpecVersion("1.0") .setDataContentType("application/json") .setPubsubName(PUBSUB_NAME) .setTopic(TOPIC_NAME) .setData(ByteString.copyFromUtf8("\"Hello World\"")) .build() ) .build(); observer.onNext(response); observer.onCompleted(); }); StepVerifier.create(flux) .assertNext(cloudEvent -> { assertEquals("event-123", cloudEvent.getId()); assertEquals("test-source", cloudEvent.getSource()); assertEquals("test.event.type", cloudEvent.getType()); assertEquals("1.0", cloudEvent.getSpecversion()); assertEquals(TOPIC_NAME, cloudEvent.getTopic()); assertEquals(PUBSUB_NAME, cloudEvent.getPubsubName()); assertEquals("Hello World", cloudEvent.getData()); }) .verifyComplete(); // Verify SUCCESS ack was sent verify(mockRequestStream, times(2)).onNext(any()); } @Test @DisplayName("Should handle raw CloudEvent type without generic parameter") void testRawCloudEventType() { Flux flux = Flux.create(sink -> { EventSubscriberStreamObserver observer = new EventSubscriberStreamObserver<>( mockStub, sink, TypeRef.get(CloudEvent.class), objectSerializer ); observer.start(buildInitialRequest()); DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 response = DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage( DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId("event-456") .setSource("raw-source") .setType("raw.event.type") .setSpecVersion("1.0") .setPubsubName(PUBSUB_NAME) .setTopic(TOPIC_NAME) .setData(ByteString.copyFromUtf8("raw data content")) .build() ) .build(); observer.onNext(response); observer.onCompleted(); }); StepVerifier.create(flux) .assertNext(cloudEvent -> { assertEquals("event-456", cloudEvent.getId()); assertEquals("raw-source", cloudEvent.getSource()); assertEquals("raw.event.type", cloudEvent.getType()); assertEquals(TOPIC_NAME, cloudEvent.getTopic()); // Raw CloudEvent has data as string assertEquals("raw data content", cloudEvent.getData()); }) .verifyComplete(); } private DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1 buildInitialRequest() { return DaprPubsubProtos.SubscribeTopicEventsRequestAlpha1.newBuilder() .setInitialRequest( DaprPubsubProtos.SubscribeTopicEventsRequestInitialAlpha1.newBuilder() .setPubsubName(PUBSUB_NAME) .setTopic(TOPIC_NAME) .build() ) .build(); } private DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1 buildEventResponse(String eventId, String data) { try { byte[] serializedData = objectSerializer.serialize(data); return DaprPubsubProtos.SubscribeTopicEventsResponseAlpha1.newBuilder() .setEventMessage( DaprAppCallbackProtos.TopicEventRequest.newBuilder() .setId(eventId) .setPubsubName(PUBSUB_NAME) .setTopic(TOPIC_NAME) .setData(ByteString.copyFrom(serializedData)) .build() ) .build(); } catch (IOException e) { throw new RuntimeException(e); } } public static class TestEvent { public String name; public int value; public TestEvent() { } public TestEvent(String name, int value) { this.name = name; this.value = value; } } } ================================================ FILE: sdk/src/test/java/io/dapr/resiliency/RetryPolicyTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.resiliency; import io.dapr.internal.resiliency.RetryPolicy; import io.grpc.Status; import io.grpc.StatusRuntimeException; import org.junit.jupiter.api.Test; import reactor.core.Exceptions; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import java.util.concurrent.atomic.AtomicInteger; import static org.junit.jupiter.api.Assertions.assertEquals; public class RetryPolicyTest { private static final String SUCCESS_MESSAGE = "It worked!"; private static final RuntimeException RETRYABLE_EXCEPTION = new StatusRuntimeException(Status.DEADLINE_EXCEEDED); @Test public void zeroRetriesThenError() { AtomicInteger callCounter = new AtomicInteger(); RetryPolicy policy = new RetryPolicy(0); Mono action = createActionErrorAndReturn(callCounter, Integer.MAX_VALUE, RETRYABLE_EXCEPTION); StepVerifier .create(policy.apply(action)) .expectError(StatusRuntimeException.class) .verify(); assertEquals(1, callCounter.get()); } @Test public void zeroRetriesThenSuccess() { AtomicInteger callCounter = new AtomicInteger(); RetryPolicy policy = new RetryPolicy(0); Mono action = createActionErrorAndReturn(callCounter, 0, RETRYABLE_EXCEPTION); StepVerifier .create(policy.apply(action)) .expectNext(SUCCESS_MESSAGE) .expectComplete() .verify(); assertEquals(1, callCounter.get()); } @Test public void singleRetryPolicyWithSuccess() { AtomicInteger callCounter = new AtomicInteger(); RetryPolicy policy = new RetryPolicy(1); Mono action = createActionErrorAndReturn(callCounter, 0, RETRYABLE_EXCEPTION); StepVerifier .create(policy.apply(action)) .expectNext(SUCCESS_MESSAGE) .expectComplete() .verify(); assertEquals(1, callCounter.get()); } @Test public void twoRetriesThenSuccess() { AtomicInteger callCounter = new AtomicInteger(); RetryPolicy policy = new RetryPolicy(3); Mono action = createActionErrorAndReturn(callCounter, 2, RETRYABLE_EXCEPTION); StepVerifier .create(policy.apply(action)) .expectNext(SUCCESS_MESSAGE) .expectComplete() .verify(); assertEquals(3, callCounter.get()); } @Test public void threeRetriesThenError() { AtomicInteger callCounter = new AtomicInteger(); RetryPolicy policy = new RetryPolicy(3); Mono action = createActionErrorAndReturn(callCounter, Integer.MAX_VALUE, RETRYABLE_EXCEPTION); StepVerifier .create(policy.apply(action)) .expectErrorMatches(e -> Exceptions.isRetryExhausted(e)) .verify(); assertEquals(4, callCounter.get()); } @Test public void notRetryableException() { AtomicInteger callCounter = new AtomicInteger(); RuntimeException exception = new ArithmeticException(); RetryPolicy policy = new RetryPolicy(3); Mono action = createActionErrorAndReturn(callCounter, Integer.MAX_VALUE, exception); StepVerifier .create(policy.apply(action)) .expectError(ArithmeticException.class) .verify(); assertEquals(1, callCounter.get()); } private static Mono createActionErrorAndReturn( AtomicInteger callCounter, int firstErrors, RuntimeException error) { return Mono.fromRunnable(() -> { if (callCounter.incrementAndGet() <= firstErrors) { throw error; } }).thenReturn(SUCCESS_MESSAGE); } } ================================================ FILE: sdk/src/test/java/io/dapr/runtime/Dapr.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.runtime; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.domain.CloudEvent; import reactor.core.publisher.Mono; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; /** * Main interface to register and interface with local Dapr instance. * * This class DO NOT make I/O operations by itself, only via user-provided listeners. */ public final class Dapr implements DaprRuntime { /** * Serializes and deserializes internal objects. */ private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); /** * Singleton instance for this class. */ private static volatile DaprRuntime instance; /** * Topics, methods and binding handles. */ private final Map>> handlers = Collections.synchronizedMap(new HashMap<>()); /** * Private constructor to keep it singleton. */ private Dapr() { } /** * Returns the only DaprRuntime object. * * @return DaprRuntime object. */ public static DaprRuntime getInstance() { if (instance == null) { synchronized (Dapr.class) { if (instance == null) { instance = new Dapr(); } } } return instance; } /** * {@inheritDoc} */ @Override public String serializeSubscribedTopicList() throws IOException { return OBJECT_MAPPER.writeValueAsString(this.getSubscribedTopics()); } /** * {@inheritDoc} */ @Override public Collection getSubscribedTopics() { return this.handlers .entrySet() .stream().filter(kv -> kv.getValue() instanceof TopicHandler) .map(kv -> kv.getKey()) .collect(Collectors.toCollection(ArrayList::new)); } /** * {@inheritDoc} */ @Override public void subscribeToTopic(String topic, TopicListener listener) { this.handlers.putIfAbsent(topic, new TopicHandler(listener)); } /** * {@inheritDoc} */ @Override public void registerServiceMethod(String name, MethodListener listener) { this.handlers.putIfAbsent(name, new MethodHandler(listener)); } /** * {@inheritDoc} */ public void registerInputBinding(String name, MethodListener listener) { this.handlers.putIfAbsent(name, new MethodHandler(listener)); } /** * {@inheritDoc} */ @Override public Mono handleInvocation(String name, byte[] payload, Map metadata) { if (name == null) { return Mono.error(new IllegalArgumentException("Handler's name cannot be null.")); } Function> handler = this.handlers.get(name); if (handler == null) { return Mono.error(new IllegalArgumentException("Did not find handler for : " + (name == null ? "" : name))); } try { HandleRequest request = new HandleRequest(name, payload, metadata); return handler.apply(request); } catch (Exception e) { // Handling exception in user code by propagating up via Mono. return Mono.error(e); } } /** * Class used to pass-through the handler input. */ private static final class HandleRequest { /** * Name of topic/method/binding being handled. */ private final String name; /** * Payload received. */ private final byte[] payload; /** * Metadata received. */ private final Map metadata; /** * Instantiates a new handle request. * @param name Name of topic/method/binding being handled. * @param payload Payload received. * @param metadata Metadata received. */ private HandleRequest(String name, byte[] payload, Map metadata) { this.name = name; this.payload = payload; this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); } } /** * Internal class to handle a method call. */ private static final class MethodHandler implements Function> { /** * User-provided listener. */ private final MethodListener listener; /** * Instantiates a new method handler. * @param listener Method to be executed on a given API call. */ private MethodHandler(MethodListener listener) { this.listener = listener; } /** * Executes the listener's method. * @param r Internal request object. * @return Raw output payload or empty. */ @Override public Mono apply(HandleRequest r) { try { return listener.process(r.payload, r.metadata); } catch (Exception e) { return Mono.error(e); } } } /** * Internal class to handle a topic message delivery. */ private static final class TopicHandler implements Function> { /** * User-provided listener. */ private final TopicListener listener; /** * Instantiates a new topic handler. * @param listener Callback to be executed on a given message. */ private TopicHandler(TopicListener listener) { this.listener = listener; } /** * Executes the listener's method. * @param r Internal request object. * @return Always empty response. */ @Override public Mono apply(HandleRequest r) { try { CloudEvent message = CloudEvent.deserialize(r.payload); if (message == null) { return Mono.empty(); } return listener.process(message, r.metadata).then(Mono.empty()); } catch (Exception e) { return Mono.error(e); } } } } ================================================ FILE: sdk/src/test/java/io/dapr/runtime/DaprRuntime.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.runtime; import reactor.core.publisher.Mono; import java.io.IOException; import java.util.Collection; import java.util.Map; /** * Common interface to configure and process callback API. * * Used for Integration Tests only, for now. */ public interface DaprRuntime { /** * Subscribes to a topic. * @param topic Topic name to be subscribed to. * @param listener Callback to be executed on a given message. */ void subscribeToTopic(String topic, TopicListener listener); /** * Serializes the list of subscribed topics as a String. * @return Serialized list of subscribed topics. * @throws IOException If cannot serialize. */ String serializeSubscribedTopicList() throws IOException; /** * Returns the collection of subscribed topics. * @return Collection of subscribed topics. */ Collection getSubscribedTopics(); /** * Registers a service method to be executed on an API call. * @param name Name of the service API's method. * @param listener Method to be executed on a given API call. */ void registerServiceMethod(String name, MethodListener listener); /** * Registers a method to be executed for an input binding. * @param name The name of the input binding. * @param listener The method to run when receiving a message on this binding. */ void registerInputBinding(String name, MethodListener listener); /** * Handles a given topic message or method API call. * @param name Name of topic or method. * @param payload Input body. * @param metadata Headers (or metadata) for the call. * @return Response payload or empty. */ Mono handleInvocation(String name, byte[] payload, Map metadata); } ================================================ FILE: sdk/src/test/java/io/dapr/runtime/DaprRuntimeTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.runtime; import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonGenerator; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientTestBuilder; import io.dapr.client.DaprHttp; import io.dapr.client.DaprHttpStub; import io.dapr.client.domain.CloudEvent; import io.dapr.client.domain.HttpExtension; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.lang.reflect.Field; import java.util.Collections; import java.util.Map; import java.util.UUID; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @SuppressWarnings("deprecation") public class DaprRuntimeTest { protected static final JsonFactory JSON_FACTORY = new JsonFactory(); private static final String TYPE_PLAIN_TEXT = "plain/text"; private static final String PUBSUB_NAME = "mypubsubname"; private static final String TOPIC_NAME = "mytopic"; private static final String APP_ID = "myappid"; private static final String METHOD_NAME = "mymethod"; private static final String INVOKE_PATH = DaprHttp.API_VERSION + "/invoke"; private static final String PUBLISH_PATH = DaprHttp.API_VERSION + "/publish"; private final DaprRuntime daprRuntime = Dapr.getInstance(); @BeforeEach public void setup() throws Exception { // Only for unit tests to simulate a new start of the app. Field field = this.daprRuntime.getClass().getDeclaredField("instance"); field.setAccessible(true); field.set(null, null); } @Test public void pubSubHappyCase() throws Exception { Assertions.assertNotNull(this.daprRuntime.getSubscribedTopics()); Assertions.assertTrue(this.daprRuntime.getSubscribedTopics().isEmpty()); TopicListener listener = mock(TopicListener.class); when(listener.process(any(), any())).thenReturn(Mono.empty()); this.daprRuntime.subscribeToTopic(TOPIC_NAME, listener); verify(listener, never()).process(any(), any()); Message[] messages = new Message[]{ new Message( generateMessageId(), TYPE_PLAIN_TEXT, generatePayload(), generateSingleMetadata()), new Message( generateMessageId(), TYPE_PLAIN_TEXT, "", generateSingleMetadata()), new Message( generateMessageId(), TYPE_PLAIN_TEXT, null, generateSingleMetadata()), new Message( generateMessageId(), TYPE_PLAIN_TEXT, generatePayload(), null), new Message( "", TYPE_PLAIN_TEXT, generatePayload(), generateSingleMetadata()), new Message( null, TYPE_PLAIN_TEXT, generatePayload(), generateSingleMetadata()), new Message( generateMessageId(), "", generatePayload(), generateSingleMetadata()), new Message( generateMessageId(), null, generatePayload(), generateSingleMetadata()) }; for (Message message : messages) { this.daprRuntime.handleInvocation(TOPIC_NAME, this.serialize(message), message.metadata); CloudEvent envelope = new CloudEvent( message.id, null, null, null, message.datacontenttype, message.data ); verify(listener, times(1)).process(eq(envelope), eq(message.metadata)); } verify(listener, times(messages.length)).process(any(), any()); } @Test public void invokeHappyCase() throws Exception { MethodListener listener = mock(MethodListener.class); this.daprRuntime.registerServiceMethod(METHOD_NAME, listener); verify(listener, never()).process(any(), any()); Message[] messages = new Message[]{ new Message( generateMessageId(), TYPE_PLAIN_TEXT, generatePayload(), generateSingleMetadata()), new Message( generateMessageId(), TYPE_PLAIN_TEXT, "", generateSingleMetadata()), new Message( generateMessageId(), TYPE_PLAIN_TEXT, null, generateSingleMetadata()), new Message( generateMessageId(), TYPE_PLAIN_TEXT, generatePayload(), null), new Message( "", TYPE_PLAIN_TEXT, generatePayload(), generateSingleMetadata()), new Message( null, TYPE_PLAIN_TEXT, generatePayload(), generateSingleMetadata()), new Message( generateMessageId(), "", generatePayload(), generateSingleMetadata()), new Message( generateMessageId(), null, generatePayload(), generateSingleMetadata()) }; DaprHttpStub daprHttp = mock(DaprHttpStub.class); DaprClient client = DaprClientTestBuilder.buildClientForHttpOnly(daprHttp); DaprObjectSerializer serializer = new DefaultObjectSerializer(); for (Message message : messages) { byte[] expectedResponse = serializer.serialize(message.id); when(listener.process(eq(serializer.serialize(message.data)), eq(message.metadata))) .then(x -> expectedResponse == null ? Mono.empty() : Mono.just(expectedResponse)); when(daprHttp.invokeApi( eq("POST"), eq((INVOKE_PATH + "/" + APP_ID + "/method/" + METHOD_NAME).split("/")), any(), eq(serializer.serialize(message.data)), any(), any())) .thenAnswer(x -> this.daprRuntime.handleInvocation( METHOD_NAME, serializer.serialize(message.data), message.metadata) .map(r -> new DaprHttpStub.ResponseStub(r, null, 200))); Mono response = client.invokeMethod(APP_ID, METHOD_NAME, message.data, HttpExtension.POST, message.metadata, byte[].class); Assertions.assertArrayEquals(expectedResponse, response.block()); verify(listener, times(1)) .process(eq(serializer.serialize(message.data)), eq(message.metadata)); } verify(listener, times(messages.length)).process(any(), any()); } @Test public void subscribeCallbackException() throws Exception { Assertions.assertNotNull(this.daprRuntime.getSubscribedTopics()); Assertions.assertTrue(this.daprRuntime.getSubscribedTopics().isEmpty()); TopicListener listener = mock(TopicListener.class); when(listener.process(any(), any())) .thenReturn(Mono.error(new RuntimeException())); this.daprRuntime.subscribeToTopic(TOPIC_NAME, listener); Message message = new Message( generateMessageId(), TYPE_PLAIN_TEXT, generatePayload(), generateSingleMetadata()); Mono result = this.daprRuntime .handleInvocation(TOPIC_NAME, this.serialize(message), message.metadata); CloudEvent envelope = new CloudEvent( message.id, null, null, null, message.datacontenttype, message.data ); verify(listener, times(1)).process(eq(envelope), eq(message.metadata)); assertThrows(RuntimeException.class, () -> result.block()); } @Test public void subscribeUnknownTopic() throws Exception { Assertions.assertNotNull(this.daprRuntime.getSubscribedTopics()); Assertions.assertTrue(this.daprRuntime.getSubscribedTopics().isEmpty()); TopicListener listener = mock(TopicListener.class); this.daprRuntime.subscribeToTopic(TOPIC_NAME, listener); Message message = new Message( generateMessageId(), TYPE_PLAIN_TEXT, generatePayload(), generateSingleMetadata()); Mono result = this.daprRuntime .handleInvocation("UNKNOWN", serialize(message), message.metadata); verify(listener, never()).process(any(), any()); assertThrows(IllegalArgumentException.class, () -> result.block()); } private static String generateMessageId() { return UUID.randomUUID().toString(); } private static String generatePayload() { return UUID.randomUUID().toString(); } private static Map generateSingleMetadata() { return Collections.singletonMap(UUID.randomUUID().toString(), UUID.randomUUID().toString()); } private static final class Message { private final String id; private final String datacontenttype; private final String data; private final Map metadata; private Message(String id, String datacontenttype, String data, Map metadata) { this.id = id; this.datacontenttype = datacontenttype; this.data = data; this.metadata = metadata; } } private byte[] serialize(Message message) throws IOException { if (message == null) { return null; } try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) { JsonGenerator generator = JSON_FACTORY.createGenerator(bos); generator.writeStartObject(); if (message.id != null) { generator.writeStringField("id", message.id); } if (message.datacontenttype != null) { generator.writeStringField("datacontenttype", message.datacontenttype); } if (message.data != null) { generator.writeStringField("data", message.data); } generator.writeEndObject(); generator.close(); bos.flush(); return bos.toByteArray(); } } } ================================================ FILE: sdk/src/test/java/io/dapr/runtime/MethodListener.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.runtime; import reactor.core.publisher.Mono; import java.util.Map; /** * Processes a given API's method call. */ public interface MethodListener { /** * Processes a given API's method call. * @param data Raw input payload. * @param metadata Header (or metadata). * @return Raw response or empty. * @throws Exception Any exception from user code. */ Mono process(byte[] data, Map metadata) throws Exception; } ================================================ FILE: sdk/src/test/java/io/dapr/runtime/TopicListener.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.runtime; import io.dapr.client.domain.CloudEvent; import reactor.core.publisher.Mono; import java.util.Map; /** * Processes a given topic's message delivery. */ public interface TopicListener { /** * Processes a given topic's message delivery. * @param message Message event to be processed. * @param metadata Headers (or metadata). * @return Empty response. * @throws Exception Any exception from user code. */ Mono process(CloudEvent message, Map metadata) throws Exception; } ================================================ FILE: sdk/src/test/java/io/dapr/serializer/CustomObjectSerializerTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.serializer; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.google.common.base.Objects; import org.junit.jupiter.api.Test; import java.io.IOException; import java.io.Serializable; import java.time.ZoneId; import java.time.ZonedDateTime; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.fail; public class CustomObjectSerializerTest { private static final DaprObjectSerializer SERIALIZER = new CustomizableObjectSerializer(new ObjectMapper() .registerModule(new JavaTimeModule()) .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) .setSerializationInclusion(JsonInclude.Include.NON_NULL) .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)); public static class ObjectForTesting implements Serializable { private ZonedDateTime time; public ZonedDateTime getTime() { return time; } public void setTime(ZonedDateTime time) { this.time = time; } @Override public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } ObjectForTesting that = (ObjectForTesting) o; return Objects.equal(time, that.time); } @Override public int hashCode() { return Objects.hashCode(time); } } @Test public void serializeObjectForTesting() { ObjectForTesting obj = new ObjectForTesting(); obj.setTime(ZonedDateTime.of(1900, 1, 1, 1, 1, 0, 0, ZoneId.of("UTC"))); String expectedResult = "{\"time\":\"1900-01-01T01:01:00Z\"}"; String serializedValue; try { serializedValue = new String(SERIALIZER.serialize(obj)); assertEquals(expectedResult, serializedValue, "FOUND:[[" + serializedValue + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } } ================================================ FILE: sdk/src/test/java/io/dapr/serializer/DefaultObjectSerializerTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.serializer; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.google.protobuf.ByteString; import com.google.protobuf.CodedOutputStream; import com.google.protobuf.MessageLite; import com.google.protobuf.Parser; import io.dapr.client.domain.CloudEvent; import io.dapr.utils.TypeRef; import io.dapr.v1.CommonProtos; import org.junit.jupiter.api.Test; import java.io.IOException; import java.io.OutputStream; import java.io.Serializable; import java.lang.reflect.Type; import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Base64; import java.util.List; import java.util.TreeMap; import java.util.function.Function; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; public class DefaultObjectSerializerTest { private static final DefaultObjectSerializer SERIALIZER = new DefaultObjectSerializer(); public static class MyObjectTestToSerialize implements Serializable { private String stringValue; private int intValue; private boolean boolValue; private char charValue; private byte byteValue; private short shortValue; private long longValue; private float floatValue; private double doubleValue; @JsonSerialize(using = OffsetDateTimeSerializer.class) @JsonDeserialize(using = OffsetDateTimeDeserializer.class) private OffsetDateTime timeValue; public String getStringValue() { return stringValue; } public void setStringValue(String stringValue) { this.stringValue = stringValue; } public int getIntValue() { return intValue; } public void setIntValue(int intValue) { this.intValue = intValue; } public boolean isBoolValue() { return boolValue; } public void setBoolValue(boolean boolValue) { this.boolValue = boolValue; } public char getCharValue() { return charValue; } public void setCharValue(char charValue) { this.charValue = charValue; } public byte getByteValue() { return byteValue; } public void setByteValue(byte byteValue) { this.byteValue = byteValue; } public short getShortValue() { return shortValue; } public void setShortValue(short shortValue) { this.shortValue = shortValue; } public long getLongValue() { return longValue; } public void setLongValue(long longValue) { this.longValue = longValue; } public float getFloatValue() { return floatValue; } public void setFloatValue(float floatValue) { this.floatValue = floatValue; } public double getDoubleValue() { return doubleValue; } public void setDoubleValue(double doubleValue) { this.doubleValue = doubleValue; } public OffsetDateTime getTimeValue() { return timeValue; } public void setTimeValue(OffsetDateTime timeValue) { this.timeValue = timeValue; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof MyObjectTestToSerialize)) { return false; } MyObjectTestToSerialize that = (MyObjectTestToSerialize) o; if (getIntValue() != that.getIntValue()) { return false; } if (isBoolValue() != that.isBoolValue()) { return false; } if (getCharValue() != that.getCharValue()) { return false; } if (getByteValue() != that.getByteValue()) { return false; } if (getShortValue() != that.getShortValue()) { return false; } if (getLongValue() != that.getLongValue()) { return false; } if (Float.compare(that.getFloatValue(), getFloatValue()) != 0) { return false; } if (Double.compare(that.getDoubleValue(), getDoubleValue()) != 0) { return false; } if (getStringValue() != null ? !getStringValue().equals(that.getStringValue()) : that.getStringValue() != null) { return false; } if (getTimeValue() != null ? !getTimeValue().isEqual(that.getTimeValue()) : that.getTimeValue() != null) { return false; } return true; } @Override public int hashCode() { int result; long temp; result = getStringValue() != null ? getStringValue().hashCode() : 0; result = 31 * result + getIntValue(); result = 31 * result + (isBoolValue() ? 1 : 0); result = 31 * result + (int) getCharValue(); result = 31 * result + (int) getByteValue(); result = 31 * result + (int) getShortValue(); result = 31 * result + (int) (getLongValue() ^ (getLongValue() >>> 32)); result = 31 * result + (getFloatValue() != +0.0f ? Float.floatToIntBits(getFloatValue()) : 0); temp = Double.doubleToLongBits(getDoubleValue()); result = 31 * result + (int) (temp ^ (temp >>> 32)); result = 31 * result + getTimeValue().toInstant().hashCode(); return result; } @Override public String toString() { return "MyObjectTestToSerialize{" + "stringValue='" + stringValue + '\'' + ", intValue=" + intValue + ", boolValue=" + boolValue + ", charValue=" + charValue + ", byteValue=" + byteValue + ", shortValue=" + shortValue + ", longValue=" + longValue + ", floatValue=" + floatValue + ", doubleValue=" + doubleValue + ", timeValue=" + timeValue + '}'; } private static class OffsetDateTimeSerializer extends JsonSerializer { @Override public void serialize(OffsetDateTime offsetDateTime, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { jsonGenerator.writeString(offsetDateTime.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)); } } private static class OffsetDateTimeDeserializer extends JsonDeserializer { @Override public OffsetDateTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { return OffsetDateTime.parse(jsonParser.getText()); } } } @Test public void serializeStringObjectTest() { MyObjectTestToSerialize obj = new MyObjectTestToSerialize(); obj.setStringValue("A String"); obj.setIntValue(2147483647); obj.setBoolValue(true); obj.setCharValue('a'); obj.setByteValue((byte) 65); obj.setShortValue((short) 32767); obj.setLongValue(9223372036854775807L); obj.setFloatValue(1.0f); obj.setDoubleValue(1000.0); obj.setTimeValue(OffsetDateTime.MIN); String expectedResult = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"-999999999-01-01T00:00:00+18:00\"}"; String serializedValue; try { serializedValue = new String(SERIALIZER.serialize(obj)); assertEquals(expectedResult, serializedValue, "FOUND:[[" + serializedValue + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void serializeObjectTest() { MyObjectTestToSerialize obj = new MyObjectTestToSerialize(); obj.setStringValue("A String"); obj.setIntValue(2147483647); obj.setBoolValue(true); obj.setCharValue('a'); obj.setByteValue((byte) 65); obj.setShortValue((short) 32767); obj.setLongValue(9223372036854775807L); obj.setFloatValue(1.0f); obj.setDoubleValue(1000.0); //String expectedResult = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0}"; byte[] serializedValue; try { serializedValue = SERIALIZER.serialize(obj); assertNotNull(serializedValue); MyObjectTestToSerialize deserializedValue = SERIALIZER.deserialize(serializedValue, MyObjectTestToSerialize.class); assertEquals(obj, deserializedValue); } catch (IOException exception) { fail(exception.getMessage()); } try { serializedValue = SERIALIZER.serialize(obj); assertNotNull(serializedValue); Type t = MyObjectTestToSerialize.class; TypeRef tr = TypeRef.get(t); MyObjectTestToSerialize deserializedValue = SERIALIZER.deserialize(serializedValue, tr); assertEquals(obj, deserializedValue); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void serializeNullTest() { byte[] byteSerializedValue; try { byteSerializedValue = SERIALIZER.serialize(null); assertNull(byteSerializedValue); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void serializeStringTest() { String valueToSerialize = "A String"; String expectedSerializedValue = "\"A String\""; String serializedValue; byte [] byteValue; try { serializedValue = new String(SERIALIZER.serialize(valueToSerialize)); assertEquals(expectedSerializedValue, serializedValue); byteValue = SERIALIZER.serialize(valueToSerialize); assertNotNull(byteValue); String deserializedValue = SERIALIZER.deserialize(byteValue, String.class); assertEquals(valueToSerialize, deserializedValue); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void serializeIntTest() { Integer valueToSerialize = 1; String expectedResult = valueToSerialize.toString(); String serializedValue; byte [] byteValue; try { serializedValue = new String(SERIALIZER.serialize(valueToSerialize.intValue())); assertEquals(expectedResult, serializedValue); byteValue = SERIALIZER.serialize(valueToSerialize); assertNotNull(byteValue); Integer deserializedValue = SERIALIZER.deserialize(byteValue, Integer.class); assertEquals(valueToSerialize, deserializedValue); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void serializeShortTest() { Short valueToSerialize = 1; String expectedResult = valueToSerialize.toString(); String serializedValue; byte [] byteValue; try { serializedValue = new String(SERIALIZER.serialize(valueToSerialize.shortValue())); assertEquals(expectedResult, serializedValue); byteValue = SERIALIZER.serialize(valueToSerialize); assertNotNull(byteValue); Short deserializedValue = SERIALIZER.deserialize(byteValue, Short.class); assertEquals(valueToSerialize, deserializedValue); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void serializeLongTest() { Long valueToSerialize = Long.MAX_VALUE; String expectedResult = valueToSerialize.toString(); String serializedValue; byte [] byteValue; try { serializedValue = new String(SERIALIZER.serialize(valueToSerialize.longValue())); assertEquals(expectedResult, serializedValue); byteValue = SERIALIZER.serialize(valueToSerialize); assertNotNull(byteValue); Long deserializedValue = SERIALIZER.deserialize(byteValue, Long.class); assertEquals(valueToSerialize, deserializedValue); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void serializeFloatTest() { Float valueToSerialize = -1.23456f; String expectedResult = valueToSerialize.toString(); String serializedValue; byte [] byteValue; try { serializedValue = new String(SERIALIZER.serialize(valueToSerialize.floatValue())); assertEquals(expectedResult, serializedValue); byteValue = SERIALIZER.serialize(valueToSerialize); assertNotNull(byteValue); Float deserializedValue = SERIALIZER.deserialize(byteValue, Float.class); assertEquals(valueToSerialize, deserializedValue, 0.00000000001); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void serializeDoubleTest() { Double valueToSerialize = 1.0; String expectedResult = valueToSerialize.toString(); String serializedValue; byte [] byteValue; try { serializedValue = new String(SERIALIZER.serialize(valueToSerialize.doubleValue())); assertEquals(expectedResult, serializedValue); byteValue = SERIALIZER.serialize(valueToSerialize); assertNotNull(byteValue); Double deserializedValue = SERIALIZER.deserialize(byteValue, Double.class); assertEquals(valueToSerialize, deserializedValue); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void serializeBooleanTest() { Boolean valueToSerialize = true; String expectedResult = valueToSerialize.toString(); String serializedValue; byte [] byteValue; try { serializedValue = new String(SERIALIZER.serialize(valueToSerialize.booleanValue())); assertEquals(expectedResult, serializedValue); byteValue = SERIALIZER.serialize(valueToSerialize); assertNotNull(byteValue); Boolean deserializedValue = SERIALIZER.deserialize(byteValue, Boolean.class); assertEquals(valueToSerialize, deserializedValue); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void serializeProtoTest() throws Exception { CommonProtos.Etag valueToSerialize = CommonProtos.Etag.newBuilder().setValue("myValue").build(); String expectedSerializedBase64Value = "CgdteVZhbHVl"; byte[] serializedValue = SERIALIZER.serialize(valueToSerialize); assertEquals(expectedSerializedBase64Value, Base64.getEncoder().encodeToString(serializedValue)); assertNotNull(serializedValue); CommonProtos.Etag deserializedValue = SERIALIZER.deserialize(serializedValue, CommonProtos.Etag.class); assertEquals(valueToSerialize.getValue(), deserializedValue.getValue()); assertEquals(valueToSerialize, deserializedValue); } @Test public void serializeFakeProtoTest() throws Exception { FakeProtoClass valueToSerialize = new FakeProtoClass(); String expectedSerializedBase64Value = "AQ=="; byte[] serializedValue = SERIALIZER.serialize(valueToSerialize); assertEquals(expectedSerializedBase64Value, Base64.getEncoder().encodeToString(serializedValue)); assertNotNull(serializedValue); // Tries to parse as JSON since FakeProtoClass does not have `parseFrom()` static method. assertThrows(JsonParseException.class, () -> SERIALIZER.deserialize(serializedValue, FakeProtoClass.class)); } @Test public void deserializeObjectTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setStringValue("A String"); expectedResult.setIntValue(2147483647); expectedResult.setBoolValue(true); expectedResult.setCharValue('a'); expectedResult.setByteValue((byte) 65); expectedResult.setShortValue((short) 32767); expectedResult.setLongValue(9223372036854775807L); expectedResult.setFloatValue(1.0f); expectedResult.setDoubleValue(1000.0); expectedResult.setTimeValue(OffsetDateTime.MAX); MyObjectTestToSerialize result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), TypeRef.get(MyObjectTestToSerialize.class)); assertEquals(expectedResult, result, "The expected value is different than the actual result"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeArrayObjectTest() { String jsonToDeserialize = "[{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}]"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setStringValue("A String"); expectedResult.setIntValue(2147483647); expectedResult.setBoolValue(true); expectedResult.setCharValue('a'); expectedResult.setByteValue((byte) 65); expectedResult.setShortValue((short) 32767); expectedResult.setLongValue(9223372036854775807L); expectedResult.setFloatValue(1.0f); expectedResult.setDoubleValue(1000.0); expectedResult.setTimeValue(OffsetDateTime.MAX); List result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), new TypeRef>(){}); assertEquals(expectedResult, result.get(0), "The expected value is different than the actual result"); } catch (IOException exception) { fail(exception.getMessage()); } try { TypeRef> tr1 = new TypeRef>(){}; Type t = tr1.getType(); TypeRef tr = TypeRef.get(t); result = (List) SERIALIZER.deserialize(jsonToDeserialize.getBytes(), tr); assertEquals(expectedResult, result.get(0), "The expected value is different than the actual result"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeBytesTest() { try { byte[] result = SERIALIZER.deserialize("String".getBytes(), byte[].class); assertNotNull(result); assertEquals("String", new String(result)); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeNullObjectOrPrimitiveTest() { try { MyObjectTestToSerialize objResult = SERIALIZER.deserialize(null, MyObjectTestToSerialize.class); assertNull(objResult); boolean boolResult = SERIALIZER.deserialize(null, boolean.class); assertFalse(boolResult); byte expectedByteResult = (byte) 0; byte byteResult = SERIALIZER.deserialize(null, byte.class); assertEquals(expectedByteResult, byteResult); short expectedShortResult = (short) 0; short shortResult = SERIALIZER.deserialize(null, short.class); assertEquals(expectedShortResult, shortResult); int expectedIntResult = 0; int intResult = SERIALIZER.deserialize(null, int.class); assertEquals(expectedIntResult, intResult); long expectedLongResult = 0L; long longResult = SERIALIZER.deserialize(null, long.class); assertEquals(expectedLongResult, longResult); float expectedFloatResult = 0f; float floatResult = SERIALIZER.deserialize(null, float.class); assertEquals(expectedFloatResult, floatResult, 0.0f); double expectedDoubleResult = 0; double doubleResult = SERIALIZER.deserialize(null, double.class); assertEquals(expectedDoubleResult, doubleResult, 0.0); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeObjectMissingStringPropertyTest() { String jsonToDeserialize = "{\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setIntValue(2147483647); expectedResult.setBoolValue(true); expectedResult.setCharValue('a'); expectedResult.setByteValue((byte) 65); expectedResult.setShortValue((short) 32767); expectedResult.setLongValue(9223372036854775807L); expectedResult.setFloatValue(1.0f); expectedResult.setDoubleValue(1000.0); expectedResult.setTimeValue(OffsetDateTime.MAX); MyObjectTestToSerialize result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class); assertEquals(expectedResult, result, "FOUND:[[" + result + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeObjectMissingIntTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setStringValue("A String"); expectedResult.setBoolValue(true); expectedResult.setCharValue('a'); expectedResult.setByteValue((byte) 65); expectedResult.setShortValue((short) 32767); expectedResult.setLongValue(9223372036854775807L); expectedResult.setFloatValue(1.0f); expectedResult.setDoubleValue(1000.0); expectedResult.setTimeValue(OffsetDateTime.MAX); MyObjectTestToSerialize result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class); assertEquals(expectedResult, result, "FOUND:[[" + result + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeObjectMissingBooleanTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setStringValue("A String"); expectedResult.setIntValue(2147483647); expectedResult.setCharValue('a'); expectedResult.setByteValue((byte) 65); expectedResult.setShortValue((short) 32767); expectedResult.setLongValue(9223372036854775807L); expectedResult.setFloatValue(1.0f); expectedResult.setDoubleValue(1000.0); expectedResult.setTimeValue(OffsetDateTime.MAX); MyObjectTestToSerialize result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class); assertEquals(expectedResult, result, "FOUND:[[" + result + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeObjectMissingCharTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setStringValue("A String"); expectedResult.setIntValue(2147483647); expectedResult.setBoolValue(true); expectedResult.setByteValue((byte) 65); expectedResult.setShortValue((short) 32767); expectedResult.setLongValue(9223372036854775807L); expectedResult.setFloatValue(1.0f); expectedResult.setDoubleValue(1000.0); expectedResult.setTimeValue(OffsetDateTime.MAX); MyObjectTestToSerialize result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class); assertEquals(expectedResult, result, "FOUND:[[" + result + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeObjectMissingByteTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setStringValue("A String"); expectedResult.setIntValue(2147483647); expectedResult.setBoolValue(true); expectedResult.setCharValue('a'); expectedResult.setShortValue((short) 32767); expectedResult.setLongValue(9223372036854775807L); expectedResult.setFloatValue(1.0f); expectedResult.setDoubleValue(1000.0); expectedResult.setTimeValue(OffsetDateTime.MAX); MyObjectTestToSerialize result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class); assertEquals(expectedResult, result, "FOUND:[[" + result + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeObjectMissingShortTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setStringValue("A String"); expectedResult.setIntValue(2147483647); expectedResult.setBoolValue(true); expectedResult.setCharValue('a'); expectedResult.setByteValue((byte) 65); expectedResult.setLongValue(9223372036854775807L); expectedResult.setFloatValue(1.0f); expectedResult.setDoubleValue(1000.0); expectedResult.setTimeValue(OffsetDateTime.MAX); MyObjectTestToSerialize result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class); assertEquals(expectedResult, result, "FOUND:[[" + result + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeObjectMissingLongTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setStringValue("A String"); expectedResult.setIntValue(2147483647); expectedResult.setBoolValue(true); expectedResult.setCharValue('a'); expectedResult.setByteValue((byte) 65); expectedResult.setShortValue((short) 32767); expectedResult.setFloatValue(1.0f); expectedResult.setDoubleValue(1000.0); expectedResult.setTimeValue(OffsetDateTime.MAX); MyObjectTestToSerialize result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class); assertEquals(expectedResult, result, "FOUND:[[" + result + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeObjectMissingFloatTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setStringValue("A String"); expectedResult.setIntValue(2147483647); expectedResult.setBoolValue(true); expectedResult.setCharValue('a'); expectedResult.setByteValue((byte) 65); expectedResult.setShortValue((short) 32767); expectedResult.setLongValue(9223372036854775807L); expectedResult.setDoubleValue(1000.0); expectedResult.setTimeValue(OffsetDateTime.MAX); MyObjectTestToSerialize result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class); assertEquals(expectedResult, result, "FOUND:[[" + result + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeObjectMissingDoubleTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setStringValue("A String"); expectedResult.setIntValue(2147483647); expectedResult.setBoolValue(true); expectedResult.setCharValue('a'); expectedResult.setByteValue((byte) 65); expectedResult.setShortValue((short) 32767); expectedResult.setLongValue(9223372036854775807L); expectedResult.setFloatValue(1.0f); expectedResult.setTimeValue(OffsetDateTime.MAX); MyObjectTestToSerialize result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class); assertEquals(expectedResult, result, "FOUND:[[" + result + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeObjectMissingTimeTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0}"; MyObjectTestToSerialize expectedResult = new MyObjectTestToSerialize(); expectedResult.setStringValue("A String"); expectedResult.setIntValue(2147483647); expectedResult.setBoolValue(true); expectedResult.setCharValue('a'); expectedResult.setByteValue((byte) 65); expectedResult.setShortValue((short) 32767); expectedResult.setLongValue(9223372036854775807L); expectedResult.setFloatValue(1.0f); MyObjectTestToSerialize result; try { result = SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class); assertEquals(expectedResult, result, "FOUND:[[" + result + "]] \n but was EXPECTING: [[" + expectedResult + "]]"); } catch (IOException exception) { fail(exception.getMessage()); } } @Test public void deserializeObjectIntExceedMaximumValueTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483648,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; assertThrows(IOException.class, () -> SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class)); } @Test public void deserializeObjectNotACharTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"Not A Char\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; assertThrows(IOException.class, () -> SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class)); } @Test public void deserializeObjectShortExceededMaximumValueTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32768,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; assertThrows(IOException.class, () -> SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class)); } @Test public void deserializeObjectLongExceededMaximumValueTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775808,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+999999999-12-31T23:59:59.999999999-18:00\"}"; assertThrows(IOException.class, () -> SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class)); } @Test public void deserializeObjectTimeExceededMaximumValueTest() { String jsonToDeserialize = "{\"stringValue\":\"A String\",\"intValue\":2147483647,\"boolValue\":true,\"charValue\":\"a\",\"byteValue\":65,\"shortValue\":32767,\"longValue\":9223372036854775807,\"floatValue\":1.0,\"doubleValue\":1000.0,\"timeValue\":\"+1000000000-12-31T23:59:59.999999999-18:00\"}"; assertThrows(IOException.class, () -> SERIALIZER.deserialize(jsonToDeserialize.getBytes(), MyObjectTestToSerialize.class)); } @Test public void deserializeNullToPrimitives() throws Exception { assertEquals(0, (char)SERIALIZER.deserialize(null, char.class)); assertEquals(0, (int)SERIALIZER.deserialize(null, int.class)); assertEquals(0, (long)SERIALIZER.deserialize(null, long.class)); assertEquals(0, (byte)SERIALIZER.deserialize(null, byte.class)); assertEquals(0, SERIALIZER.deserialize(null, double.class), 0); assertEquals(0, SERIALIZER.deserialize(null, float.class), 0); assertEquals(false, SERIALIZER.deserialize(null, boolean.class)); assertEquals(null, SERIALIZER.deserialize(null, OffsetDateTime.class)); assertNull(SERIALIZER.deserialize(null, Character.class)); assertNull(SERIALIZER.deserialize(null, Integer.class)); assertNull(SERIALIZER.deserialize(null, Long.class)); assertNull(SERIALIZER.deserialize(null, Byte.class)); assertNull(SERIALIZER.deserialize(null, Double.class)); assertNull(SERIALIZER.deserialize(null, Float.class)); assertNull(SERIALIZER.deserialize(null, Boolean.class)); assertNull(SERIALIZER.deserialize(null, OffsetDateTime.class)); } @Test public void deserializeEmptyByteArrayToPrimitives() throws Exception { assertEquals(0, (char)SERIALIZER.deserialize(new byte[0], char.class)); assertEquals(0, (int)SERIALIZER.deserialize(new byte[0], int.class)); assertEquals(0, (long)SERIALIZER.deserialize(new byte[0], long.class)); assertEquals(0, (byte)SERIALIZER.deserialize(new byte[0], byte.class)); assertEquals(0, SERIALIZER.deserialize(new byte[0], double.class), 0); assertEquals(0, SERIALIZER.deserialize(new byte[0], float.class), 0); assertEquals(false, SERIALIZER.deserialize(new byte[0], boolean.class)); assertEquals(null, SERIALIZER.deserialize(new byte[0], OffsetDateTime.class)); assertNull(SERIALIZER.deserialize(new byte[0], Character.class)); assertNull(SERIALIZER.deserialize(new byte[0], Integer.class)); assertNull(SERIALIZER.deserialize(new byte[0], Long.class)); assertNull(SERIALIZER.deserialize(new byte[0], Byte.class)); assertNull(SERIALIZER.deserialize(new byte[0], Double.class)); assertNull(SERIALIZER.deserialize(new byte[0], Float.class)); assertNull(SERIALIZER.deserialize(new byte[0], Boolean.class)); assertNull(SERIALIZER.deserialize(new byte[0], OffsetDateTime.class)); } @Test public void serializeDeserializeCloudEventEnvelope() throws Exception { Function check = (e -> { try { if (e == null) { return CloudEvent.deserialize(SERIALIZER.serialize(e)) == null; } return e.equals(CloudEvent.deserialize(SERIALIZER.serialize(e))); } catch (IOException ex) { throw new RuntimeException(ex); } }); assertTrue(check.apply(null)); assertTrue(check.apply( new CloudEvent( "1", "mysource", "text", "v2", "XML", ""))); assertTrue(check.apply( new CloudEvent( "1234-65432", "myother", "image", "v2", "byte", Base64.getEncoder().encodeToString(new byte[] {0, 2, 99})))); assertTrue(check.apply( new CloudEvent( "0987-0987", "anothersource", "anothertype", "v3", "blah".getBytes()))); assertTrue(check.apply( new CloudEvent( "0987-0987", "anothersource", "anothertype", "v3", null))); } @Test public void deserializeCloudEventEnvelopeData() throws Exception { Function deserializeData = (jsonData -> { try { String payload = String.format("{\"data\": %s}", jsonData); return CloudEvent.deserialize(payload.getBytes()).getData(); } catch (IOException ex) { throw new RuntimeException(ex); } }); assertEquals(123, deserializeData.apply("123")); assertEquals(true, deserializeData.apply("true")); assertEquals(123.45, deserializeData.apply("123.45")); assertEquals("AAEI", deserializeData.apply(quote(Base64.getEncoder().encodeToString(new byte[]{0, 1, 8})))); assertEquals("hello world", deserializeData.apply(quote("hello world"))); assertEquals("\"hello world\"", deserializeData.apply(quote("\\\"hello world\\\""))); assertEquals("\"hello world\"", deserializeData.apply(new ObjectMapper().writeValueAsString("\"hello world\""))); assertEquals("hello world", deserializeData.apply(new ObjectMapper().writeValueAsString("hello world"))); assertEquals(new TreeMap() {{ put("id", "123"); put("name", "Jon Doe"); put("time", "1970-01-01-00:00:00+00:00"); }}, deserializeData.apply("{\"id\": \"123\", \"name\": \"Jon Doe\", \"time\": \"1970-01-01-00:00:00+00:00\"}")); assertEquals("{\"id\": \"123\", \"name\": \"Jon Doe\", \"time\": \"1970-01-01-00:00:00+00:00\"}", deserializeData.apply(new ObjectMapper().writeValueAsString("{\"id\": \"123\", \"name\": \"Jon Doe\", \"time\": \"1970-01-01-00:00:00+00:00\"}"))); } @Test public void deserializeListOfString() throws IOException { List r = SERIALIZER.deserialize("[\"1\", \"2\", \"3\"]".getBytes(), ArrayList.class); assertNotNull(r); assertEquals(3, r.size()); assertEquals("1", r.get(0)); assertEquals("2", r.get(1)); assertEquals("3", r.get(2)); } private static String quote(String content) { if (content == null) { return null; } return "\"" + content + "\""; } /** * Class that simulates a proto class implementing MessageLite but does not have `parseFrom()` static method. */ public static final class FakeProtoClass implements MessageLite { @Override public void writeTo(CodedOutputStream codedOutputStream) throws IOException { } @Override public int getSerializedSize() { return 0; } @Override public Parser getParserForType() { return null; } @Override public ByteString toByteString() { return null; } @Override public byte[] toByteArray() { return new byte[]{0x1}; } @Override public void writeTo(OutputStream outputStream) throws IOException { } @Override public void writeDelimitedTo(OutputStream outputStream) throws IOException { } @Override public Builder newBuilderForType() { return null; } @Override public Builder toBuilder() { return null; } @Override public MessageLite getDefaultInstanceForType() { return null; } @Override public boolean isInitialized() { return false; } } } ================================================ FILE: sdk/src/test/java/io/dapr/serializer/FailurePolicySerializerTest.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.serializer; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import io.dapr.client.domain.ConstantFailurePolicy; import io.dapr.client.domain.DropFailurePolicy; import org.junit.jupiter.api.Test; import java.time.Duration; import static org.junit.jupiter.api.Assertions.assertEquals; public class FailurePolicySerializerTest { @Test public void constantPolicyTest() throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new JavaTimeModule()); var p = new ConstantFailurePolicy(); p.setMaxRetries(3); p.setDurationBetweenRetries(Duration.ofSeconds(0)); var json = mapper.writeValueAsString(p); assertEquals( "{\"maxRetries\":3,\"durationBetweenRetries\":0.0,\"failurePolicyType\":\"CONSTANT\"}", json); } @Test public void dropPolicyTest() throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new JavaTimeModule()); var p = new DropFailurePolicy(); var json = mapper.writeValueAsString(p); assertEquals( "{\"failurePolicyType\":\"DROP\"}", json); } } ================================================ FILE: sdk/src/test/java/io/dapr/utils/DefaultContentTypeConverterTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.utils; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.domain.CloudEvent; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.Base64; import java.util.HashMap; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertThrows; public class DefaultContentTypeConverterTest { // same as default serializer config private static final ObjectMapper MAPPER = new ObjectMapper() .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) .setSerializationInclusion(JsonInclude.Include.NON_NULL); @Test public void testToBytesHttpStringEventCorrectContentType() throws IOException { String event = "string event"; byte[] res = DefaultContentTypeConverter.convertEventToBytesForHttp(event, "text/plain"); Assertions.assertNotNull(res, "expected correct byte array response"); byte[] expected = event.getBytes(StandardCharsets.UTF_8); Assertions.assertArrayEquals(expected, res, "expected response to be matched with expectation"); } @Test public void testToBytesHttpNumberEventCorrectContentType() throws IOException { Number event = 123; byte[] res = DefaultContentTypeConverter.convertEventToBytesForHttp(event, "text/plain"); Assertions.assertNotNull( res, "expected correct byte array response"); byte[] expected = "123".getBytes(StandardCharsets.UTF_8); Assertions.assertArrayEquals( expected, res, "expected response to be matched with expectation"); } @Test public void testToBytesHttpBinEventCorrectContentType() throws IOException { String event = "string event"; byte[] data = event.getBytes(StandardCharsets.UTF_8); byte[] res = DefaultContentTypeConverter.convertEventToBytesForHttp(data, "application/octet-stream"); Assertions.assertNotNull(res, "expected correct byte array response"); byte[] expected = Base64.getEncoder().encode(data); Assertions.assertArrayEquals(expected, res, "expected response to be matched with expectation"); } @Test public void testToBytesHttpBinEventInCorrectContentType() throws IOException { String event = "string event"; assertThrows(IllegalArgumentException.class, () -> DefaultContentTypeConverter.convertEventToBytesForHttp(event, "application/octet-stream")); } @Test public void testToBytesHttpJsonEventCorrectContentType() throws IOException { Map event = new HashMap() {{ put("test1", "val1"); put("test2", "val2"); }}; byte[] res = DefaultContentTypeConverter.convertEventToBytesForHttp(event, "application/json"); Assertions.assertNotNull(res, "expected correct byte array response"); byte[] expected = MAPPER.writeValueAsBytes(event); Assertions.assertArrayEquals(expected, res, "expected response to be matched with expectation"); } @Test public void testToBytesHttpJsonEventInCorrectContentType() throws IOException { Map event = new HashMap() {{ put("test1", "val1"); put("test2", "val2"); }}; assertThrows(IllegalArgumentException.class, () -> DefaultContentTypeConverter.convertEventToBytesForHttp(event, "application/xml")); } @Test public void testToBytesHttpCloudEventCorrectContentType() throws IOException { // Make sure that the MAPPER is configured same as the DefaultObjectSerializer config CloudEvent event = new CloudEvent<>(); event.setType("test"); event.setId("id 1"); event.setSpecversion("v1"); event.setData("test data"); event.setDatacontenttype("text/plain"); event.setSource("dapr test"); byte[] res = DefaultContentTypeConverter.convertEventToBytesForHttp(event, "application/cloudevents+json"); Assertions.assertNotNull(res, "expected correct byte array response"); byte[] expected = MAPPER.writeValueAsBytes(event); Assertions.assertArrayEquals(expected, res, "expected response to be matched with expectation"); } @Test public void testToBytesHttpCloudEventInCorrectContentType() throws IOException { // Make sure that the MAPPER is configured same as the DefaultObjectSerializer config CloudEvent event = new CloudEvent<>(); event.setType("test"); event.setId("id 1"); event.setSpecversion("v1"); event.setData("test data"); event.setDatacontenttype("text/plain"); event.setSource("dapr test"); assertThrows(IllegalArgumentException.class, () -> DefaultContentTypeConverter.convertEventToBytesForHttp(event, "image/png")); } @Test public void testToBytesGrpcBinEventCorrectContentType() throws IOException { byte[] event = "test event".getBytes(StandardCharsets.UTF_8); byte[] res = DefaultContentTypeConverter.convertEventToBytesForGrpc(event, "application/octet-stream"); Assertions.assertNotNull(res, "expected correct byte array response"); Assertions.assertArrayEquals( event, res, "expected response to be matched with expectation"); } @Test public void testToBytesGrpcBinEventInCorrectContentType() throws IOException { byte[] event = "test event".getBytes(StandardCharsets.UTF_8); assertThrows(IllegalArgumentException.class, () -> DefaultContentTypeConverter.convertEventToBytesForGrpc(event, "application/xml")); } @Test public void testToBytesGrpcStringEventCorrectContentType() throws IOException { String event = "string event"; byte[] res = DefaultContentTypeConverter.convertEventToBytesForGrpc(event, "text/plain"); Assertions.assertNotNull(res, "expected correct byte array response"); byte[] expected = event.getBytes(StandardCharsets.UTF_8); Assertions.assertArrayEquals(expected, res, "expected response to be matched with expectation"); } @Test public void testToEventHttpStringDataCorrectContentType() throws IOException { byte[] event = "string event".getBytes(StandardCharsets.UTF_8); String res = DefaultContentTypeConverter.convertBytesToEventFromHttp(event, "text/plain", TypeRef.STRING); Assertions.assertNotNull( res, "expected not null response"); Assertions.assertEquals("string event", res, "expected res to match expectation"); } @Test public void testToEventHttpBinDataCorrectContentType() throws IOException { byte[] expected = "string event".getBytes(StandardCharsets.UTF_8); byte[] event = Base64.getEncoder().encode(expected); byte[] res = DefaultContentTypeConverter.convertBytesToEventFromHttp(event, "application/octet-stream", TypeRef.BYTE_ARRAY); Assertions.assertNotNull(res, "expected not null response"); Assertions.assertArrayEquals(expected, res, "expected res to match expectation"); } @Test public void testToEventGrpcBinDataCorrectContentType() throws IOException { byte[] expected = "string event".getBytes(StandardCharsets.UTF_8); byte[] res = DefaultContentTypeConverter.convertBytesToEventFromGrpc(expected, "application/octet-stream", TypeRef.BYTE_ARRAY); Assertions.assertNotNull(res, "expected not null response"); Assertions.assertArrayEquals(expected, res, "expected res to match expectation"); } @Test public void testToBytesGrpcBinDataInCorrectContentType() throws IOException { String event = "string event"; assertThrows(IllegalArgumentException.class, () -> DefaultContentTypeConverter.convertEventToBytesForGrpc(event, "application/octet-stream")); } @Test public void testToEventGrpcStringDataCorrectContentType() throws IOException { byte[] expected = "string event".getBytes(StandardCharsets.UTF_8); String res = DefaultContentTypeConverter.convertBytesToEventFromGrpc(expected, "text/plain", TypeRef.STRING); Assertions.assertNotNull( res, "expected not null response"); Assertions.assertEquals("string event", res, "expected res to match expectation"); } @Test public void testToEventHttpPrimitiveDataCorrectContentType() throws IOException { Number expected = 123; byte[] data = DefaultContentTypeConverter.convertEventToBytesForHttp(expected, "text/plain"); Integer res = DefaultContentTypeConverter.convertBytesToEventFromHttp(data, "text/plain", TypeRef.INT); Assertions.assertNotNull(res, "expected not null response"); Assertions.assertEquals(expected, res, "expected res to match expectation"); } @Test public void testToEventHttpCEDataCorrectContentType() throws IOException { CloudEvent event = new CloudEvent<>(); event.setType("test"); event.setId("id 1"); event.setSpecversion("v1"); event.setData("test data"); event.setDatacontenttype("text/plain"); event.setSource("dapr test"); byte[] data = DefaultContentTypeConverter.convertEventToBytesForHttp(event, "application/cloudevents+json"); CloudEvent res = DefaultContentTypeConverter.convertBytesToEventFromHttp(data, "application/cloudevents+json", new TypeRef>() { }); Assertions.assertNotNull(res,"expected not null response"); Assertions.assertEquals(event, res, "expected res to match expectation"); } @Test public void testToEventHttpBinDataInCorrectContentType() throws IOException { byte[] data = "string event".getBytes(StandardCharsets.UTF_8); byte[] event = Base64.getEncoder().encode(data); assertThrows(IllegalArgumentException.class, () -> DefaultContentTypeConverter.convertBytesToEventFromHttp(event, "text/plain", TypeRef.BYTE_ARRAY)); } @Test public void testToEventHttpBinDataNullCorrectContentType() throws IOException { byte[] data = "string event".getBytes(StandardCharsets.UTF_8); byte[] event = Base64.getEncoder().encode(data); assertThrows(IllegalArgumentException.class, () -> DefaultContentTypeConverter.convertBytesToEventFromHttp(event, null, TypeRef.BYTE_ARRAY)); } @Test public void testToEventHttpBinDataCharsetInCorrectContentType() throws IOException { byte[] data = "string event".getBytes(StandardCharsets.UTF_8); byte[] event = Base64.getEncoder().encode(data); assertThrows(IllegalArgumentException.class, () -> DefaultContentTypeConverter.convertBytesToEventFromHttp(event, "text/plain;charset=utf-8", TypeRef.BYTE_ARRAY)); } } ================================================ FILE: sdk/src/test/java/io/dapr/utils/DurationUtilsTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.utils; import org.junit.jupiter.api.Test; import java.time.Duration; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; public class DurationUtilsTest { @Test public void convertTimeBothWays() { String s = "4h15m50s60ms"; Duration d1 = DurationUtils.convertDurationFromDaprFormat(s); String t = DurationUtils.convertDurationToDaprFormat(d1); assertEquals(s, t); } @Test public void testParsePartialDurationMillis(){ String s = "0h0m0s101ms"; String partial = "101ms"; Duration d1 = DurationUtils.convertDurationFromDaprFormat(partial); String t = DurationUtils.convertDurationToDaprFormat(d1); assertEquals(s, t); } @Test public void testParsePartialDurationSeconds(){ String s = "0h0m42s0ms"; String partial = "42s"; Duration d1 = DurationUtils.convertDurationFromDaprFormat(partial); String t = DurationUtils.convertDurationToDaprFormat(d1); assertEquals(s, t); } @Test public void testParsePartialDurationMinutes(){ String s = "0h29m0s0ms"; String partial = "29m"; Duration d1 = DurationUtils.convertDurationFromDaprFormat(partial); String t = DurationUtils.convertDurationToDaprFormat(d1); assertEquals(s, t); } @Test public void testParsePartialDurationHours(){ String s = "17h0m0s0ms"; String partial = "17h"; Duration d1 = DurationUtils.convertDurationFromDaprFormat(partial); String t = DurationUtils.convertDurationToDaprFormat(d1); assertEquals(s, t); } @Test public void testZeroDurationString(){ String s = "0h0m0s0ms"; String partial = "0"; Duration d1 = DurationUtils.convertDurationFromDaprFormat(partial); String t = DurationUtils.convertDurationToDaprFormat(d1); assertEquals(s, t); } @Test public void testZeroDuration(){ String s = "0h0m0s0ms"; String t = DurationUtils.convertDurationToDaprFormat(Duration.ZERO); assertEquals(s, t); } @Test public void testNullString() { assertThrows(IllegalArgumentException.class, () ->{ DurationUtils.convertDurationFromDaprFormat(null); }); } @Test public void testEmptyString() { Duration d = DurationUtils.convertDurationFromDaprFormat(""); assertEquals(Duration.ZERO, d); } @Test public void largeHours() { // hours part is larger than 24 String s = "31h15m50s60ms"; Duration d1 = DurationUtils.convertDurationFromDaprFormat(s); String t = DurationUtils.convertDurationToDaprFormat(d1); assertEquals(s, t); } @Test public void negativeDuration() { Duration d = Duration.ofSeconds(-99); String t = DurationUtils.convertDurationToDaprFormat(d); assertEquals("", t); } @Test public void testGetHoursPart() { Duration d1 = Duration.ZERO.plusHours(26); assertEquals(2, DurationUtils.getHoursPart(d1)); Duration d2 = Duration.ZERO.plusHours(23); assertEquals(23, DurationUtils.getHoursPart(d2)); Duration d3 = Duration.ZERO.plusHours(24); assertEquals(0, DurationUtils.getHoursPart(d3)); } @Test public void testGetMinutesPart() { Duration d1 = Duration.ZERO.plusMinutes(61); assertEquals(1, DurationUtils.getMinutesPart(d1)); Duration d2 = Duration.ZERO.plusMinutes(60); assertEquals(0, DurationUtils.getMinutesPart(d2)); Duration d3 = Duration.ZERO.plusMinutes(59); assertEquals(59, DurationUtils.getMinutesPart(d3)); Duration d4 = Duration.ZERO.plusMinutes(3600); assertEquals(0, DurationUtils.getMinutesPart(d4)); } @Test public void testGetSecondsPart() { Duration d1 = Duration.ZERO.plusSeconds(61); assertEquals(1, DurationUtils.getSecondsPart(d1)); Duration d2 = Duration.ZERO.plusSeconds(60); assertEquals(0, DurationUtils.getSecondsPart(d2)); Duration d3 = Duration.ZERO.plusSeconds(59); assertEquals(59, DurationUtils.getSecondsPart(d3)); Duration d4 = Duration.ZERO.plusSeconds(3600); assertEquals(0, DurationUtils.getSecondsPart(d4)); } @Test public void testGetMillisecondsPart() { Duration d1 = Duration.ZERO.plusMillis(61); assertEquals(61, DurationUtils.getMilliSecondsPart(d1)); Duration d2 = Duration.ZERO.plusMillis(60); assertEquals(60, DurationUtils.getMilliSecondsPart(d2)); Duration d3 = Duration.ZERO.plusMillis(59); assertEquals(59, DurationUtils.getMilliSecondsPart(d3)); Duration d4 = Duration.ZERO.plusMillis(999); assertEquals(999, DurationUtils.getMilliSecondsPart(d4)); Duration d5 = Duration.ZERO.plusMillis(1001); assertEquals(1, DurationUtils.getMilliSecondsPart(d5)); Duration d6 = Duration.ZERO.plusMillis(1000); assertEquals(0, DurationUtils.getMilliSecondsPart(d6)); Duration d7 = Duration.ZERO.plusMillis(10000); assertEquals(0, DurationUtils.getMilliSecondsPart(d7)); } } ================================================ FILE: sdk/src/test/java/io/dapr/utils/NetworkUtilsTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.utils; import io.dapr.config.Properties; import io.dapr.exceptions.DaprException; import io.dapr.utils.NetworkUtils.GrpcEndpointSettings; import io.grpc.ManagedChannel; import org.junit.Assert; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledOnOs; import org.junit.jupiter.api.condition.OS; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Map; public class NetworkUtilsTest { private final int defaultGrpcPort = 50001; private final String defaultSidecarIP = "127.0.0.1"; private ManagedChannel channel; private static final List channels = new ArrayList<>(); @AfterEach public void tearDown() { if (channel != null && !channel.isShutdown()) { channel.shutdown(); } } @AfterAll public static void tearDownAll() { for (ManagedChannel ch : channels) { if (ch != null && !ch.isShutdown()) { ch.shutdown(); } } channels.clear(); } @Test public void testBuildGrpcManagedChannel() { channel = NetworkUtils.buildGrpcManagedChannel(new Properties()); channels.add(channel); String expectedAuthority = String.format("%s:%s", defaultSidecarIP, defaultGrpcPort); Assertions.assertEquals(expectedAuthority, channel.authority()); } @Test public void testBuildGrpcManagedChannel_httpEndpointNoPort() { var properties = new Properties(Map.of(Properties.GRPC_ENDPOINT.getName(), "http://example.com")); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); String expectedAuthority = "example.com:80"; Assertions.assertEquals(expectedAuthority, channel.authority()); } @Test public void testBuildGrpcManagedChannel_httpEndpointWithPort() { var properties = new Properties(Map.of(Properties.GRPC_ENDPOINT.getName(), "http://example.com:3000")); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); String expectedAuthority = "example.com:3000"; Assertions.assertEquals(expectedAuthority, channel.authority()); } @Test public void testBuildGrpcManagedChannel_httpsEndpointNoPort() { var properties = new Properties(Map.of(Properties.GRPC_ENDPOINT.getName(), "https://example.com")); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); String expectedAuthority = "example.com:443"; Assertions.assertEquals(expectedAuthority, channel.authority()); } @Test public void testBuildGrpcManagedChannel_httpsEndpointWithPort() { var properties = new Properties(Map.of(Properties.GRPC_ENDPOINT.getName(), "https://example.com:3000")); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); String expectedAuthority = "example.com:3000"; Assertions.assertEquals(expectedAuthority, channel.authority()); } @Test public void testBuildGrpcManagedChannelWithTls() throws Exception { File certFile = new File(this.getClass().getResource("/certs/test-cert.pem").getFile()); File keyFile = new File(this.getClass().getResource("/certs/test-cert.key").getFile()); var properties = new Properties(Map.of( Properties.GRPC_TLS_CERT_PATH.getName(), certFile.getAbsolutePath(), Properties.GRPC_TLS_KEY_PATH.getName(), keyFile.getAbsolutePath() )); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); String expectedAuthority = String.format("%s:%s", defaultSidecarIP, defaultGrpcPort); Assertions.assertEquals(expectedAuthority, channel.authority()); } @Test public void testBuildGrpcManagedChannelWithTlsAndEndpoint() throws Exception { File certFile = new File(this.getClass().getResource("/certs/test-cert.pem").getFile()); File keyFile = new File(this.getClass().getResource("/certs/test-cert.key").getFile()); var properties = new Properties(Map.of( Properties.GRPC_TLS_CERT_PATH.getName(), certFile.getAbsolutePath(), Properties.GRPC_TLS_KEY_PATH.getName(), keyFile.getAbsolutePath(), Properties.GRPC_ENDPOINT.getName(), "https://example.com:443" )); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); Assertions.assertEquals("example.com:443", channel.authority()); } @Test public void testBuildGrpcManagedChannelWithInvalidTlsCert() { var properties = new Properties(Map.of( Properties.GRPC_TLS_CERT_PATH.getName(), "/nonexistent/cert.pem", Properties.GRPC_TLS_KEY_PATH.getName(), "/nonexistent/key.pem" )); Assertions.assertThrows(DaprException.class, () -> { NetworkUtils.buildGrpcManagedChannel(properties); }); } @Test @EnabledOnOs({OS.LINUX, OS.MAC}) // Unix domain sockets are only supported on Linux and macOS public void testBuildGrpcManagedChannelWithTlsAndUnixSocket() throws Exception { // Skip test if Unix domain sockets are not supported Assumptions.assumeTrue(System.getProperty("os.name").toLowerCase().contains("linux") || System.getProperty("os.name").toLowerCase().contains("mac")); // Generate test certificate and key File certFile = new File(this.getClass().getResource("/certs/test-cert.pem").getFile()); File keyFile = new File(this.getClass().getResource("/certs/test-cert.key").getFile()); var properties = new Properties(Map.of( Properties.GRPC_TLS_CERT_PATH.getName(), certFile.getAbsolutePath(), Properties.GRPC_TLS_KEY_PATH.getName(), keyFile.getAbsolutePath(), Properties.GRPC_ENDPOINT.getName(), "unix:/tmp/test.sock" )); // For Unix sockets, we expect an exception if the platform doesn't support it try { channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); // If we get here, Unix sockets are supported Assertions.assertNotNull(channel.authority(), "Channel authority should not be null"); } catch (Exception e) { // If we get here, Unix sockets are not supported Assertions.assertTrue(e.getMessage().contains("DomainSocketAddress")); } } @Test public void testBuildGrpcManagedChannelWithTlsAndDnsAuthority() throws Exception { File certFile = new File(this.getClass().getResource("/certs/test-cert.pem").getFile()); File keyFile = new File(this.getClass().getResource("/certs/test-cert.key").getFile()); var properties = new Properties(Map.of( Properties.GRPC_TLS_CERT_PATH.getName(), certFile.getAbsolutePath(), Properties.GRPC_TLS_KEY_PATH.getName(), keyFile.getAbsolutePath(), Properties.GRPC_ENDPOINT.getName(), "dns://authority:53/example.com:443" )); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); Assertions.assertEquals("example.com:443", channel.authority()); } @Test public void testBuildGrpcManagedChannelWithTlsAndCaCert() throws Exception { File caCertFile = new File(this.getClass().getResource("/certs/test-ca-cert.pem").getFile()); var properties = new Properties(Map.of( Properties.GRPC_TLS_CA_PATH.getName(), caCertFile.getAbsolutePath() )); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); String expectedAuthority = String.format("%s:%s", defaultSidecarIP, defaultGrpcPort); Assertions.assertEquals(expectedAuthority, channel.authority()); } @Test public void testBuildGrpcManagedChannelWithTlsAndCaCertAndEndpoint() throws Exception { File caCertFile = new File(this.getClass().getResource("/certs/test-ca-cert.pem").getFile()); var properties = new Properties(Map.of( Properties.GRPC_TLS_CA_PATH.getName(), caCertFile.getAbsolutePath(), Properties.GRPC_ENDPOINT.getName(), "https://example.com:443" )); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); Assertions.assertEquals("example.com:443", channel.authority()); } @Test public void testBuildGrpcManagedChannelWithInvalidCaCert() { var properties = new Properties(Map.of( Properties.GRPC_TLS_CA_PATH.getName(), "/nonexistent/ca.pem" )); Assertions.assertThrows(DaprException.class, () -> { NetworkUtils.buildGrpcManagedChannel(properties); }); } @Test public void testBuildGrpcManagedChannelWithMtlsAndCaCert() throws Exception { File caCertFile = new File(this.getClass().getResource("/certs/test-ca-cert.pem").getFile()); File clientCertFile = new File(this.getClass().getResource("/certs/test-cert.pem").getFile()); File clientKeyFile = new File(this.getClass().getResource("/certs/test-cert.key").getFile()); // Test mTLS with both client certs and CA cert var properties = new Properties(Map.of( Properties.GRPC_TLS_CA_PATH.getName(), caCertFile.getAbsolutePath(), Properties.GRPC_TLS_CERT_PATH.getName(), clientCertFile.getAbsolutePath(), Properties.GRPC_TLS_KEY_PATH.getName(), clientKeyFile.getAbsolutePath() )); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); String expectedAuthority = String.format("%s:%s", defaultSidecarIP, defaultGrpcPort); Assertions.assertEquals(expectedAuthority, channel.authority()); Assertions.assertFalse(channel.isTerminated(), "Channel should be active"); } @Test public void testGrpcEndpointParsing() { testGrpcEndpointParsingScenario(":5000", "dns:///127.0.0.1:5000", false); testGrpcEndpointParsingScenario(":5000?tls=true", "dns:///127.0.0.1:5000", true); testGrpcEndpointParsingScenario(":5000?tls=false", "dns:///127.0.0.1:5000", false); testGrpcEndpointParsingScenario("myhost:5000", "dns:///myhost:5000", false); testGrpcEndpointParsingScenario("myhost:5000?tls=true", "dns:///myhost:5000", true); testGrpcEndpointParsingScenario("myhost:5000?tls=false", "dns:///myhost:5000", false); testGrpcEndpointParsingScenario("myhost", "dns:///myhost:443", false); testGrpcEndpointParsingScenario("myhost?tls=true", "dns:///myhost:443", true); testGrpcEndpointParsingScenario("myhost?tls=false", "dns:///myhost:443", false); testGrpcEndpointParsingScenario("dns:myhost", "dns:///myhost:443", false); testGrpcEndpointParsingScenario("dns:myhost?tls=true", "dns:///myhost:443", true); testGrpcEndpointParsingScenario("dns:myhost?tls=false", "dns:///myhost:443", false); testGrpcEndpointParsingScenario("http://myhost", "dns:///myhost:80", false); testGrpcEndpointParsingScenario("http://myhost:443", "dns:///myhost:443", false); testGrpcEndpointParsingScenario("http://myhost:5000", "dns:///myhost:5000", false); testGrpcEndpointParsingScenario("http://myhost:8080", "dns:///myhost:8080", false); testGrpcEndpointParsingScenario("https://myhost", "dns:///myhost:443", true); testGrpcEndpointParsingScenario("https://myhost:443", "dns:///myhost:443", true); testGrpcEndpointParsingScenario("https://myhost:5000", "dns:///myhost:5000", true); testGrpcEndpointParsingScenario("dns:///myhost", "dns:///myhost:443", false); testGrpcEndpointParsingScenario("dns://myauthority:53/myhost", "dns://myauthority:53/myhost:443", false); testGrpcEndpointParsingScenario("dns://myauthority:53/myhost?tls=false", "dns://myauthority:53/myhost:443", false); testGrpcEndpointParsingScenario("dns://myauthority:53/myhost?tls=true", "dns://myauthority:53/myhost:443", true); testGrpcEndpointParsingScenario("unix:my.sock", "unix:my.sock", false); testGrpcEndpointParsingScenario("unix:my.sock?tls=true", "unix:my.sock", true); testGrpcEndpointParsingScenario("unix://my.sock", "unix://my.sock", false); testGrpcEndpointParsingScenario("unix://my.sock?tls=true", "unix://my.sock", true); testGrpcEndpointParsingScenario("unix-abstract:my.sock", "unix-abstract:my.sock", false); testGrpcEndpointParsingScenario("unix-abstract:my.sock?tls=true", "unix-abstract:my.sock", true); testGrpcEndpointParsingScenario("vsock:mycid:5000", "vsock:mycid:5000", false); testGrpcEndpointParsingScenario("vsock:mycid:5000?tls=true", "vsock:mycid:5000", true); testGrpcEndpointParsingScenario("[2001:db8:1f70::999:de8:7648:6e8]", "dns:///[2001:db8:1f70::999:de8:7648:6e8]:443", false); testGrpcEndpointParsingScenario("dns:[2001:db8:1f70::999:de8:7648:6e8]:5000", "dns:///[2001:db8:1f70::999:de8:7648:6e8]:5000", false); testGrpcEndpointParsingScenario("dns://myauthority:53/[2001:db8:1f70::999:de8:7648:6e8]", "dns://myauthority:53/[2001:db8:1f70::999:de8:7648:6e8]:443", false); testGrpcEndpointParsingScenario("https://[2001:db8:1f70::999:de8:7648:6e8]", "dns:///[2001:db8:1f70::999:de8:7648:6e8]:443", true); testGrpcEndpointParsingScenario("https://[2001:db8:1f70::999:de8:7648:6e8]:5000", "dns:///[2001:db8:1f70::999:de8:7648:6e8]:5000", true); } @Test public void testGrpcEndpointParsingError() { testGrpcEndpointParsingErrorScenario("http://myhost?tls=true"); testGrpcEndpointParsingErrorScenario("http://myhost?tls=false"); testGrpcEndpointParsingErrorScenario("http://myhost:8080?tls=true"); testGrpcEndpointParsingErrorScenario("http://myhost:443?tls=false"); testGrpcEndpointParsingErrorScenario("https://myhost?tls=true"); testGrpcEndpointParsingErrorScenario("https://myhost?tls=false"); testGrpcEndpointParsingErrorScenario("https://myhost:8080?tls=true"); testGrpcEndpointParsingErrorScenario("https://myhost:443?tls=false"); testGrpcEndpointParsingErrorScenario("dns://myhost"); testGrpcEndpointParsingErrorScenario("dns:[2001:db8:1f70::999:de8:7648:6e8]:5000?abc=[]"); testGrpcEndpointParsingErrorScenario("dns:[2001:db8:1f70::999:de8:7648:6e8]:5000?abc=123"); testGrpcEndpointParsingErrorScenario("host:5000/v1/dapr"); testGrpcEndpointParsingErrorScenario("host:5000/?a=1"); testGrpcEndpointParsingErrorScenario("inv-scheme://myhost"); testGrpcEndpointParsingErrorScenario("inv-scheme:myhost:5000"); } private static void testGrpcEndpointParsingScenario( String grpcEndpointEnvValue, String expectedEndpoint, boolean expectSecure ) { var properties = new Properties(Map.of(Properties.GRPC_ENDPOINT.getName(), grpcEndpointEnvValue)); var settings = NetworkUtils.GrpcEndpointSettings.parse(properties); Assertions.assertEquals(expectedEndpoint, settings.endpoint); Assertions.assertEquals(expectSecure, settings.secure); } private static void testGrpcEndpointParsingErrorScenario(String grpcEndpointEnvValue) { try { var properties = new Properties(Map.of(Properties.GRPC_ENDPOINT.getName(), grpcEndpointEnvValue)); NetworkUtils.GrpcEndpointSettings.parse(properties); Assert.fail(); } catch (IllegalArgumentException e) { // Expected } } @Test public void testBuildGrpcManagedChannelWithCaCertAndUnixSocket() throws Exception { // Skip test if Unix domain sockets are not supported Assumptions.assumeTrue(System.getProperty("os.name").toLowerCase().contains("linux") || System.getProperty("os.name").toLowerCase().contains("mac")); File caCertFile = new File(this.getClass().getResource("/certs/test-ca-cert.pem").getFile()); var properties = new Properties(Map.of( Properties.GRPC_TLS_CA_PATH.getName(), caCertFile.getAbsolutePath(), Properties.GRPC_ENDPOINT.getName(), "unix:/tmp/test.sock" )); // For Unix sockets, we expect an exception if the platform doesn't support it try { channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); Assertions.assertNotNull(channel.authority(), "Channel authority should not be null"); } catch (Exception e) { // If we get here, Unix sockets are not supported Assertions.assertTrue(e.getMessage().contains("DomainSocketAddress")); } } @Test public void testBuildGrpcManagedChannelWithCaCertAndDnsAuthority() throws Exception { File caCertFile = new File(this.getClass().getResource("/certs/test-ca-cert.pem").getFile()); var properties = new Properties(Map.of( Properties.GRPC_TLS_CA_PATH.getName(), caCertFile.getAbsolutePath(), Properties.GRPC_ENDPOINT.getName(), "dns://authority:53/example.com:443" )); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); Assertions.assertEquals("example.com:443", channel.authority()); } @Test public void testBuildGrpcManagedChannelWithInsecureTls() throws Exception { // Test insecure TLS mode with a secure endpoint var properties = new Properties(Map.of( Properties.GRPC_TLS_INSECURE.getName(), "true", Properties.GRPC_ENDPOINT.getName(), "dns:///example.com:443?tls=true" )); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); // Verify the channel is created with the correct authority Assertions.assertEquals("example.com:443", channel.authority()); // Verify the channel is active and using TLS (not plaintext) Assertions.assertFalse(channel.isTerminated(), "Channel should be active"); } @Test public void testBuildGrpcManagedChannelWithInsecureTlsAndMtls() throws Exception { File caCertFile = new File(this.getClass().getResource("/certs/test-ca-cert.pem").getFile()); File clientCertFile = new File(this.getClass().getResource("/certs/test-cert.pem").getFile()); File clientKeyFile = new File(this.getClass().getResource("/certs/test-cert.key").getFile()); // Test that insecure TLS still works with mTLS settings // The client certs should be ignored since we're using InsecureTrustManagerFactory var properties = new Properties(Map.of( Properties.GRPC_TLS_INSECURE.getName(), "true", Properties.GRPC_TLS_CA_PATH.getName(), caCertFile.getAbsolutePath(), Properties.GRPC_TLS_CERT_PATH.getName(), clientCertFile.getAbsolutePath(), Properties.GRPC_TLS_KEY_PATH.getName(), clientKeyFile.getAbsolutePath(), Properties.GRPC_ENDPOINT.getName(), "dns:///example.com:443?tls=true" )); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); // Verify the channel is created with the correct authority Assertions.assertEquals("example.com:443", channel.authority()); // Verify the channel is active and using TLS (not plaintext) Assertions.assertFalse(channel.isTerminated(), "Channel should be active"); } @Test public void testBuildGrpcManagedChannelWithInsecureTlsAndCustomEndpoint() throws Exception { // Test insecure TLS with a custom endpoint that would normally require TLS var properties = new Properties(Map.of( Properties.GRPC_TLS_INSECURE.getName(), "true", Properties.GRPC_ENDPOINT.getName(), "dns://authority:53/example.com:443?tls=true" )); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); // Verify the channel is created with the correct authority Assertions.assertEquals("example.com:443", channel.authority()); // Verify the channel is active and using TLS (not plaintext) Assertions.assertFalse(channel.isTerminated(), "Channel should be active"); } @Test public void testBuildGrpcManagedChannelWithKeepAliveDefaults() throws Exception { var properties = new Properties(Map.of( Properties.GRPC_ENABLE_KEEP_ALIVE.getName(), "true" )); channel = NetworkUtils.buildGrpcManagedChannel(properties); channels.add(channel); // Verify the channel is active and using TLS (not plaintext) Assertions.assertFalse(channel.isTerminated(), "Channel should be active"); } @Test public void testDefaultKeepAliveSettings() throws Exception { Properties properties = new Properties(); GrpcEndpointSettings settings = NetworkUtils.GrpcEndpointSettings.parse(properties); Assertions.assertEquals(false, settings.enableKeepAlive); Assertions.assertEquals(10, settings.keepAliveTimeSeconds.getSeconds()); Assertions.assertEquals(5, settings.keepAliveTimeoutSeconds.getSeconds()); Assertions.assertEquals(true, settings.keepAliveWithoutCalls); } @Test public void testDefaultKeepAliveOverride() throws Exception { Properties properties = new Properties(Map.of( Properties.GRPC_ENABLE_KEEP_ALIVE.getName(), "true", Properties.GRPC_KEEP_ALIVE_TIME_SECONDS.getName(), "100", Properties.GRPC_KEEP_ALIVE_TIMEOUT_SECONDS.getName(), "50", Properties.GRPC_KEEP_ALIVE_WITHOUT_CALLS.getName(), "false" )); GrpcEndpointSettings settings = NetworkUtils.GrpcEndpointSettings.parse(properties); Assertions.assertEquals(true, settings.enableKeepAlive); Assertions.assertEquals(100, settings.keepAliveTimeSeconds.getSeconds()); Assertions.assertEquals(50, settings.keepAliveTimeoutSeconds.getSeconds()); Assertions.assertEquals(false, settings.keepAliveWithoutCalls); } @Test public void testMaxDefaultInboundSize() throws Exception { Properties properties = new Properties(); GrpcEndpointSettings settings = NetworkUtils.GrpcEndpointSettings.parse(properties); Assertions.assertEquals(4194304, settings.maxInboundMessageSize); Assertions.assertEquals(8192, settings.maxInboundMetadataSize); } @Test public void testMaxInboundSize() throws Exception { Properties properties = new Properties(Map.of( Properties.GRPC_MAX_INBOUND_MESSAGE_SIZE_BYTES.getName(), "123456789", Properties.GRPC_MAX_INBOUND_METADATA_SIZE_BYTES.getName(), "123456" )); GrpcEndpointSettings settings = NetworkUtils.GrpcEndpointSettings.parse(properties); Assertions.assertEquals(123456789, settings.maxInboundMessageSize); Assertions.assertEquals(123456, settings.maxInboundMetadataSize); } } ================================================ FILE: sdk/src/test/java/io/dapr/utils/TestUtils.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.utils; import io.dapr.exceptions.DaprErrorDetails; import io.dapr.exceptions.DaprException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.function.Executable; import java.io.IOException; import java.net.ServerSocket; public final class TestUtils { private TestUtils() {} public static void assertThrowsDaprException(Class expectedType, Executable executable) { Throwable cause = Assertions.assertThrows(DaprException.class, executable).getCause(); Assertions.assertNotNull(cause); Assertions.assertEquals(expectedType, cause.getClass()); } public static void assertThrowsDaprException(String expectedErrorCode, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertNull(daprException.getCause()); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); } public static void assertThrowsDaprException( String expectedErrorCode, String expectedErrorMessage, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertNull(daprException.getCause()); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); Assertions.assertEquals(expectedErrorMessage, daprException.getMessage()); } public static void assertThrowsDaprException( Class expectedType, String expectedErrorCode, String expectedErrorMessage, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertNotNull(daprException.getCause()); Assertions.assertEquals(expectedType, daprException.getCause().getClass()); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); Assertions.assertEquals(expectedErrorMessage, daprException.getMessage()); } public static void assertThrowsDaprException( Class expectedType, String expectedErrorCode, String expectedErrorMessage, DaprErrorDetails expectedStatusDetails, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertNotNull(daprException.getCause()); Assertions.assertEquals(expectedType, daprException.getCause().getClass()); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); Assertions.assertEquals(expectedErrorMessage, daprException.getMessage()); Assertions.assertEquals(expectedStatusDetails, daprException.getErrorDetails()); } public static int findFreePort() throws IOException { try (ServerSocket socket = new ServerSocket(0)) { socket.setReuseAddress(true); return socket.getLocalPort(); } } public static String formatIpAddress(final String ipAddress) { String formattedIpAddress = ipAddress; if(NetworkUtils.isIPv6(ipAddress)) { formattedIpAddress = "[" + ipAddress + "]"; // per URL spec https://url.spec.whatwg.org/#host-writing } return formattedIpAddress; } } ================================================ FILE: sdk/src/test/java/io/dapr/utils/TypeRefTest.java ================================================ package io.dapr.utils; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class TypeRefTest { @Test public void testTypeRefIsPrimitive() { Assertions.assertTrue(TypeRef.isPrimitive(TypeRef.BOOLEAN), "expected this to be true as boolean is primitive"); Assertions.assertTrue(TypeRef.isPrimitive(TypeRef.SHORT), "expected this to be true as short is primitive"); Assertions.assertTrue(TypeRef.isPrimitive(TypeRef.FLOAT), "expected this to be true as float is primitive"); Assertions.assertTrue(TypeRef.isPrimitive(TypeRef.DOUBLE), "expected this to be true as double is primitive"); Assertions.assertTrue(TypeRef.isPrimitive(TypeRef.INT), "expected this to be true as integer is primitive"); Assertions.assertFalse(TypeRef.isPrimitive(TypeRef.STRING), "expected this to be false as string is not primitive"); Assertions.assertFalse(TypeRef.isPrimitive(TypeRef.STRING_ARRAY), "expected this to be false as string array is not primitive"); } } ================================================ FILE: sdk/src/test/resources/certs/test-ca-cert.key ================================================ -----BEGIN PRIVATE KEY----- MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDbzg+ow2pe+tWK SISVIF6kFi9VYReq0sJ8gJ+mQRkBK7Hs8G0WD9KS+Ebg15CTEulNbyp3sqPa28tD 1bq69ST8aMjUxD8NyWyYd7NQSd7pWHuR+NMDsh908W+JDyTxGgonXFaU5s8m+FAS 25nC8dzEgolxrQlVraXld1ZxMVW/OnOdl4dlSsXpGR4Zwv2S4BrppQvGhGTKaURu OI1mot0IZVnV4acg5iK+2wPvDD2UJp6fMR6PplKrgb8dV2SqEEEVPwsXY0nbidRb 3yJ6VRtibkbu7u987BpEEaNeSmsC0BOIeHj90Jc+ilDQEgVRkMvP9zSPh6yY4kOu Mevof2J86FTRZWo7b9u1BG/2WoLeOPk00kAzN2jmk4hnytknWz1G0dxVZSJrOcLH v9tWKk4TI3l54DrKw+n3pQA2Qs22P97n6d151mi3Yr45YtypmQhn4f4tsLxT16mp 2Vs/D4vU1M4jldpi9vDin+R4wIgDxXThUUd3c6NqrhyRiLteRaZVVsWeudi/jZt7 H676S5lVdLTsU1jmOxef1mTzJxNAhw7VClq8YXeq8Z65Mj84fARxEh+WgN315+Jl IE6gPdYz7A+h5pupDVXJdhOViafQMBsAkUWautz4n47F5X+oB53rKEvRjjgVsSVN B3oLBWCoXPxfpANQjNXky9QRb2Ib1wIDAQABAoICAAGAOTQmTXIjlVSx5RHdnDfT nPQgyxgUA1b1S+HHPQP4h+j9xUjqx73QKy+62RZgAS7RrQEPO7YxXQR0D6faJ6v/ jSuCwYl3ECJEYvmP35FJVOKsx8gVLcjPIztU2qQ40MvvAfpXTx/Nf0J5tGWT4DWJ TKX1kARBQMo9093G//Zj0ElJsRd8eLh8PuvfHHslw5lH0rpCyitlp513DmQehZLa mk/vEASV/bO+7Bp0Q3FhCCE/JR3G/XaFVsg9Agd1P/SEry80MttoaAZOkj4ymZLE /QABqqn4NL+1PR/WMz/cKt36MJ1PENFRAXdCQD4L1pBveDDotMGAfgTQ+3Lld8cu U0pVtJ1N4wwwMfkIh+9JCL2257aTk3p0XA+Hyi6s7fJN84LyCs1hd+AfQ2wsTDGA Iv+WH0aMN0nBLKHowsMyWO7Yu9omR6w7TbQOHOjMxuLsLJQxsM8oY8iSNlyA2Fkh 4MOV+GgvAhdJFT/fDpLMUaFF2rTl46kIsvD6Mz9UzZnX/sCKsZq+85jTkn+0TPLe 4RQZ722942wFnDu8YOf1gP/0cX4wIvx3clA2e3iKLv01KdM+62Bg9vgHZJsbr3bX u9JRX4dGMlYJdbxNsIyERtGS/iNuOk5iJ5TXZziIVshy9HJpMzlwmqqoW7z8AjXx fLO/cJEjM7yci/+nWxpRAoIBAQD0DnK3HuhLGTZ4t359XBDqTFiodsDlx++f1IbL jIqDs0Uoxu7+WFk7leKm1rLlAWqSj5qNJQ1elx+ZjBYpPhubHJgr/aWtJTJAD2Kf JKmDo9mKN4hPEsb8vsJO32x9ZlB1sURolT+jiUdTlb+BysXnDww4gjaTe59dfsq3 bOLnrSIaVC1LOLc8785al2iFpEkTonnTiqq0BgAiTodx+qyrsOYh2MFgpMw9REvP z6itr7gvIsiZhwNKCzBMcEU8nTtDu5bF/WyqQDQ3v8MbUgSfFbuY+ic0JgrGQTXY AwqfWYMS1G3r/3KHDYaLPmm4kDBq/BFEdFHudO94w8FTyoDnAoIBAQDmj8nyHPtU nLHklbo4s1l7SAizaRBUdS8bc97LZ85DBJS9f0qgI+3MQku0Twr5k7XSITw3ayqq WgL4o9hd0yHf5M+A1eJjJOhnFQijtAu0UiLCdzQ+enD+/c4WG05OJ9F4oQo73KXO Pfa6skoWueRm4H0B5kn5SwUslxjUCdDcuZ3fJDFkPoeRZ3CbJSQNF497IVUHp4RI 5+oNwY6KHBpYGeF/RvuAS4RbPJawtDJ4gR6gm+QTCGdoub+iBYqbETJStdZix6Be uxARjODGhJYtkzo1YmC5fjsZrj6Ku91xz9N/En8CQEe7VkRTY8PE1jd5f3ToGj+u LrkYXSQkT/+RAoIBAQC/AFezDNNLgs3op+KshVMPqvRv05CfxFu6wH9F6hW1gKWN hjMgh1A+m80oOTsEkpkvXofcErVl4+vtJX9qg5rjR/un4fi5izTKgb/zQKQRzDfC PjfFerKUt04moCCt+1bY5QTevH9zo0pZFgcsst8zN8mep/nCbquIZmSMLQFfw1W/ OUXBav+tBxh+OaSpgqtWXH/vmMSD43ZTYxYJk99y9x0EPDkLQ647/KlAWApw8+a3 rQdFcC6Y0izYhb0J9RuepL8Y8H8Mtvam8sLlLMlFH6MT1CK+Y09nXT2gcrDriQhV wj7MxbyCCYnUi+H9eYsLD38MDeTZNFb+MmWpCADdAoIBABPEkkj66SWZBbuWhs/j uLFUPMK9KFRFc9ODvL9t2AZw9xvENS7Dxdi0em8sM8GwQ2+Pv+z0eEUA0K5mxd9N geMDaDMgo3diq7Zi3EnE3xgHzskjlUwiDVwfgLLuhmk3CsOv8wOs6F5le6kILkgC ii2z46PtDbydDQWEsvFDIjA6jema3c09ezwhRUtYBN5GfdvNwM+WMkZZ8/xX8xOu UyfomCfkex3F28RCzpy55nXkhC67DvP+zXbyLhcDKJ4g/FKRGp9/hCV7HmaS0JbU uVeQ/vWiyK4+v2x1PxGAB/2BFx4XBOK5hizuuY74x8kxoLH/FpPr5DfX87C+E6I1 ZbECggEAOhGLO2NZ5NZDT3s+VtFzBlIzZJNbcfKyiEr16zoikRmIbqCMlbqp6rTS 74kXUmf2uAcfjO9OdxHefhuWTp0+u8eoAsEWf871AnNWoceEsqtxwjACbX2mWowi LKvSUTHst4ImBx+VRD7N0+tDkon6nxooQhvSDnb1LoFyH/daDjLERPIpX6PAAvSr wZJZyvsbeb36XuPHMixG7PofP1x68UBXhYtS3awnE5ZgtxjCzj2XOTlMEiPtI723 +Yjk1rBx0e1CTpQEWAAL39fQ+Ja6pAb6Oi0rls5uU+XNS+eUP0/ukTFOK0pg0Ll8 fg8QEv831uJb0uItcjDy5Yr0TEYMqg== -----END PRIVATE KEY----- ================================================ FILE: sdk/src/test/resources/certs/test-ca-cert.pem ================================================ -----BEGIN CERTIFICATE----- MIIFUzCCAzugAwIBAgIUFHmlZNi1305lvonC4ePOulB207UwDQYJKoZIhvcNAQEL BQAwOTENMAsGA1UECgwEREFQUjENMAsGA1UECwwEREFQUjEZMBcGA1UEAwwQVEVT VCBDRVJUSUZJQ0FURTAeFw0yNTA4MjgxNTI4MTlaFw0yNzA4MjgxNTI4MTlaMDkx DTALBgNVBAoMBERBUFIxDTALBgNVBAsMBERBUFIxGTAXBgNVBAMMEFRFU1QgQ0VS VElGSUNBVEUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDbzg+ow2pe +tWKSISVIF6kFi9VYReq0sJ8gJ+mQRkBK7Hs8G0WD9KS+Ebg15CTEulNbyp3sqPa 28tD1bq69ST8aMjUxD8NyWyYd7NQSd7pWHuR+NMDsh908W+JDyTxGgonXFaU5s8m +FAS25nC8dzEgolxrQlVraXld1ZxMVW/OnOdl4dlSsXpGR4Zwv2S4BrppQvGhGTK aURuOI1mot0IZVnV4acg5iK+2wPvDD2UJp6fMR6PplKrgb8dV2SqEEEVPwsXY0nb idRb3yJ6VRtibkbu7u987BpEEaNeSmsC0BOIeHj90Jc+ilDQEgVRkMvP9zSPh6yY 4kOuMevof2J86FTRZWo7b9u1BG/2WoLeOPk00kAzN2jmk4hnytknWz1G0dxVZSJr OcLHv9tWKk4TI3l54DrKw+n3pQA2Qs22P97n6d151mi3Yr45YtypmQhn4f4tsLxT 16mp2Vs/D4vU1M4jldpi9vDin+R4wIgDxXThUUd3c6NqrhyRiLteRaZVVsWeudi/ jZt7H676S5lVdLTsU1jmOxef1mTzJxNAhw7VClq8YXeq8Z65Mj84fARxEh+WgN31 5+JlIE6gPdYz7A+h5pupDVXJdhOViafQMBsAkUWautz4n47F5X+oB53rKEvRjjgV sSVNB3oLBWCoXPxfpANQjNXky9QRb2Ib1wIDAQABo1MwUTAdBgNVHQ4EFgQUnBy0 t/3jxb0LK0SWaKjOlRlebmowHwYDVR0jBBgwFoAUnBy0t/3jxb0LK0SWaKjOlRle bmowDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAh/5qDtYaiTWN 3cX0H/ucdsT1fzVCiWmniRBrvGgLOJ4VfBpcGAeyt3nTOCGBpLIHi6M47mv6+DA8 GVA+k4FgAbFRWgSR5zDsOOC0/jTTEMpcrz13DgpCeh/Jj0MdNe3nzkC+eAT2bp07 ZYLrO++N+IEpDEuDz3YlqIpgKpEREoGKWXrXcCEdsAUbIjOSWBfLBTuF8x11IVi7 V4y3UUVTg6aA8ILmtWStoBuVroOH/HY/8RuQztUejjtd3PIEzPRgITekpWEDxI1D Ycc7ZgdxEYmzXTvRAmLkIAoSPR5U61i09SSHmCs9hoWUGQGxSsxBFloTH6IoJFls VDeWw3Shzu1PSPP5NedGgdRC8GKjOVDAgXzYPSoTYab5mGHTbL3HtRELthCmQSaC SrNwKjd1MmhJ6yrjxKruE9mpSHUu50IDIP+PyMokWMRf504eGvPJstvD6+I4sUS3 /Owu0eGM3incgG/ulAWpRDCXRq49JpAoq7evbyBQyzDfrCSN0U6sgjBVlJuoEuXD t1cNmvPxf0730HxQYrq1nYahdt5Mi9+Pv8ublylKuGeYiWqiSeSE6wRRTktL7Xmf BotM8yvJBhpY00GAPSxXQ2Kl+OielJq9QSCOgtQkMCMzKMsfbO+YA+WvMICe+GNJ sfrgLw0imYT1npKJbNtg/vRxTZFj9hc= -----END CERTIFICATE----- ================================================ FILE: sdk/src/test/resources/certs/test-cert.key ================================================ -----BEGIN PRIVATE KEY----- MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQCX9WC+9qfCu7Lh LTkm1XpYnIFowqlIAARHxWv08xbOIm/4bUtruuy0nOEVzzYiu8fdRP2LsBp9iKuR JzBw6QOeASeepCorOFnU24bG3oAdjPHp7Bj76tM1GW5H8izOlln22My4asaOP4kx C+LQt7aolF1Ca7A9J3TNEBxSaowUpCCDtwNnBTPoFa28vhFjga32BnNEZCTPWCrn 97WfDKj4trb+lQIt77jSBpPmwBJIqsOaM02uIlnF8MElX2TEUfMFGWAzDBmllB80 cZHybC2Ic2nrYKuuHtpZrtMM6atGstxiHDt002p6yxUUEbcXE1SvB6ZGuBDw9frp F7J5xnRQ7PAaKl17hXinnOPG/b3xtvOrx2rewWHHUxfCDzzaDcr1+31zfoW83wcw fcuuS8E9iO4mIIYKoB+3C0430IMlqv61BVlHB9FajSEXhg8KIRDB8dZZGX4Y95te RGv4s69Wr0gFFrPG5XJ0m4gS7mpkJeYwTrvtgb2Rm+D7vjxKR4xW8zSRnj4W644Y SpBI9n/fCw3wmWAvs+2wt1m6JcvXyOFJPY96BQWE3eIGV052OCc69rXUhEV/vFRV Nn4UJMCGptpJZiTM+/jvC94YEY2GzMu0jfuBYrnzeeasRnnVh6gfFKXui3xKGApm Moqfd/2DogdmMXilZQ4SHinS6Bj0yQIDAQABAoICAAhIdiiSoLG1si93W+5+Tnf2 t/sc4/CqcjvzSp+EgfwPK9P6fn+geyHxNze4HsxP42TFS54fUE0CySSqt9zqZqm9 3bSrtXy7n/HsBscKU9NzM7CQ5Qpo/MWf3ZS1t7Q0b9z2aQUDFPr7WErAdMb0bKl4 b4jyU8im65qjQ9fzj4UvLnKKOaOWSK5gQs3PUnqpE/Fy3TpKIdOHi8yEgnWT/BXq km5YHaahXY1dPGykkEU+bFZtxiXgIM1FrVGQh0Py75tEjIDb1P4N5Tw3lewFR4ob jcIod9M67U4G1eGV+cxrGCY6QbzBgBlcvokPL3q7hq8vweQy86wezGQuSCqTzb08 pif1g3gkZmPJWArVl40gBv1Hz5PeFL1zlUSHjYz8NOuVOHWIqb1tXWrY+XH58QsC 0QCLc+vxUXxBfyEipcyGAqjp5Vv5zBbBWC1kmXOF1tPkXePOyEQuCHTPHiyuyeA3 AhaiXd7RyQdEeqST9US9MQOpOqaqtE0wvbdWJGwAl4cslHozSLSALbN8TUmlgm5A UN66BDUF7H3TYbbPeBC86nivtLeEToZDOprjiLrbNgbsXNG+WnYWtV+l0SIy09fY fTOeyH1YDe/KzBSqsOhRNilDIIAX7TZuuyySyOQZAG62XTgKbem9ivs1cxpGMp4D I+ZGmpeQunDHxMT3fMi9AoIBAQDSg3kDlj5e26I69WfhFn1sUI+eZo5BW/WLtvf9 302vwmOqjy6XY/g9MMu6NsVkdNjpNAJrVkPr8QOWT8lyChaRRxPhPSbltfrZurJh 4zP2qXGogNUGLo1stXnIGhcWTE0anDf0x9zM6K6IM964BxFLFjFDE2o4Jxr3ge/R zwZPcPm8zF8bLIzgbTsKGRigPyp38byXLWgWZ7SEtRAO60AwxyNieZYB4hU/5vx/ WltkC9qdvOMX2QDAA51mSiXLvENX7MfnDjCPqJtWEYHoClPDpSgY2xua15bGCUdt H1bYRawMfmcAajhplKYb5cL+4Gc4p2UF/UcY+mpflHebfkk7AoIBAQC4yvDQur8h gtnhBhQuClHyrQyHQyk634/HbA5ZvPach4YNR2kC/R5YZS0yrzB3SiCOJScLE2TF zfC0jeByYC4Yjr1oXDNNslNkRCjXhzJZiC2KWNLhEgm90/DLUPbIFMhOHDdyMcV6 OWOlvZERKKFjFU3I0rqoFo36FeXt1GBk4B3U8rAIagJfPrMdS73V+PcSNKki1Ug3 Ds45UR3n2ibS2Y+wCR5wWR4hogaoFjxSn1HwggZJ5FrIwd7U2kfthVltkl43TJZR Fgd1BqWubY6QMumGjrF5DuLbi7/Qk9UwSkWi/yejGsB61eoZZIE53jNielioIp1u pCkmmNbZiHnLAoIBACUfZCa6xvLpXllxT0lFMwb3yevQAAQMmGdz85WEXGnDKNo5 96hgy7TWtwZ2hCar6FhvgIG3K7EexlgqZ8bBeqtR0nKk2wglKEBfCPf0HgTAareh SG+Xo/7onboox6t59xrbM47p88j6u1RveTYQoP8RwcwnT1Lpqnq9IjJohJ9bt96Q V7EuEQW+nWuxc0NHAFE4gt5R9ooE7bN9ToCjAaXYaCgEcuyQFtk2/Y3jvDwPTxUD 6zQYY2Z4/Le+GZ4s699EdRgMy4l53TK3UaY+s/jLVh/T+7E5lXAE0OCwZxsqZiWp 4LYVBS+xM/21bcaOggVel5UPzgrclgeW4eS8x2MCggEACJSLt/Vj2Id93F/u4fBi u7TjRwiMSoqE34qZ4/rNLJlyVP2C17uvBAW2oorV4kQT3OXGuVHuNO0KBygrSsRC f6tpCgZ1716fVqF/j/pcESIskybqq76tqx3DKX2Z59JnNpFC1c+PzswJX3G84aIU VEhx8ygtuI5Li1gm8/MPgr+RQwj9uXZKo+eCY5LXvq6vsi21yMNEdiH+21Rz4gcU FGg7rr3NpwPMTV17l6RoqqFxKYywBBBRUs8FrLZx7oppi5fnPgQVWrB+KiXj3YSC wRlMFI5dmTRivjTv9BxZIsPgFeBpE76zP0DdfM5Y3bn+gs0RfsUUsEV5D6y7FSCs HwKCAQEAz2K9KVwA/hocmUlAkH1jnT3lBtparZa5Be/KfLgqpmRp3ujgPbH1L+vL vPUaAHJ0VScKwe0vY+FFFo+WDdAHnVEdcrolwoQ2oFV9/7wdtk1LS8VEFFdObrff 8wx20yy00yfLTcwrG3g3K9RCCD9/JdkhFahBNX+Vn+pBmgABGiu1gESKiNA/lUar 7Ki/eU2fUwgyHKXsYRhSrcw6aatHE/yJVUgyExjcdYyy0wPkSiwB0hEfyDv/yIOm Hdce5kkMFRNcsp2E0nP3zpt0+lhbhGVal+8gkH2q0YucqZsIaF0Ha2jpUbIsE81A mfPgTPwyRZiGKrz43GpgD0Zg/eytPw== -----END PRIVATE KEY----- ================================================ FILE: sdk/src/test/resources/certs/test-cert.pem ================================================ -----BEGIN CERTIFICATE----- MIIFUzCCAzugAwIBAgIUbPytgC1pfbqeBSbdOok03mPcoU8wDQYJKoZIhvcNAQEL BQAwOTENMAsGA1UECgwEREFQUjENMAsGA1UECwwEREFQUjEZMBcGA1UEAwwQVGVz dCBDZXJ0aWZpY2F0ZTAeFw0yNTA4MjgxNTIzMzJaFw0yNzA4MjgxNTIzMzJaMDkx DTALBgNVBAoMBERBUFIxDTALBgNVBAsMBERBUFIxGTAXBgNVBAMMEFRlc3QgQ2Vy dGlmaWNhdGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCX9WC+9qfC u7LhLTkm1XpYnIFowqlIAARHxWv08xbOIm/4bUtruuy0nOEVzzYiu8fdRP2LsBp9 iKuRJzBw6QOeASeepCorOFnU24bG3oAdjPHp7Bj76tM1GW5H8izOlln22My4asaO P4kxC+LQt7aolF1Ca7A9J3TNEBxSaowUpCCDtwNnBTPoFa28vhFjga32BnNEZCTP WCrn97WfDKj4trb+lQIt77jSBpPmwBJIqsOaM02uIlnF8MElX2TEUfMFGWAzDBml lB80cZHybC2Ic2nrYKuuHtpZrtMM6atGstxiHDt002p6yxUUEbcXE1SvB6ZGuBDw 9frpF7J5xnRQ7PAaKl17hXinnOPG/b3xtvOrx2rewWHHUxfCDzzaDcr1+31zfoW8 3wcwfcuuS8E9iO4mIIYKoB+3C0430IMlqv61BVlHB9FajSEXhg8KIRDB8dZZGX4Y 95teRGv4s69Wr0gFFrPG5XJ0m4gS7mpkJeYwTrvtgb2Rm+D7vjxKR4xW8zSRnj4W 644YSpBI9n/fCw3wmWAvs+2wt1m6JcvXyOFJPY96BQWE3eIGV052OCc69rXUhEV/ vFRVNn4UJMCGptpJZiTM+/jvC94YEY2GzMu0jfuBYrnzeeasRnnVh6gfFKXui3xK GApmMoqfd/2DogdmMXilZQ4SHinS6Bj0yQIDAQABo1MwUTAdBgNVHQ4EFgQUuj4S u+I/pBSJFGVoCK4y+QvGm/QwHwYDVR0jBBgwFoAUuj4Su+I/pBSJFGVoCK4y+QvG m/QwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAR18zFnyf22+h bLT8ab0fD6pLQUW0/yr0PpsNNrsnNbTMr+tgOQDZgi/jpnG8eQmyA5aVjBxgxBNq BhXFMixVputyafbb+fCIGvwWAMGtKL3Jf2yYfn6IhMftMB2e3xp4hUNBfRC92fVT McypKFf/bWPxk7ZDeZGwNK0CViB2XNDCPWvR+RxQI4stilpN47/fAQdpnAmcDVi6 wVljILTaPhgpWj0Q3c6ccdgFE8ETRQK46dDW6C2KstIjqOxP4Go5HQw5bGTQVRPw bX2v7kadLfFDJJDwmCRUNzQJfWM+8qROy8YgexFe5rBUkOOFCz2Wd2I0LjiN8SrP aY3iEoZQO/bIUPJsi3qtLgb9HDZ6iXeB1SHEXnn/l0b1zpb2kumdhiNif2s1NXsw LQV7xai3xrdT96fnWElqD39gHunLO2hCE4ra7YJ3yZnXyi21EdErhpCaD1aPo96d 0m/2rbIfafrBZFdcu4hvS56qtnVajOfXaN5bCKyRsByA8Ebv2XlWWWCRDii5ft/W RYrRDZhC6t9dZNv1ObhDLzx/2FNq82lxhi4VCwlAy6Qdc8kY7uh92IWUUQoLonQB QI0QuROI9W9Vc/DUJFvts/qCKWtD0XdoTVlZc/1B2WFbiwZ5U04x5inFBtudvyEL ZEyQNL0MVlOgpxK3igY4xKM8r+m4bi4= -----END CERTIFICATE----- ================================================ FILE: sdk/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker ================================================ mock-maker-inline ================================================ FILE: sdk-actors/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml dapr-sdk-actors jar dapr-sdk-actors SDK for Actors on Dapr false io.dapr dapr-sdk ${project.version} com.fasterxml.jackson.datatype jackson-datatype-jsr310 org.mockito mockito-core test org.junit.jupiter junit-jupiter test commons-cli commons-cli test org.springframework.boot spring-boot-starter-web test io.grpc grpc-testing test commons-validator commons-validator test org.sonatype.plugins nexus-staging-maven-plugin org.apache.maven.plugins maven-source-plugin org.apache.maven.plugins maven-javadoc-plugin org.jacoco jacoco-maven-plugin ================================================ FILE: sdk-actors/spotbugs-exclude.xml ================================================ ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/ActorId.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors; import java.util.UUID; /** * The ActorId represents the identity of an actor within an actor service. */ public class ActorId extends Object implements Comparable { /** * The ID of the actor as a String. */ private final String stringId; /** * An error message for an invalid constructor arg. */ private final String errorMsg = "actor needs to be initialized with an id!"; /** * Initializes a new instance of the ActorId class with the id passed in. * * @param id Value for actor id */ public ActorId(String id) { if (id != null) { this.stringId = id; } else { throw new IllegalArgumentException(errorMsg); } } /** * Returns the String representation of this Actor's identifier. * * @return The String representation of this ActorId */ @Override public String toString() { return this.stringId; } /** * Compares this instance with a specified {link #ActorId} object and * indicates whether this instance precedes, follows, or appears in the same * position in the sort order as the specified actorId. * The comparison is done based on the id if both the instances. * * @param other The actorId to compare with this instance. * @return A 32-bit signed integer that indicates whether this instance * precedes, follows, or appears in the same position in the sort order as the * other parameter. */ @Override public int compareTo(ActorId other) { return (other == null) ? 1 : compareContent(this, other); } /** * Calculates the hash code for this ActorId. * * @return The hash code of this ActorId. */ @Override public int hashCode() { return this.stringId.hashCode(); } /** * Compare if the content of two ids are the same. * * @param id1 One identifier. * @param id2 Another identifier. * @return -1, 0, or 1 depending on the compare result of the stringId member. */ private int compareContent(ActorId id1, ActorId id2) { return id1.stringId.compareTo(id2.stringId); } /** * Checks if this instance is equals to the other instance. * * @return true if the 2 ActorId's are equal. */ @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } return hasEqualContent(this, (ActorId) obj); } /** * Creates a new ActorId with a random id. * * @return A new ActorId with a random id. */ public static ActorId createRandom() { UUID id = UUID.randomUUID(); return new ActorId(id.toString()); } /** * Compares if two actors have the same content. * * @param id1 One identifier. * @param id2 Another identifier. * @return true if the two ActorId's are equal */ private static boolean hasEqualContent(ActorId id1, ActorId id2) { return id1.stringId.equals(id2.stringId); } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/ActorMethod.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface ActorMethod { /** * Actor's method return type. This is required when result object is within a Mono response. * * @return Actor's method return type. */ Class returns() default Undefined.class; /** * Actor's method name. This is optional and will override the method's default name for actor invocation. * * @return Actor's method name. */ String name() default ""; } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/ActorTrace.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors; import java.util.logging.Level; import java.util.logging.Logger; // TODO: Implement distributed tracing. // TODO: Make this generic to the SDK and not only for Actors. /** * Class to emit trace log messages. */ public final class ActorTrace { /** * Gets the default Logger. */ private static final Logger LOGGER = Logger.getLogger(ActorTrace.class.getName()); /** * Writes an information trace log. * * @param type Type of log. * @param id Instance identifier. * @param msgFormat Message or message format (with type and id input as well). * @param params Params for the message. */ public void writeInfo(String type, String id, String msgFormat, Object... params) { this.write(Level.INFO, type, id, msgFormat, params); } /** * Writes an warning trace log. * * @param type Type of log. * @param id Instance identifier. * @param msgFormat Message or message format (with type and id input as well). * @param params Params for the message. */ public void writeWarning(String type, String id, String msgFormat, Object... params) { this.write(Level.WARNING, type, id, msgFormat, params); } /** * Writes an error trace log. * * @param type Type of log. * @param id Instance identifier. * @param msgFormat Message or message format (with type and id input as well). * @param params Params for the message. */ public void writeError(String type, String id, String msgFormat, Object... params) { this.write(Level.SEVERE, type, id, msgFormat, params); } /** * Writes a trace log. * * @param level Severity level of the log. * @param type Type of log. * @param id Instance identifier. * @param msgFormat Message or message format (with type and id input as well). * @param params Params for the message. */ private void write(Level level, String type, String id, String msgFormat, Object... params) { String formatString = String.format("%s:%s %s", emptyIfNul(type), emptyIfNul(id), emptyIfNul(msgFormat)); if ((params == null) || (params.length == 0)) { LOGGER.log(level, formatString); } else { LOGGER.log(level, String.format(formatString, params)); } } /** * Utility method that returns empty if String is null. * * @param s String to be checked. * @return String (if not null) or empty (if null). */ private static String emptyIfNul(String s) { if (s == null) { return ""; } return s; } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/ActorType.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Annotation to define Actor class. */ @Documented @Target({ElementType.TYPE_USE, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface ActorType { /** * Overrides Actor's name. * * @return Actor's name. */ String name(); } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/ActorUtils.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors; public final class ActorUtils { /** * Finds the actor type name for the given class or interface. * * @param actorClass Class or interface for Actor Type. * @return Name for Actor Type. */ public static String findActorTypeName(Class actorClass) { if (actorClass == null) { throw new IllegalArgumentException("ActorClass is required."); } Class node = actorClass; while ((node != null) && (node.getAnnotation(ActorType.class) == null)) { node = node.getSuperclass(); } if (node == null) { // No annotation found in parent classes, so we scan interfaces. for (Class interfaze : actorClass.getInterfaces()) { if (interfaze.getAnnotation(ActorType.class) != null) { node = interfaze; break; } } } if (node == null) { // No ActorType annotation found, so we use the class name. return actorClass.getSimpleName(); } ActorType actorTypeAnnotation = node.getAnnotation(ActorType.class); return actorTypeAnnotation != null ? actorTypeAnnotation.name() : actorClass.getSimpleName(); } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/Undefined.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors; /** * Internal class to represent the undefined value for an optional Class attribute. */ final class Undefined { private Undefined() { } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/client/ActorClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.client; import io.dapr.client.resiliency.ResiliencyOptions; import io.dapr.config.Properties; import io.dapr.utils.NetworkUtils; import io.dapr.utils.Version; import io.dapr.v1.DaprGrpc; import io.grpc.Channel; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; import reactor.core.publisher.Mono; import java.util.Collections; import java.util.Map; /** * Holds a client for Dapr sidecar communication. ActorClient should be reused. */ public class ActorClient implements AutoCloseable { /** * gRPC channel for communication with Dapr sidecar. */ private final ManagedChannel grpcManagedChannel; /** * Dapr's client. */ private final DaprClient daprClient; /** * Instantiates a new channel for Dapr sidecar communication. */ public ActorClient() { this(new Properties(), null); } /** * Instantiates a new channel for Dapr sidecar communication. * * @param resiliencyOptions Client resiliency options. */ public ActorClient(ResiliencyOptions resiliencyOptions) { this(new Properties(), resiliencyOptions); } /** * Instantiates a new channel for Dapr sidecar communication. * * @param overrideProperties Override properties. */ public ActorClient(Properties overrideProperties) { this(overrideProperties, null); } /** * Instantiates a new channel for Dapr sidecar communication. * * @param overrideProperties Override properties. * @param resiliencyOptions Client resiliency options. */ public ActorClient(Properties overrideProperties, ResiliencyOptions resiliencyOptions) { this(overrideProperties, null, resiliencyOptions); } /** * Instantiates a new channel for Dapr sidecar communication. * * @param overrideProperties Override properties. * @param metadata gRPC metadata or HTTP headers for actor invocation. * @param resiliencyOptions Client resiliency options. */ public ActorClient(Properties overrideProperties, Map metadata, ResiliencyOptions resiliencyOptions) { this(NetworkUtils.buildGrpcManagedChannel(overrideProperties), metadata, resiliencyOptions, overrideProperties.getValue(Properties.API_TOKEN)); } /** * Instantiates a new channel for Dapr sidecar communication. * * @param grpcManagedChannel gRPC channel. * @param metadata gRPC metadata or HTTP headers for actor invocation. * @param resiliencyOptions Client resiliency options. * @param daprApiToken Dapr API token. */ private ActorClient( ManagedChannel grpcManagedChannel, Map metadata, ResiliencyOptions resiliencyOptions, String daprApiToken) { this.grpcManagedChannel = grpcManagedChannel; this.daprClient = buildDaprClient(grpcManagedChannel, metadata, resiliencyOptions, daprApiToken); } /** * Invokes an Actor method on Dapr. * * @param actorType Type of actor. * @param actorId Actor Identifier. * @param methodName Method name to invoke. * @param jsonPayload Serialized body. * @return Asynchronous result with the Actor's response. */ Mono invoke(String actorType, String actorId, String methodName, byte[] jsonPayload) { return daprClient.invoke(actorType, actorId, methodName, jsonPayload); } /** * {@inheritDoc} */ @Override public void close() { if (grpcManagedChannel != null && !grpcManagedChannel.isShutdown()) { grpcManagedChannel.shutdown(); } } /** * Build an instance of the Client based on the provided setup. * * @return an instance of the setup Client * @throws java.lang.IllegalStateException if any required field is missing */ private static DaprClient buildDaprClient( Channel grpcManagedChannel, Map metadata, ResiliencyOptions resiliencyOptions, String daprApiToken) { return new DaprClientImpl( DaprGrpc.newStub(grpcManagedChannel), metadata == null ? null : Collections.unmodifiableMap(metadata), resiliencyOptions, daprApiToken); } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/client/ActorProxy.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.client; import io.dapr.actors.ActorId; import io.dapr.utils.TypeRef; import reactor.core.publisher.Mono; /** * Proxy to communicate to a given Actor instance in Dapr. */ public interface ActorProxy { /** * Returns the ActorId associated with the proxy object. * * @return An ActorId object. */ ActorId getActorId(); /** * Returns actor implementation type of the actor associated with the proxy object. * * @return Actor's type name. */ String getActorType(); /** * Invokes an Actor method on Dapr. * * @param methodName Method name to invoke. * @param type The type of the return class. * @param The type to be returned. * @return Asynchronous result with the Actor's response. */ Mono invokeMethod(String methodName, TypeRef type); /** * Invokes an Actor method on Dapr. * * @param methodName Method name to invoke. * @param clazz The type of the return class. * @param The type to be returned. * @return Asynchronous result with the Actor's response. */ Mono invokeMethod(String methodName, Class clazz); /** * Invokes an Actor method on Dapr. * * @param methodName Method name to invoke. * @param data Object with the data. * @param type The type of the return class. * @param The type to be returned. * @return Asynchronous result with the Actor's response. */ Mono invokeMethod(String methodName, Object data, TypeRef type); /** * Invokes an Actor method on Dapr. * * @param methodName Method name to invoke. * @param data Object with the data. * @param clazz The type of the return class. * @param The type to be returned. * @return Asynchronous result with the Actor's response. */ Mono invokeMethod(String methodName, Object data, Class clazz); /** * Invokes an Actor method on Dapr. * * @param methodName Method name to invoke. * @return Asynchronous result with the Actor's response. */ Mono invokeMethod(String methodName); /** * Invokes an Actor method on Dapr. * * @param methodName Method name to invoke. * @param data Object with the data. * @return Asynchronous result with the Actor's response. */ Mono invokeMethod(String methodName, Object data); } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/client/ActorProxyBuilder.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.client; import io.dapr.actors.ActorId; import io.dapr.actors.ActorUtils; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import java.lang.reflect.Proxy; /** * Builder to generate an ActorProxy instance. Builder can be reused for multiple instances. */ public class ActorProxyBuilder { /** * Actor's type. */ private final String actorType; /** * Actor's type class. */ private final Class clazz; /** * Dapr's object serializer. */ private DaprObjectSerializer objectSerializer; /** * Client for communication with Dapr's Actor APIs. */ private final ActorClient actorClient; /** * Instantiates a new builder for a given Actor type, using {@link DefaultObjectSerializer} by default. * * {@link DefaultObjectSerializer} is not recommended for production scenarios. * * @param actorTypeClass Actor's type class. * @param actorClient Dapr's sidecar client for Actor APIs. */ public ActorProxyBuilder(Class actorTypeClass, ActorClient actorClient) { this(ActorUtils.findActorTypeName(actorTypeClass), actorTypeClass, actorClient); } /** * Instantiates a new builder for a given Actor type, using {@link DefaultObjectSerializer} by default. * * {@link DefaultObjectSerializer} is not recommended for production scenarios. * * @param actorType Actor's type. * @param actorTypeClass Actor's type class. * @param actorClient Dapr's sidecar client for Actor APIs. */ public ActorProxyBuilder(String actorType, Class actorTypeClass, ActorClient actorClient) { if ((actorType == null) || actorType.isEmpty()) { throw new IllegalArgumentException("ActorType is required."); } if (actorTypeClass == null) { throw new IllegalArgumentException("ActorTypeClass is required."); } if (actorClient == null) { throw new IllegalArgumentException("ActorClient is required."); } this.actorType = actorType; this.objectSerializer = new DefaultObjectSerializer(); this.clazz = actorTypeClass; this.actorClient = actorClient; } /** * Instantiates a new builder for a given Actor type, using {@link DefaultObjectSerializer}. * * @param objectSerializer Serializer for objects sent/received. * @return This instance. */ public ActorProxyBuilder withObjectSerializer(DaprObjectSerializer objectSerializer) { if (objectSerializer == null) { throw new IllegalArgumentException("Serializer is required."); } this.objectSerializer = objectSerializer; return this; } /** * Instantiates a new ActorProxy. * * @param actorId Actor's identifier. * @return New instance of ActorProxy. */ public T build(ActorId actorId) { if (actorId == null) { throw new IllegalArgumentException("Cannot instantiate an Actor without Id."); } ActorProxyImpl proxy = new ActorProxyImpl( this.actorType, actorId, this.objectSerializer, this.actorClient); if (this.clazz.equals(ActorProxy.class)) { // If users want to use the not strongly typed API, we respect that here. return (T) proxy; } return (T) Proxy.newProxyInstance( ActorProxyImpl.class.getClassLoader(), new Class[]{this.clazz}, proxy); } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/client/ActorProxyImpl.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.client; import io.dapr.actors.ActorId; import io.dapr.actors.ActorMethod; import io.dapr.exceptions.DaprException; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.utils.TypeRef; import reactor.core.publisher.Mono; import java.io.IOException; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; /** * Implements a proxy client for an Actor's instance. */ class ActorProxyImpl implements ActorProxy, InvocationHandler { private static final String UNDEFINED_CLASS_NAME = "io.dapr.actors.Undefined"; /** * Actor's identifier for this Actor instance. */ private final ActorId actorId; /** * Actor's type for this Actor instance. */ private final String actorType; /** * Serializer/deserializer to exchange message for Actors. */ private final DaprObjectSerializer serializer; /** * Client to talk to the Dapr's API. */ private final ActorClient actorClient; /** * Creates a new instance of {@link ActorProxyImpl}. * * @param actorType actor implementation type of the actor associated with the proxy object. * @param actorId The actorId associated with the proxy * @param serializer Serializer and deserializer for method calls. * @param actorClient Dapr client for Actor APIs. */ ActorProxyImpl(String actorType, ActorId actorId, DaprObjectSerializer serializer, ActorClient actorClient) { this.actorType = actorType; this.actorId = actorId; this.actorClient = actorClient; this.serializer = serializer; } /** * {@inheritDoc} */ public ActorId getActorId() { return actorId; } /** * {@inheritDoc} */ public String getActorType() { return actorType; } /** * {@inheritDoc} */ @Override public Mono invokeMethod(String methodName, Object data, TypeRef type) { return this.actorClient.invoke(actorType, actorId.toString(), methodName, this.serialize(data)) .filter(s -> s.length > 0) .map(s -> deserialize(s, type)); } /** * {@inheritDoc} */ @Override public Mono invokeMethod(String methodName, Object data, Class clazz) { return this.invokeMethod(methodName, data, TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override public Mono invokeMethod(String methodName, TypeRef type) { return this.actorClient.invoke(actorType, actorId.toString(), methodName, null) .filter(s -> s.length > 0) .map(s -> deserialize(s, type)); } /** * {@inheritDoc} */ @Override public Mono invokeMethod(String methodName, Class clazz) { return this.invokeMethod(methodName, TypeRef.get(clazz)); } /** * {@inheritDoc} */ @Override public Mono invokeMethod(String methodName) { return this.actorClient.invoke(actorType, actorId.toString(), methodName, null).then(); } /** * {@inheritDoc} */ @Override public Mono invokeMethod(String methodName, Object data) { return this.actorClient.invoke(actorType, actorId.toString(), methodName, this.serialize(data)).then(); } /** * Handles an invocation via reflection. * * @param proxy Interface or class being invoked. * @param method Method being invoked. * @param args Arguments to invoke method. * @return Response object for the invocation. */ @Override public Object invoke(Object proxy, Method method, Object[] args) { if (method.getParameterCount() > 1) { throw new UnsupportedOperationException("Actor methods can only have zero or one arguments."); } ActorMethod actorMethodAnnotation = method.getDeclaredAnnotation(ActorMethod.class); String methodName = method.getName(); if ((actorMethodAnnotation != null) && !actorMethodAnnotation.name().isEmpty()) { methodName = actorMethodAnnotation.name(); } if (method.getParameterCount() == 0) { if (method.getReturnType().equals(Mono.class)) { if ((actorMethodAnnotation == null) || UNDEFINED_CLASS_NAME.equals(actorMethodAnnotation.returns().getName())) { return invokeMethod(methodName); } return invokeMethod(methodName, actorMethodAnnotation.returns()); } return invokeMethod(methodName, method.getReturnType()).block(); } if (method.getReturnType().equals(Mono.class)) { if ((actorMethodAnnotation == null) || UNDEFINED_CLASS_NAME.equals(actorMethodAnnotation.returns().getName())) { return invokeMethod(methodName, args[0]); } return invokeMethod(methodName, args[0], actorMethodAnnotation.returns()); } return invokeMethod(methodName, args[0], method.getReturnType()).block(); } /** * Extracts the response object from the Actor's method result. * * @param response response returned by API. * @param type Expected response type. * @param Expected response type. * @return Response object or null. * @throws RuntimeException In case it cannot generate Object. */ private T deserialize(final byte[] response, TypeRef type) { try { return this.serializer.deserialize(response, type); } catch (IOException e) { DaprException.wrap(e); return null; } } /** * Builds the request to invoke an API for Actors. * * @param request Request object for the original Actor's method. * @return Payload to be sent to Dapr's API. * @throws RuntimeException In case it cannot generate payload. */ private byte[] serialize(final Object request) { try { return this.serializer.serialize(request); } catch (IOException e) { DaprException.wrap(e); return null; } } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/client/DaprClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.client; import reactor.core.publisher.Mono; /** * Generic Client Adapter to be used regardless of the GRPC or the HTTP Client implementation required. */ interface DaprClient { /** * Invokes an Actor method on Dapr. * * @param actorType Type of actor. * @param actorId Actor Identifier. * @param methodName Method name to invoke. * @param jsonPayload Serialized body. * @return Asynchronous result with the Actor's response. */ Mono invoke(String actorType, String actorId, String methodName, byte[] jsonPayload); } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/client/DaprClientImpl.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.client; import com.google.protobuf.ByteString; import io.dapr.client.resiliency.ResiliencyOptions; import io.dapr.exceptions.DaprException; import io.dapr.internal.grpc.DaprClientGrpcInterceptors; import io.dapr.internal.resiliency.RetryPolicy; import io.dapr.internal.resiliency.TimeoutPolicy; import io.dapr.v1.DaprActorsProtos; import io.dapr.v1.DaprGrpc; import io.grpc.stub.StreamObserver; import reactor.core.publisher.Mono; import reactor.core.publisher.MonoSink; import java.util.Map; import java.util.concurrent.ExecutionException; import java.util.function.Consumer; /** * A DaprClient over GRPC for Actor. */ class DaprClientImpl implements DaprClient { /** * Retry policy for SDK calls to Dapr API. */ private final RetryPolicy retryPolicy; /** * The async gRPC stub. */ private final DaprGrpc.DaprStub client; /** * gRPC client interceptors. */ private final DaprClientGrpcInterceptors grpcInterceptors; /** * Metadata for actor invocation requests. */ private final Map metadata; /** * Internal constructor. * * @param grpcClient Dapr's GRPC client. * @param metadata gRPC metadata or HTTP headers for actor server to receive. * @param resiliencyOptions Client resiliency options (optional). * @param daprApiToken Dapr API token (optional). */ DaprClientImpl( DaprGrpc.DaprStub grpcClient, Map metadata, ResiliencyOptions resiliencyOptions, String daprApiToken) { this.client = grpcClient; this.grpcInterceptors = new DaprClientGrpcInterceptors(daprApiToken, new TimeoutPolicy(resiliencyOptions == null ? null : resiliencyOptions.getTimeout())); this.retryPolicy = new RetryPolicy( resiliencyOptions == null ? null : resiliencyOptions.getMaxRetries()); this.metadata = metadata == null ? Map.of() : metadata; } /** * {@inheritDoc} */ @Override public Mono invoke(String actorType, String actorId, String methodName, byte[] jsonPayload) { DaprActorsProtos.InvokeActorRequest req = DaprActorsProtos.InvokeActorRequest.newBuilder() .setActorType(actorType) .setActorId(actorId) .setMethod(methodName) .putAllMetadata(this.metadata) .setData(jsonPayload == null ? ByteString.EMPTY : ByteString.copyFrom(jsonPayload)) .build(); return Mono.deferContextual( context -> this.createMono( it -> this.grpcInterceptors.intercept(client, context).invokeActor(req, it) ) ).map(r -> r.getData().toByteArray()); } private Mono createMono(Consumer> consumer) { return retryPolicy.apply( Mono.create(sink -> DaprException.wrap(() -> consumer.accept(createStreamObserver(sink))).run())); } private StreamObserver createStreamObserver(MonoSink sink) { return new StreamObserver() { @Override public void onNext(T value) { sink.success(value); } @Override public void onError(Throwable t) { sink.error(DaprException.propagate(new ExecutionException(t))); } @Override public void onCompleted() { sink.success(); } }; } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/AbstractActor.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.actors.ActorTrace; import reactor.core.publisher.Mono; import java.io.IOException; import java.time.Duration; import java.util.UUID; import java.util.concurrent.atomic.AtomicBoolean; /** * Represents the base class for actors. * The base type for actors, that provides the common functionality for actors. * The state is preserved across actor garbage collections and fail-overs. */ public abstract class AbstractActor { /** * Type of tracing messages. */ private static final String TRACE_TYPE = "Actor"; /** * Context for the Actor runtime. */ private final ActorRuntimeContext actorRuntimeContext; /** * Actor identifier. */ private final ActorId id; /** * Emits trace messages for Actors. */ private final ActorTrace actorTrace; /** * Manager for the states in Actors. */ private final ActorStateManager actorStateManager; /** * Internal control to assert method invocation on start and finish in this SDK. */ private final AtomicBoolean started; /** * Instantiates a new Actor. * * @param runtimeContext Context for the runtime. * @param id Actor identifier. */ protected AbstractActor(ActorRuntimeContext runtimeContext, ActorId id) { this.actorRuntimeContext = runtimeContext; this.id = id; this.actorStateManager = new ActorStateManager( runtimeContext.getStateProvider(), runtimeContext.getActorTypeInformation().getName(), id); this.actorTrace = runtimeContext.getActorTrace(); this.started = new AtomicBoolean(false); } /** * Returns the id of the actor. * * @return Actor id. */ protected ActorId getId() { return this.id; } /** * Returns the actor's type. * * @return Actor type. */ String getType() { return this.actorRuntimeContext.getActorTypeInformation().getName(); } /** * Returns the state store manager for this Actor. * * @return State store manager for this Actor */ protected ActorStateManager getActorStateManager() { return this.actorStateManager; } /** * Registers a reminder for this Actor. * * @param reminderName Name of the reminder. * @param state State to be send along with reminder triggers. * @param dueTime Due time for the first trigger. * @param period Frequency for the triggers. * @param Type of the state object. * @return Asynchronous void response. */ protected Mono registerReminder( String reminderName, T state, Duration dueTime, Duration period) { try { byte[] data = this.actorRuntimeContext.getObjectSerializer().serialize(state); ActorReminderParams params = new ActorReminderParams(data, dueTime, period); return this.actorRuntimeContext.getDaprClient().registerReminder( this.actorRuntimeContext.getActorTypeInformation().getName(), this.id.toString(), reminderName, params); } catch (IOException e) { return Mono.error(e); } } /** * Registers a Timer for the actor. A timer name is autogenerated by the runtime to keep track of it. * * @param timerName Name of the timer, unique per Actor (auto-generated if null). * @param callback Name of the method to be called. * @param state State to be passed it to the method when timer triggers. * @param dueTime The amount of time to delay before the async callback is first invoked. * Specify negative one (-1) milliseconds to prevent the timer from starting. * Specify zero (0) to start the timer immediately. * @param period The time interval between invocations of the async callback. * Specify negative one (-1) milliseconds to disable periodic signaling. * @param Type for the state to be passed in to timer. * @return Asynchronous result with timer's name. */ protected Mono registerActorTimer( String timerName, String callback, T state, Duration dueTime, Duration period) { try { if ((callback == null) || callback.isEmpty()) { throw new IllegalArgumentException("Timer requires a callback function."); } String name = timerName; if ((timerName == null) || (timerName.isEmpty())) { name = String.format("%s_Timer_%s", this.id.toString(), UUID.randomUUID().toString()); } byte[] data = this.actorRuntimeContext.getObjectSerializer().serialize(state); ActorTimerParams actorTimer = new ActorTimerParams(callback, data, dueTime, period); return this.actorRuntimeContext.getDaprClient().registerTimer( this.actorRuntimeContext.getActorTypeInformation().getName(), this.id.toString(), name, actorTimer).thenReturn(name); } catch (Exception e) { return Mono.error(e); } } /** * Unregisters an Actor timer. * * @param timerName Name of Timer to be unregistered. * @return Asynchronous void response. */ protected Mono unregisterTimer(String timerName) { return this.actorRuntimeContext.getDaprClient().unregisterTimer( this.actorRuntimeContext.getActorTypeInformation().getName(), this.id.toString(), timerName); } /** * Unregisters a Reminder. * * @param reminderName Name of Reminder to be unregistered. * @return Asynchronous void response. */ protected Mono unregisterReminder(String reminderName) { return this.actorRuntimeContext.getDaprClient().unregisterReminder( this.actorRuntimeContext.getActorTypeInformation().getName(), this.id.toString(), reminderName); } /** * Callback function invoked after an Actor has been activated. * * @return Asynchronous void response. */ protected Mono onActivate() { return Mono.empty(); } /** * Callback function invoked after an Actor has been deactivated. * * @return Asynchronous void response. */ protected Mono onDeactivate() { return Mono.empty(); } /** * Callback function invoked before method is invoked. * * @param actorMethodContext Method context. * @return Asynchronous void response. */ protected Mono onPreActorMethod(ActorMethodContext actorMethodContext) { return Mono.empty(); } /** * Callback function invoked after method is invoked. * * @param actorMethodContext Method context. * @return Asynchronous void response. */ protected Mono onPostActorMethod(ActorMethodContext actorMethodContext) { return Mono.empty(); } /** * Saves the state of this Actor. * * @return Asynchronous void response. */ protected Mono saveState() { return this.actorStateManager.save(); } /** * Resets the cached state of this Actor. * * @param force Forces the rollback, even if not in a call. */ void rollback(boolean force) { if (!force && !this.started.get()) { throw new IllegalStateException("Cannot reset state before starting call."); } this.resetState(); this.started.set(false); } /** * Resets the cached state of this Actor. */ void resetState() { this.actorStateManager.clear(); } /** * Internal callback when an Actor is activated. * * @return Asynchronous void response. */ Mono onActivateInternal() { return Mono.fromRunnable(() -> { this.actorTrace.writeInfo(TRACE_TYPE, this.id.toString(), "Activating ..."); this.resetState(); }).then(this.onActivate()) .then(this.doWriteInfo(TRACE_TYPE, this.id.toString(), "Activated")) .then(this.saveState()); } /** * Internal callback when an Actor is deactivated. * * @return Asynchronous void response. */ Mono onDeactivateInternal() { this.actorTrace.writeInfo(TRACE_TYPE, this.id.toString(), "Deactivating ..."); return Mono.fromRunnable(() -> this.resetState()) .then(this.onDeactivate()) .then(this.doWriteInfo(TRACE_TYPE, this.id.toString(), "Deactivated")); } /** * Internal callback prior to method be invoked. * * @param actorMethodContext Method context. * @return Asynchronous void response. */ Mono onPreActorMethodInternal(ActorMethodContext actorMethodContext) { return Mono.fromRunnable(() -> { if (this.started.get()) { throw new IllegalStateException( "Cannot invoke a method before completing previous call. " + getId().toString()); } this.started.set(true); }).then(this.onPreActorMethod(actorMethodContext)); } /** * Internal callback after method is invoked. * * @param actorMethodContext Method context. * @return Asynchronous void response. */ Mono onPostActorMethodInternal(ActorMethodContext actorMethodContext) { return Mono.fromRunnable(() -> { if (!this.started.get()) { throw new IllegalStateException("Cannot complete a method before starting a call."); } }) .then(this.onPostActorMethod(actorMethodContext)) .then(this.saveState()) .then(Mono.fromRunnable(() -> this.started.set(false))); } /** * Internal method to emit a trace message. * * @param type Type of trace message. * @param id Identifier of entity relevant for the trace message. * @param message Message to be logged. * @return Asynchronous void response. */ private Mono doWriteInfo(String type, String id, String message) { return Mono.fromRunnable(() -> this.actorTrace.writeInfo(type, id, message)); } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorCallType.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; /** * Represents the call-type associated with the method invoked by actor runtime. */ enum ActorCallType { /** * Specifies that the method invoked is an actor interface method for a given * client request. */ ACTOR_INTERFACE_METHOD, /** * Specifies that the method invoked is a timer callback method. */ TIMER_METHOD, /** * Specifies that the method is when a reminder fires. */ REMINDER_METHOD } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorFactory.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; /** * Creates an actor of a given type. * * @param Actor Type to be created. */ @FunctionalInterface public interface ActorFactory { /** * Creates an Actor. * * @param actorRuntimeContext Actor type's context in the runtime. * @param actorId Actor Id. * @return Actor or null it failed. */ T createActor(ActorRuntimeContext actorRuntimeContext, ActorId actorId); } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorManager.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.utils.TypeRef; import reactor.core.publisher.Mono; import java.io.IOException; import java.lang.reflect.Method; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.function.Function; /** * Manages actors of a specific type. */ class ActorManager { /** * Serializer for internal Dapr objects. */ private static final ActorObjectSerializer OBJECT_SERIALIZER = new ActorObjectSerializer(); /** * Context for the Actor runtime. */ private final ActorRuntimeContext runtimeContext; /** * Methods found in Actors. */ private final ActorMethodInfoMap actorMethods; /** * Active Actor instances. */ private final Map activeActors; /** * Instantiates a new manager for a given actor referenced in the runtimeContext. * * @param runtimeContext Runtime context for the Actor. */ ActorManager(ActorRuntimeContext runtimeContext) { this.runtimeContext = runtimeContext; this.actorMethods = new ActorMethodInfoMap(runtimeContext.getActorTypeInformation().getInterfaces()); this.activeActors = Collections.synchronizedMap(new HashMap<>()); } /** * Activates an Actor. * * @param actorId Actor identifier. * @return Asynchronous void response. */ Mono activateActor(ActorId actorId) { return Mono.fromSupplier(() -> { if (this.activeActors.containsKey(actorId)) { return null; } return this.runtimeContext.getActorFactory().createActor(runtimeContext, actorId); }).flatMap(actor -> actor.onActivateInternal().then(this.onActivatedActor(actorId, actor))); } /** * Deactivates an Actor. * * @param actorId Actor identifier. * @return Asynchronous void response. */ Mono deactivateActor(ActorId actorId) { return Mono.fromSupplier(() -> this.activeActors.remove(actorId)).flatMap(actor -> actor.onDeactivateInternal()); } /** * Invokes reminder for Actor. * * @param actorId Identifier for Actor being invoked. * @param reminderName Name of reminder being invoked. * @param params Parameters for the reminder. * @return Asynchronous void response. */ Mono invokeReminder(ActorId actorId, String reminderName, byte[] params) { return Mono.fromSupplier(() -> { if (!this.runtimeContext.getActorTypeInformation().isRemindable()) { return null; } try { return OBJECT_SERIALIZER.deserialize(params, ActorReminderParams.class); } catch (Exception e) { throw new RuntimeException(e); } }).flatMap(p -> invoke(actorId, ActorMethodContext.createForReminder(reminderName), actor -> doReminderInvokation((Remindable) actor, reminderName, p))).then(); } /** * Invokes a timer for a given Actor. * * @param actorId Identifier for Actor. * @param timerName Name of timer being invoked. * @param params Parameters for the timer. * @return Asynchronous void response. */ Mono invokeTimer(ActorId actorId, String timerName, byte[] params) { return Mono.fromSupplier(() -> { try { return OBJECT_SERIALIZER.deserialize(params, ActorTimerParams.class); } catch (Exception e) { throw new RuntimeException(e); } }).flatMap(p -> invokeMethod( actorId, ActorMethodContext.createForTimer(timerName), p.getCallback(), p.getData())).then(); } /** * Internal callback for when Actor is activated. * * @param actorId Actor identifier. * @param actor Actor's instance. * @return Asynchronous void response. */ private Mono onActivatedActor(ActorId actorId, T actor) { return Mono.fromRunnable(() -> this.activeActors.put(actorId, actor)); } /** * Internal method to actually invoke a reminder. * * @param actor Actor that owns the reminder. * @param reminderName Name of the reminder. * @param reminderParams Params for the reminder. * @return Asynchronous void response. */ private Mono doReminderInvokation( Remindable actor, String reminderName, ActorReminderParams reminderParams) { return Mono.fromSupplier(() -> { if (actor == null) { throw new IllegalArgumentException("actor is mandatory."); } if (reminderName == null) { throw new IllegalArgumentException("reminderName is mandatory."); } if (reminderParams == null) { throw new IllegalArgumentException("reminderParams is mandatory."); } return true; }).flatMap(x -> { try { Object data = this.runtimeContext.getObjectSerializer().deserialize( reminderParams.getData(), actor.getStateType()); return actor.receiveReminder( reminderName, data, reminderParams.getDueTime(), reminderParams.getPeriod()); } catch (Exception e) { return Mono.error(e); } }).thenReturn(true); } /** * Invokes a given method in the Actor. * * @param actorId Identifier for Actor being invoked. * @param methodName Name of method being invoked. * @param request Input object for the method being invoked. * @return Asynchronous void response. */ Mono invokeMethod(ActorId actorId, String methodName, byte[] request) { return invokeMethod(actorId, null, methodName, request); } /** * Internal method to actually invoke Actor's method. * * @param actorId Identifier for the Actor. * @param context Method context to be invoked. * @param methodName Method name to be invoked. * @param request Input object to be passed in to the invoked method. * @return Asynchronous serialized response. */ private Mono invokeMethod(ActorId actorId, ActorMethodContext context, String methodName, byte[] request) { ActorMethodContext actorMethodContext = context; if (actorMethodContext == null) { actorMethodContext = ActorMethodContext.createForActor(methodName); } return this.invoke(actorId, actorMethodContext, actor -> { try { // Finds the actor method with the given name and 1 or no parameter. Method method = this.actorMethods.get(methodName); Object input = null; if (method.getParameterCount() == 1) { // Actor methods must have a one or no parameter, which is guaranteed at this point. Class inputClass = method.getParameterTypes()[0]; input = this.runtimeContext.getObjectSerializer().deserialize(request, TypeRef.get(inputClass)); } if (method.getReturnType().equals(Mono.class)) { return invokeMonoMethod(actor, method, input); } return invokeMethod(actor, method, input); } catch (Exception e) { return Mono.error(e); } }).map(r -> { try { return this.runtimeContext.getObjectSerializer().serialize(r); } catch (IOException e) { throw new RuntimeException(e); } }); } /** * Invokes a method that returns a plain object (not Mono). * * @param actor Actor to be invoked. * @param method Method to be invoked. * @param input Input object for the method (or null). * @return Asynchronous object response. */ private Mono invokeMethod(AbstractActor actor, Method method, Object input) { return Mono.fromSupplier(() -> { try { if (method.getParameterCount() == 0) { return method.invoke(actor); } else { // Actor methods must have a one or no parameter, which is guaranteed at this point. return method.invoke(actor, input); } } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new RuntimeException(e); } }); } /** * Invokes a method that returns Mono. * * @param actor Actor to be invoked. * @param method Method to be invoked. * @param input Input object for the method (or null). * @return Asynchronous object response. */ private Mono invokeMonoMethod(AbstractActor actor, Method method, Object input) { try { if (method.getParameterCount() == 0) { return (Mono) method.invoke(actor); } else { // Actor methods must have a one or no parameter, which is guaranteed at this point. return (Mono) method.invoke(actor, input); } } catch (Exception e) { return Mono.error(e); } } /** * Internal call to invoke a method, timer or reminder for an Actor. * * @param actorId Actor identifier. * @param context Context for the method/timer/reminder call. * @param func Function to perform the method call. * @param Expected return type for the function call. * @return Asynchronous response for the returned object. */ private Mono invoke(ActorId actorId, ActorMethodContext context, Function> func) { try { AbstractActor actor = this.activeActors.getOrDefault(actorId, null); if (actor == null) { throw new IllegalArgumentException( String.format("Could not find actor %s of type %s.", actorId.toString(), this.runtimeContext.getActorTypeInformation().getName())); } return Mono.fromRunnable(() -> actor.rollback(true)) .onErrorMap(throwable -> { actor.rollback(false); return throwable; }) .then(actor.onPreActorMethodInternal(context)) .then((Mono) func.apply(actor)) .switchIfEmpty( actor.onPostActorMethodInternal(context)) .flatMap(r -> actor.onPostActorMethodInternal(context).thenReturn(r)) .map(o -> (T) o); } catch (Exception e) { return Mono.error(e); } } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorMethodContext.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; /** * Contains information about the method that is invoked by actor runtime. */ public class ActorMethodContext { /** * Method name to be invoked. */ private final String methodName; /** * Call type to be used. */ private final ActorCallType callType; /** * Constructs a new instance of {@link ActorMethodContext}, representing a call for an Actor. * * @param methodName Method name to be invoked. * @param callType Call type to be used. */ private ActorMethodContext(String methodName, ActorCallType callType) { this.methodName = methodName; this.callType = callType; } /** * Gets the name of the method invoked by actor runtime. * * @return The method name. */ public String getMethodName() { return this.methodName; } /** * Gets the call type to be used. * * @return Call type. */ public ActorCallType getCallType() { return this.callType; } /** * Creates a context to invoke an Actor's method. * * @param methodName THe method to be invoked. * @return Context of the method call as {@link ActorMethodContext} */ static ActorMethodContext createForActor(String methodName) { return new ActorMethodContext(methodName, ActorCallType.ACTOR_INTERFACE_METHOD); } /** * Creates a context to invoke an Actor's timer. * * @param methodName THe method to be invoked. * @return Context of the method call as {@link ActorMethodContext} */ static ActorMethodContext createForTimer(String methodName) { return new ActorMethodContext(methodName, ActorCallType.TIMER_METHOD); } /** * Creates a context to invoke an Actor's reminder. * * @param methodName THe method to be invoked. * @return Context of the method call as {@link ActorMethodContext} */ static ActorMethodContext createForReminder(String methodName) { return new ActorMethodContext(methodName, ActorCallType.REMINDER_METHOD); } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorMethodInfoMap.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorMethod; import java.lang.reflect.Method; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; /** * Actor method dispatcher map. Holds method_name -> Method for methods defined in Actor interfaces. */ class ActorMethodInfoMap { /** * Map for methods based on name. */ private final Map methods; /** * Instantiates a given Actor map based on the interfaces found in the class. * * @param interfaceTypes Interfaces found in the Actor class. */ ActorMethodInfoMap(Collection> interfaceTypes) { Map methods = new HashMap<>(); // Find methods which are defined in Actor interface. for (Class actorInterface : interfaceTypes) { for (Method methodInfo : actorInterface.getMethods()) { // Only support methods with 1 or 0 argument. if (methodInfo.getParameterCount() <= 1) { // If Actor class uses overloading, then one will win. // Document this behavior, so users know how to write their code. String methodName = methodInfo.getName(); ActorMethod actorMethodAnnotation = methodInfo.getAnnotation(ActorMethod.class); if ((actorMethodAnnotation != null) && !actorMethodAnnotation.name().isEmpty()) { methodName = actorMethodAnnotation.name(); } methods.put(methodName, methodInfo); } } } this.methods = Collections.unmodifiableMap(methods); } /** * Gets the Actor's method by name. * * @param methodName Name of the method. * @return Method. * @throws NoSuchMethodException If method is not found. */ Method get(String methodName) throws NoSuchMethodException { Method method = this.methods.get(methodName); if (method == null) { throw new NoSuchMethodException(String.format("Could not find method %s.", methodName)); } return method; } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorObjectSerializer.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import io.dapr.client.ObjectSerializer; import io.dapr.client.domain.FailurePolicy; import io.dapr.utils.DurationUtils; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.time.Duration; /** * Serializes and deserializes internal objects. */ public class ActorObjectSerializer extends ObjectSerializer { /** * Shared Json Factory as per Jackson's documentation. */ private static final JsonFactory JSON_FACTORY = new JsonFactory(); static { // Configure OBJECT_MAPPER to handle Java 8 time types OBJECT_MAPPER.registerModule(new JavaTimeModule()); } /** * {@inheritDoc} */ @Override public byte[] serialize(Object state) throws IOException { if (state == null) { return null; } if (state.getClass() == ActorTimerParams.class) { // Special serializer for this internal classes. return serialize((ActorTimerParams) state); } if (state.getClass() == ActorReminderParams.class) { // Special serializer for this internal classes. return serialize((ActorReminderParams) state); } if (state.getClass() == ActorRuntimeConfig.class) { // Special serializer for this internal classes. return serialize((ActorRuntimeConfig) state); } // Is not an special case. return super.serialize(state); } /** * Faster serialization for params of Actor's timer. * * @param timer Timer's to be serialized. * @return JSON String. * @throws IOException If cannot generate JSON. */ private byte[] serialize(ActorTimerParams timer) throws IOException { if (timer == null) { return null; } try (ByteArrayOutputStream writer = new ByteArrayOutputStream()) { JsonGenerator generator = JSON_FACTORY.createGenerator(writer); generator.writeStartObject(); generator.writeStringField("dueTime", DurationUtils.convertDurationToDaprFormat(timer.getDueTime())); generator.writeStringField("period", DurationUtils.convertDurationToDaprFormat(timer.getPeriod())); generator.writeStringField("callback", timer.getCallback()); if (timer.getData() != null) { generator.writeBinaryField("data", timer.getData()); } generator.writeEndObject(); generator.close(); writer.flush(); return writer.toByteArray(); } } /** * Faster serialization for Actor's reminder. * * @param reminder Reminder to be serialized. * @return JSON String. * @throws IOException If cannot generate JSON. */ private byte[] serialize(ActorReminderParams reminder) throws IOException { try (ByteArrayOutputStream writer = new ByteArrayOutputStream()) { JsonGenerator generator = JSON_FACTORY.createGenerator(writer); generator.setCodec(OBJECT_MAPPER); generator.writeStartObject(); generator.writeStringField("dueTime", DurationUtils.convertDurationToDaprFormat(reminder.getDueTime())); generator.writeStringField("period", DurationUtils.convertDurationToDaprFormat(reminder.getPeriod())); if (reminder.getData() != null) { generator.writeBinaryField("data", reminder.getData()); } // serialize failure policy if (reminder.getFailurePolicy() != null) { generator.writeObjectField("failurePolicy", reminder.getFailurePolicy()); } generator.writeEndObject(); generator.close(); writer.flush(); return writer.toByteArray(); } } /** * Faster serialization for Actor's runtime configuration. * * @param config Configuration for Dapr's actor runtime. * @return JSON String. * @throws IOException If cannot generate JSON. */ private byte[] serialize(ActorRuntimeConfig config) throws IOException { try (ByteArrayOutputStream writer = new ByteArrayOutputStream()) { JsonGenerator generator = JSON_FACTORY.createGenerator(writer); generator.writeStartObject(); generator.writeArrayFieldStart("entities"); for (String actorClass : config.getRegisteredActorTypes()) { generator.writeString(actorClass); } generator.writeEndArray(); if (config.getActorIdleTimeout() != null) { generator.writeStringField("actorIdleTimeout", DurationUtils.convertDurationToDaprFormat(config.getActorIdleTimeout())); } if (config.getActorScanInterval() != null) { generator.writeStringField("actorScanInterval", DurationUtils.convertDurationToDaprFormat(config.getActorScanInterval())); } if (config.getDrainOngoingCallTimeout() != null) { generator.writeStringField("drainOngoingCallTimeout", DurationUtils.convertDurationToDaprFormat(config.getDrainOngoingCallTimeout())); } if (config.getDrainBalancedActors() != null) { generator.writeBooleanField("drainBalancedActors", config.getDrainBalancedActors()); } if (config.getRemindersStoragePartitions() != null) { generator.writeNumberField("remindersStoragePartitions", config.getRemindersStoragePartitions()); } if (!config.getActorTypeConfigs().isEmpty()) { generator.writeArrayFieldStart("entitiesConfig"); for (ActorTypeConfig actorTypeConfig : config.getActorTypeConfigs()) { generator.writeStartObject(); if (actorTypeConfig.getActorTypeName() != null) { generator.writeArrayFieldStart("entities"); generator.writeString(actorTypeConfig.getActorTypeName()); generator.writeEndArray(); } if (actorTypeConfig.getActorIdleTimeout() != null) { generator.writeStringField("actorIdleTimeout", DurationUtils.convertDurationToDaprFormat(actorTypeConfig.getActorIdleTimeout())); } if (actorTypeConfig.getActorScanInterval() != null) { generator.writeStringField("actorScanInterval", DurationUtils.convertDurationToDaprFormat(actorTypeConfig.getActorScanInterval())); } if (actorTypeConfig.getDrainOngoingCallTimeout() != null) { generator.writeStringField("drainOngoingCallTimeout", DurationUtils.convertDurationToDaprFormat(actorTypeConfig.getDrainOngoingCallTimeout())); } if (actorTypeConfig.getDrainBalancedActors() != null) { generator.writeBooleanField("drainBalancedActors", actorTypeConfig.getDrainBalancedActors()); } if (actorTypeConfig.getRemindersStoragePartitions() != null) { generator.writeNumberField("remindersStoragePartitions", actorTypeConfig.getRemindersStoragePartitions()); } generator.writeEndObject(); } generator.writeEndArray(); } generator.writeEndObject(); generator.close(); writer.flush(); return writer.toByteArray(); } } /** * {@inheritDoc} */ @Override public T deserialize(byte[] content, Class clazz) throws IOException { if (clazz == ActorTimerParams.class) { // Special serializer for this internal classes. return (T) deserializeActorTimer(content); } if (clazz == ActorReminderParams.class) { // Special serializer for this internal classes. return (T) deserializeActorReminder(content); } // Is not one of the special cases. return super.deserialize(content, clazz); } /** * Deserializes an Actor Timer. * * @param value Content to be deserialized. * @return Actor Timer. * @throws IOException If cannot parse JSON. */ private ActorTimerParams deserializeActorTimer(byte[] value) throws IOException { if (value == null) { return null; } JsonNode node = OBJECT_MAPPER.readTree(value); String callback = node.get("callback").asText(); Duration dueTime = extractDurationOrNull(node, "dueTime"); Duration period = extractDurationOrNull(node, "period"); byte[] data = node.get("data") != null ? node.get("data").binaryValue() : null; return new ActorTimerParams(callback, data, dueTime, period); } /** * Deserializes an Actor Reminder. * * @param value Content to be deserialized. * @return Actor Reminder. * @throws IOException If cannot parse JSON. */ private ActorReminderParams deserializeActorReminder(byte[] value) throws IOException { if (value == null) { return null; } JsonNode node = OBJECT_MAPPER.readTree(value); Duration dueTime = extractDurationOrNull(node, "dueTime"); Duration period = extractDurationOrNull(node, "period"); byte[] data = node.get("data") != null ? node.get("data").binaryValue() : null; // Handle failure policy if present JsonNode failurePolicyNode = node.get("failurePolicy"); FailurePolicy failurePolicy = null; if (failurePolicyNode != null) { failurePolicy = OBJECT_MAPPER.treeToValue(failurePolicyNode, FailurePolicy.class); } return new ActorReminderParams(data, dueTime, period, failurePolicy); } /** * Extracts duration or null. * * @param node Node that contains the attribute. * @param name Attribute name. * @return Parsed duration or null. */ private static Duration extractDurationOrNull(JsonNode node, String name) { JsonNode valueNode = node.get(name); if (valueNode == null) { return null; } return DurationUtils.convertDurationFromDaprFormat(valueNode.asText()); } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorReminderParams.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.client.domain.FailurePolicy; import java.time.Duration; /** * Parameters for Actor Reminder. */ final class ActorReminderParams { /** * Minimum duration for period. */ private static final Duration MIN_TIME_PERIOD = Duration.ofMillis(-1); /** * Data to be passed in as part of the reminder trigger. */ private final byte[] data; /** * Time the reminder is due for the 1st time. */ private final Duration dueTime; /** * Interval between triggers. */ private final Duration period; /** * Failure Policy. */ private FailurePolicy failurePolicy; /** * Instantiates a new instance for the params of a reminder. * * @param data Data to be passed in as part of the reminder trigger. * @param dueTime Time the reminder is due for the 1st time. * @param period Interval between triggers. */ ActorReminderParams(byte[] data, Duration dueTime, Duration period) { validateDueTime("DueTime", dueTime); validatePeriod("Period", period); this.data = data; this.dueTime = dueTime; this.period = period; } /** * Instantiates a new instance for the params of a reminder. * * @param data Data to be passed in as part of the reminder trigger. * @param dueTime Time the reminder is due for the 1st time. * @param period Interval between triggers. */ ActorReminderParams(byte[] data, Duration dueTime, Duration period, FailurePolicy failurePolicy) { this(data, dueTime, period); this.failurePolicy = failurePolicy; } /** * Gets the time the reminder is due for the 1st time. * * @return Time the reminder is due for the 1st time. */ Duration getDueTime() { return dueTime; } /** * Gets the interval between triggers. * * @return Interval between triggers. */ Duration getPeriod() { return period; } /** * Gets the data to be passed in as part of the reminder trigger. * * @return Data to be passed in as part of the reminder trigger. */ byte[] getData() { return data; } /** * Validates due time is valid, throws {@link IllegalArgumentException}. * * @param argName Name of the argument passed in. * @param value Vale being checked. */ private static void validateDueTime(String argName, Duration value) { if (value.compareTo(Duration.ZERO) < 0) { String message = String.format( "argName: %s - Duration toMillis() - specified value must be greater than %s", argName, Duration.ZERO); throw new IllegalArgumentException(message); } } /** * Validates reminder period is valid, throws {@link IllegalArgumentException}. * * @param argName Name of the argument passed in. * @param value Vale being checked. */ private static void validatePeriod(String argName, Duration value) throws IllegalArgumentException { if (value.compareTo(MIN_TIME_PERIOD) < 0) { String message = String.format( "argName: %s - Duration toMillis() - specified value must be greater than %s", argName, MIN_TIME_PERIOD); throw new IllegalArgumentException(message); } } /** * Gets the failure policy. * * @return the failure policy */ public FailurePolicy getFailurePolicy() { return failurePolicy; } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorRuntime.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.actors.ActorTrace; import io.dapr.config.Properties; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.NetworkUtils; import io.grpc.ManagedChannel; import reactor.core.publisher.Mono; import java.io.Closeable; import java.io.IOException; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; /** * Contains methods to register actor types. Registering the types allows the * runtime to create instances of the actor. */ public class ActorRuntime implements Closeable { /** * Serializer for internal Dapr objects. */ private static final ActorObjectSerializer INTERNAL_SERIALIZER = new ActorObjectSerializer(); /** * A trace type used when logging. */ private static final String TRACE_TYPE = "ActorRuntime"; /** * Tracing errors, warnings and info logs. */ private static final ActorTrace ACTOR_TRACE = new ActorTrace(); /** * Gets an instance to the ActorRuntime. There is only 1. */ private static volatile ActorRuntime instance; /** * Channel for communication with Dapr. */ private final ManagedChannel channel; /** * Configuration for the Actor runtime. */ private final ActorRuntimeConfig config; /** * A client used to communicate from the actor to the Dapr runtime. */ private final DaprClient daprClient; /** * Map of ActorType --> ActorManager. */ private final ConcurrentMap actorManagers; /** * The default constructor. This should not be called directly. * * @throws IllegalStateException If cannot instantiate Runtime. */ private ActorRuntime() throws IllegalStateException { this(new Properties()); } /** * The default constructor. This should not be called directly. * * @throws IllegalStateException If cannot instantiate Runtime. */ private ActorRuntime(Properties properties) throws IllegalStateException { this(NetworkUtils.buildGrpcManagedChannel(properties)); } /** * Constructor once channel is available. This should not be called directly. * * @param channel GRPC managed channel to be closed (or null). * @throws IllegalStateException If you cannot instantiate Runtime. */ private ActorRuntime(ManagedChannel channel) throws IllegalStateException { this(channel, new DaprClientImpl(channel)); } /** * Constructor with dependency injection, useful for testing. This should not be called directly. * * @param channel GRPC managed channel to be closed (or null). * @param daprClient Client to communicate with Dapr. * @throws IllegalStateException If class has one instance already. */ private ActorRuntime(ManagedChannel channel, DaprClient daprClient) throws IllegalStateException { if (instance != null) { throw new IllegalStateException("ActorRuntime should only be constructed once"); } this.config = new ActorRuntimeConfig(); this.actorManagers = new ConcurrentHashMap<>(); this.daprClient = daprClient; this.channel = channel; } /** * Returns an ActorRuntime object. * * @return An ActorRuntime object. */ public static ActorRuntime getInstance() { if (instance == null) { synchronized (ActorRuntime.class) { if (instance == null) { instance = new ActorRuntime(); } } } return instance; } /** * Returns an ActorRuntime object. * * @param properties Properties to be used for the runtime. * @return An ActorRuntime object. */ public static ActorRuntime getInstance(Properties properties) { if (instance == null) { synchronized (ActorRuntime.class) { if (instance == null) { instance = new ActorRuntime(properties); } } } return instance; } /** * Gets the Actor configuration for this runtime. * * @return Actor configuration. */ public ActorRuntimeConfig getConfig() { return this.config; } /** * Gets the Actor configuration for this runtime. * * @return Actor configuration serialized. * @throws IOException If cannot serialize config. */ public byte[] serializeConfig() throws IOException { return INTERNAL_SERIALIZER.serialize(this.config); } /** * Registers an actor with the runtime, using {@link DefaultObjectSerializer} and {@link DefaultActorFactory}. * {@link DefaultObjectSerializer} is not recommended for production scenarios. * * @param clazz The type of actor. * @param Actor class type. */ public void registerActor(Class clazz) { registerActor(clazz, new DefaultObjectSerializer(), new DefaultObjectSerializer()); } /** * Registers an actor with the runtime, using {@link DefaultObjectSerializer}. * {@link DefaultObjectSerializer} is not recommended for production scenarios. * * @param clazz The type of actor. * @param actorFactory An optional factory to create actors. This can be used for dependency injection. * @param Actor class type. */ public void registerActor(Class clazz, ActorFactory actorFactory) { registerActor(clazz, actorFactory, new DefaultObjectSerializer(), new DefaultObjectSerializer()); } /** * Registers an actor with the runtime. * * @param clazz The type of actor. * @param objectSerializer Serializer for Actor's request and response objects. * @param stateSerializer Serializer for Actor's state objects. * @param Actor class type. */ public void registerActor( Class clazz, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer) { registerActor(clazz, new DefaultActorFactory(), objectSerializer, stateSerializer); } /** * Registers an actor with the runtime. * * @param clazz The type of actor. * @param actorFactory An optional factory to create actors. This can be used for dependency injection. * @param objectSerializer Serializer for Actor's request and response objects. * @param stateSerializer Serializer for Actor's state objects. * @param Actor class type. */ public void registerActor( Class clazz, ActorFactory actorFactory, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer) { if (clazz == null) { throw new IllegalArgumentException("Class is required."); } if (actorFactory == null) { throw new IllegalArgumentException("Actor factory is required."); } if (objectSerializer == null) { throw new IllegalArgumentException("Object serializer is required."); } if (stateSerializer == null) { throw new IllegalArgumentException("State serializer is required."); } ActorTypeInformation actorTypeInfo = ActorTypeInformation.create(clazz); // Create ActorManager, if not yet registered. this.actorManagers.computeIfAbsent(actorTypeInfo.getName(), (k) -> { ActorRuntimeContext context = new ActorRuntimeContext<>( this, objectSerializer, actorFactory, actorTypeInfo, this.daprClient, new DaprStateAsyncProvider(this.daprClient, stateSerializer)); this.config.addRegisteredActorType(actorTypeInfo.getName()); return new ActorManager(context); }); } /** * Deactivates an actor for an actor type with given actor id. * * @param actorTypeName Actor type name to deactivate the actor for. * @param actorId Actor id for the actor to be deactivated. * @return Async void task. */ public Mono deactivate(String actorTypeName, String actorId) { return Mono.fromSupplier(() -> this.getActorManager(actorTypeName)) .flatMap(m -> m.deactivateActor(new ActorId(actorId))); } /** * Invokes the specified method for the actor, this is mainly used for cross * language invocation. * * @param actorTypeName Actor type name to invoke the method for. * @param actorId Actor id for the actor for which method will be invoked. * @param actorMethodName Method name on actor type which will be invoked. * @param payload RAW payload for the actor method. * @return Response for the actor method. */ public Mono invoke(String actorTypeName, String actorId, String actorMethodName, byte[] payload) { ActorId id = new ActorId(actorId); return Mono.fromSupplier(() -> this.getActorManager(actorTypeName)) .flatMap(m -> m.activateActor(id).thenReturn(m)) .flatMap(m -> ((ActorManager) m).invokeMethod(id, actorMethodName, payload)); } /** * Fires a reminder for the Actor. * * @param actorTypeName Actor type name to invoke the method for. * @param actorId Actor id for the actor for which method will be invoked. * @param reminderName The name of reminder provided during registration. * @param params Params for the reminder. * @return Async void task. */ public Mono invokeReminder(String actorTypeName, String actorId, String reminderName, byte[] params) { ActorId id = new ActorId(actorId); return Mono.fromSupplier(() -> this.getActorManager(actorTypeName)) .flatMap(m -> m.activateActor(id).thenReturn(m)) .flatMap(m -> ((ActorManager) m).invokeReminder(new ActorId(actorId), reminderName, params)); } /** * Fires a timer for the Actor. * * @param actorTypeName Actor type name to invoke the method for. * @param actorId Actor id for the actor for which method will be invoked. * @param timerName The name of timer provided during registration. * @param params Params to trigger timer. * @return Async void task. */ public Mono invokeTimer(String actorTypeName, String actorId, String timerName, byte[] params) { ActorId id = new ActorId(actorId); return Mono.fromSupplier(() -> this.getActorManager(actorTypeName)) .flatMap(m -> m.activateActor(id).thenReturn(m)) .flatMap(m -> ((ActorManager) m).invokeTimer(new ActorId(actorId), timerName, params)); } /** * Finds the actor manager or errors out. * * @param actorTypeName Actor type for the actor manager to be found. * @return Actor manager instance, never null. * @throws IllegalStateException if cannot find actor's manager. */ private ActorManager getActorManager(String actorTypeName) { ActorManager actorManager = this.actorManagers.get(actorTypeName); if (actorManager == null) { String errorMsg = String.format("Actor type %s is not registered with Actor runtime.", actorTypeName); ACTOR_TRACE.writeError(TRACE_TYPE, actorTypeName, "Actor type is not registered with runtime."); throw new IllegalArgumentException(errorMsg); } return actorManager; } /** * Build an instance of the Client based on the provided setup. * * @param channel GRPC managed channel. * @return an instance of the setup Client * @throws java.lang.IllegalStateException if any required field is missing */ private static DaprClient buildDaprClient(ManagedChannel channel) { return new DaprClientImpl(channel); } /** * {@inheritDoc} */ @Override public void close() { if (channel != null && !channel.isShutdown()) { channel.shutdown(); } } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorRuntimeConfig.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import java.time.Duration; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; /** * Represents the configuration for the Actor Runtime. */ public class ActorRuntimeConfig { private List registeredActorTypes = new CopyOnWriteArrayList<>(); private volatile Duration actorIdleTimeout; private volatile Duration actorScanInterval; private volatile Duration drainOngoingCallTimeout; private volatile Boolean drainBalancedActors; private volatile Integer remindersStoragePartitions; private volatile List actorTypeConfigs = new CopyOnWriteArrayList<>(); /** * Instantiates a new config for the Actor Runtime. */ ActorRuntimeConfig() { } /** * Adds a registered actor to the list of registered actors. * * @param actorTypeName Actor type that was registered. * @return This instance. */ ActorRuntimeConfig addRegisteredActorType(String actorTypeName) { if (actorTypeName == null) { throw new IllegalArgumentException("Registered actor must have a type name."); } this.registeredActorTypes.add(actorTypeName); return this; } /** * Gets the list of registered actor types. * * @return List of registered actor types. */ Collection getRegisteredActorTypes() { return Collections.unmodifiableCollection(registeredActorTypes); } /** * Gets the duration for Actors' timeout. * * @return Duration for Actors' timeout. */ public Duration getActorIdleTimeout() { return actorIdleTimeout; } /** * Sets the duration for Actors' timeout. * * @param actorIdleTimeout Duration for Actors' timeout. * @return This instance. */ public ActorRuntimeConfig setActorIdleTimeout(Duration actorIdleTimeout) { this.actorIdleTimeout = actorIdleTimeout; return this; } /** * Gets the duration to scan for Actors. * * @return The duration to scan for Actors. */ public Duration getActorScanInterval() { return actorScanInterval; } /** * Sets the duration to scan for Actors. * * @param actorScanInterval The duration to scan for Actors. * @return This instance. */ public ActorRuntimeConfig setActorScanInterval(Duration actorScanInterval) { this.actorScanInterval = actorScanInterval; return this; } /** * Gets the timeout to drain ongoing calls. * * @return The timeout to drain ongoing calls. */ public Duration getDrainOngoingCallTimeout() { return drainOngoingCallTimeout; } /** * Sets the timeout to drain ongoing calls. * * @param drainOngoingCallTimeout The timeout to drain ongoing calls. * @return This instance. */ public ActorRuntimeConfig setDrainOngoingCallTimeout(Duration drainOngoingCallTimeout) { this.drainOngoingCallTimeout = drainOngoingCallTimeout; return this; } /** * Gets whether balanced actors should be drained. * * @return Whether balanced actors should be drained. */ public Boolean getDrainBalancedActors() { return drainBalancedActors; } /** * Sets whether balanced actors should be drained. * * @param drainBalancedActors Whether balanced actors should be drained. * @return This instance. */ public ActorRuntimeConfig setDrainBalancedActors(Boolean drainBalancedActors) { this.drainBalancedActors = drainBalancedActors; return this; } /** * Gets the number of storage partitions for Actor reminders. * * @return The number of Actor reminder storage partitions. */ public Integer getRemindersStoragePartitions() { return remindersStoragePartitions; } /** * Sets the number of storage partitions for Actor reminders. * * @param remindersStoragePartitions The number of storage partitions for Actor reminders. * @return This instance. */ public ActorRuntimeConfig setRemindersStoragePartitions(Integer remindersStoragePartitions) { this.remindersStoragePartitions = remindersStoragePartitions; return this; } /** * Adds a actor type config to the list of actors type configs. * * @param actorTypeName Actor type that was registered. * @return This instance. */ ActorRuntimeConfig addActorTypeConfig(ActorTypeConfig config) { if (config == null) { throw new IllegalArgumentException("Add actor type config failed."); } this.actorTypeConfigs.add(config); return this; } /** * Gets the list of registered actor types. * * @return List of registered actor types. */ Collection getActorTypeConfigs() { return Collections.unmodifiableCollection(actorTypeConfigs); } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorRuntimeContext.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorTrace; import io.dapr.serializer.DaprObjectSerializer; /** * Provides the context for the Actor's runtime. * * @param Actor's type for the context. */ public class ActorRuntimeContext { /** * Runtime. */ private final ActorRuntime actorRuntime; /** * Serializer for transient objects. */ private final DaprObjectSerializer objectSerializer; /** * Actor factory. */ private final ActorFactory actorFactory; /** * Information of the Actor's type. */ private final ActorTypeInformation actorTypeInformation; /** * Trace for Actor logs. */ private final ActorTrace actorTrace; /** * Client to communicate to Dapr's API. */ private final DaprClient daprClient; /** * State provider for given Actor Type. */ private final DaprStateAsyncProvider stateProvider; /** * Instantiates a new runtime context for the Actor type. * * @param actorRuntime Runtime. * @param objectSerializer Serializer for transient objects. * @param actorFactory Factory for Actors. * @param actorTypeInformation Information for Actor's type. * @param daprClient Client to communicate to Dapr. * @param stateProvider State provider for given Actor's type. */ ActorRuntimeContext(ActorRuntime actorRuntime, DaprObjectSerializer objectSerializer, ActorFactory actorFactory, ActorTypeInformation actorTypeInformation, DaprClient daprClient, DaprStateAsyncProvider stateProvider) { this.actorRuntime = actorRuntime; this.objectSerializer = objectSerializer; this.actorFactory = actorFactory; this.actorTypeInformation = actorTypeInformation; this.actorTrace = new ActorTrace(); this.daprClient = daprClient; this.stateProvider = stateProvider; } /** * Gets the Actor's runtime. * * @return Actor's runtime. */ ActorRuntime getActorRuntime() { return this.actorRuntime; } /** * Gets the Actor's serializer for transient objects. * * @return Actor's serializer for transient objects. */ DaprObjectSerializer getObjectSerializer() { return this.objectSerializer; } /** * Gets the Actor's serializer. * * @return Actor's serializer. */ ActorFactory getActorFactory() { return this.actorFactory; } /** * Gets the information about the Actor's type. * * @return Information about the Actor's type. */ ActorTypeInformation getActorTypeInformation() { return this.actorTypeInformation; } /** * Gets the trace for Actor logs. * * @return Trace for Actor logs. */ ActorTrace getActorTrace() { return this.actorTrace; } /** * Gets the client to communicate to Dapr's API. * * @return Client to communicate to Dapr's API. */ DaprClient getDaprClient() { return this.daprClient; } /** * Gets the state provider for given Actor's type. * * @return State provider for given Actor's type. */ DaprStateAsyncProvider getStateProvider() { return stateProvider; } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorStateChange.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; /** * Represents a state change for an actor. */ public final class ActorStateChange { /** * Name of the state being changed. */ private final String stateName; /** * New value for the state being changed. */ private final Object value; /** * Type of change {@link ActorStateChangeKind}. */ private final ActorStateChangeKind changeKind; /** * Creates an actor state change. * * @param stateName Name of the state being changed. * @param value New value for the state being changed. * @param changeKind Kind of change. */ ActorStateChange(String stateName, Object value, ActorStateChangeKind changeKind) { this.stateName = stateName; this.value = value; this.changeKind = changeKind; } /** * Gets the name of the state being changed. * * @return Name of the state. */ String getStateName() { return stateName; } /** * Gets the new value of the state being changed. * * @return New value. */ Object getValue() { return value; } /** * Gets the kind of change. * * @return Kind of change. */ ActorStateChangeKind getChangeKind() { return changeKind; } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorStateChangeKind.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; /** * Represents an actor's state change. */ public enum ActorStateChangeKind { /** * No change in state. */ NONE(""), /** * State needs to be added. */ ADD("upsert"), /** * State needs to be updated. */ UPDATE("upsert"), /** * State needs to be removed. */ REMOVE("delete"); /** * Operation name in Dapr's state management. */ private final String daprStateChangeOperation; /** * Creates a kind of actor state change. * * @param daprStateChangeOperation Equivalent operation name Dapr's state management */ ActorStateChangeKind(String daprStateChangeOperation) { this.daprStateChangeOperation = daprStateChangeOperation; } /** * Gets equivalent operation name Dapr's state management. * * @return Equivalent operation name Dapr's state management */ String getDaprStateChangeOperation() { return daprStateChangeOperation; } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorStateManager.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.utils.TypeRef; import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.NoSuchElementException; import java.util.concurrent.ConcurrentHashMap; /** * Manages state changes of a given Actor instance. * All changes are cached in-memory until save() is called. */ public class ActorStateManager { /** * Provides states using a state store. */ private final DaprStateAsyncProvider stateProvider; /** * Name of the Actor's type. */ private final String actorTypeName; /** * Actor's identifier. */ private final ActorId actorId; /** * Cache of state changes in this Actor's instance. */ private final Map stateChangeTracker; /** * Instantiates a new state manager for the given Actor's instance. * * @param stateProvider State store provider. * @param actorTypeName Name of Actor's type. * @param actorId Actor's identifier. */ ActorStateManager(DaprStateAsyncProvider stateProvider, String actorTypeName, ActorId actorId) { this.stateProvider = stateProvider; this.actorTypeName = actorTypeName; this.actorId = actorId; this.stateChangeTracker = new ConcurrentHashMap<>(); } /** * Adds a given key/value to the Actor's state store's cache. * * @param stateName Name of the state being added. * @param value Value to be added. * @param Type of the object being added. * @return Asynchronous void operation. */ public Mono add(String stateName, T value) { return Mono.fromSupplier(() -> { if (stateName == null) { throw new IllegalArgumentException("State's name cannot be null."); } return null; }).then(this.stateProvider.contains(this.actorTypeName, this.actorId, stateName) .map(exists -> { if (this.stateChangeTracker.containsKey(stateName)) { StateChangeMetadata metadata = this.stateChangeTracker.get(stateName); if (metadata.kind == ActorStateChangeKind.REMOVE) { this.stateChangeTracker.put(stateName, new StateChangeMetadata(ActorStateChangeKind.UPDATE, value)); return true; } throw new IllegalStateException("Duplicate cached state: " + stateName); } if (exists) { throw new IllegalStateException("Duplicate state: " + stateName); } this.stateChangeTracker.put(stateName, new StateChangeMetadata(ActorStateChangeKind.ADD, value)); return true; })) .then(); } /** * Fetches the most recent value for the given state, including cached value. * * @param stateName Name of the state. * @param clazz Class type for the value being fetched. * @param Type being fetched. * @return Asynchronous response with fetched object. */ public Mono get(String stateName, Class clazz) { return this.get(stateName, TypeRef.get(clazz)); } /** * Fetches the most recent value for the given state, including cached value. * * @param stateName Name of the state. * @param type Class type for the value being fetched. * @param Type being fetched. * @return Asynchronous response with fetched object. */ public Mono get(String stateName, TypeRef type) { return Mono.fromSupplier(() -> { if (stateName == null) { throw new IllegalArgumentException("State's name cannot be null."); } if (this.stateChangeTracker.containsKey(stateName)) { StateChangeMetadata metadata = this.stateChangeTracker.get(stateName); if (metadata.kind == ActorStateChangeKind.REMOVE) { throw new NoSuchElementException("State is marked for removal: " + stateName); } return (T) metadata.value; } return (T) null; }).switchIfEmpty( this.stateProvider.load(this.actorTypeName, this.actorId, stateName, type) .switchIfEmpty(Mono.error(new NoSuchElementException("State not found: " + stateName))) .map(v -> { this.stateChangeTracker.put(stateName, new StateChangeMetadata(ActorStateChangeKind.NONE, v)); return (T) v; })); } /** * Updates a given key/value pair in the state store's cache. * * @param stateName Name of the state being updated. * @param value Value to be set for given state. * @param Type of the value being set. * @return Asynchronous void result. */ public Mono set(String stateName, T value) { return Mono.fromSupplier(() -> { if (stateName == null) { throw new IllegalArgumentException("State's name cannot be null."); } if (this.stateChangeTracker.containsKey(stateName)) { StateChangeMetadata metadata = this.stateChangeTracker.get(stateName); ActorStateChangeKind kind = metadata.kind; if ((kind == ActorStateChangeKind.NONE) || (kind == ActorStateChangeKind.REMOVE)) { kind = ActorStateChangeKind.UPDATE; } this.stateChangeTracker.put(stateName, new StateChangeMetadata(kind, value)); return true; } return false; }).filter(x -> x) .switchIfEmpty(this.stateProvider.contains(this.actorTypeName, this.actorId, stateName) .map(exists -> { this.stateChangeTracker.put(stateName, new StateChangeMetadata(exists ? ActorStateChangeKind.UPDATE : ActorStateChangeKind.ADD, value)); return exists; })) .then(); } /** * Removes a given state from state store's cache. * * @param stateName State being stored. * @return Asynchronous void result. */ public Mono remove(String stateName) { return Mono.fromSupplier(() -> { if (stateName == null) { throw new IllegalArgumentException("State's name cannot be null."); } if (this.stateChangeTracker.containsKey(stateName)) { StateChangeMetadata metadata = this.stateChangeTracker.get(stateName); if (metadata.kind == ActorStateChangeKind.REMOVE) { return true; } if (metadata.kind == ActorStateChangeKind.ADD) { this.stateChangeTracker.remove(stateName); return true; } this.stateChangeTracker.put(stateName, new StateChangeMetadata(ActorStateChangeKind.REMOVE, null)); return true; } return false; }) .filter(x -> x) .switchIfEmpty(this.stateProvider.contains(this.actorTypeName, this.actorId, stateName)) .filter(exists -> exists) .map(exists -> { this.stateChangeTracker.put(stateName, new StateChangeMetadata(ActorStateChangeKind.REMOVE, null)); return exists; }) .then(); } /** * Checks if a given state exists in state store or cache. * * @param stateName State being checked. * @return Asynchronous boolean result indicating whether state is present. */ public Mono contains(String stateName) { return Mono.fromSupplier(() -> { if (stateName == null) { throw new IllegalArgumentException("State's name cannot be null."); } return this.stateChangeTracker.get(stateName); } ).map(metadata -> { if (metadata.kind == ActorStateChangeKind.REMOVE) { return Boolean.FALSE; } return Boolean.TRUE; }).switchIfEmpty(this.stateProvider.contains(this.actorTypeName, this.actorId, stateName)); } /** * Saves all changes to state store. * * @return Asynchronous void result. */ public Mono save() { return Mono.fromSupplier(() -> { if (this.stateChangeTracker.isEmpty()) { return null; } List changes = new ArrayList<>(); for (Map.Entry tuple : this.stateChangeTracker.entrySet()) { if (tuple.getValue().kind == ActorStateChangeKind.NONE) { continue; } changes.add(new ActorStateChange(tuple.getKey(), tuple.getValue().value, tuple.getValue().kind)); } return changes.toArray(new ActorStateChange[0]); }).flatMap(changes -> this.stateProvider.apply(this.actorTypeName, this.actorId, changes)) .then(Mono.fromRunnable(() -> this.flush())); } /** * Clears all changes not yet saved to state store. */ public void clear() { this.stateChangeTracker.clear(); } /** * Commits the current cached values after successful save. */ private void flush() { for (Map.Entry tuple : this.stateChangeTracker.entrySet()) { String stateName = tuple.getKey(); if (tuple.getValue().kind == ActorStateChangeKind.REMOVE) { this.stateChangeTracker.remove(stateName); } else { StateChangeMetadata metadata = new StateChangeMetadata(ActorStateChangeKind.NONE, tuple.getValue().value); this.stateChangeTracker.put(stateName, metadata); } } } /** * Internal class to represent value and change kind. */ private static final class StateChangeMetadata { /** * Kind of change cached. */ private final ActorStateChangeKind kind; /** * Value cached. */ private final Object value; /** * Creates a new instance of the metadata on state change. * * @param kind Kind of change. * @param value Value to be set. */ private StateChangeMetadata(ActorStateChangeKind kind, Object value) { this.kind = kind; this.value = value; } } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorStateOperation.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; /** * Represents a state operation for actor. * */ final class ActorStateOperation { /** * Name of the operation. */ private String operationType; /** * Key for the state to be persisted. */ private String key; /** * Value of the state to be persisted. */ private Object value; /** * Instantiates a new Actor Timer. * * @param operationType Type of state operation. * @param key Key to be persisted. * @param value Value to be persisted. */ ActorStateOperation(String operationType, String key, Object value) { this.operationType = operationType; this.key = key; this.value = value; } /** * Gets the type of state operation. * * @return State operation. */ public String getOperationType() { return operationType; } /** * Gets the key to be persisted. * * @return Key to be persisted. */ public String getKey() { return key; } /** * Gets the value to be persisted. * * @return Value to be persisted. */ public Object getValue() { return value; } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorTimerParams.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import java.time.Duration; /** * Represents the timer set on an Actor, to be called once after due time and then every period. * */ final class ActorTimerParams { /** * Name of the method to be called for this timer. */ private String callback; /** * State to be sent in the timer. */ private byte[] data; /** * Due time for the timer's first trigger. */ private Duration dueTime; /** * Period at which the timer will be triggered. */ private Duration period; /** * Instantiates a new Actor Timer. * * @param callback The name of the method to be called for this timer. * @param data The state to be used by the callback method * @param dueTime The time when timer is first due. * @param period The periodic time when timer will be invoked. */ ActorTimerParams(String callback, byte[] data, Duration dueTime, Duration period) { this.callback = callback; this.data = data; this.dueTime = dueTime; this.period = period; } /** * Gets the name of the method for this Timer. * * @return The name of the method for this timer. */ public String getCallback() { return this.callback; } /** * Gets the time when timer is first due. * * @return Time as Duration when timer is first due. */ public Duration getDueTime() { return this.dueTime; } /** * Gets the periodic time when timer will be invoked. * * @return Periodic time as Duration when timer will be invoked. */ public Duration getPeriod() { return this.period; } /** * Gets state containing information to be used by the callback method, or null. * * @return State containing information to be used by the callback method, or null. */ public byte[] getData() { return this.data; } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorTypeConfig.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import java.time.Duration; /** * Represents the configuration for the Actor Type. */ public class ActorTypeConfig { private String actorTypeName; private volatile Duration actorIdleTimeout; private volatile Duration actorScanInterval; private volatile Duration drainOngoingCallTimeout; private volatile Boolean drainBalancedActors; private volatile Integer remindersStoragePartitions; /** * Instantiates a new config for the Actor Runtime. */ ActorTypeConfig() { } /** * Sets registered actors name. * * @param actorTypeName Actor type that was registered. * @return This instance. */ ActorTypeConfig setActorTypeName(String actorTypeName) { if (actorTypeName == null) { throw new IllegalArgumentException("Registered actor must have a type name."); } this.actorTypeName = actorTypeName; return this; } /** * Gets registered actor types name. * * @return Registered actor types name. */ String getActorTypeName() { return this.actorTypeName; } /** * Gets the duration for Actors' timeout. * * @return Duration for Actors' timeout. */ public Duration getActorIdleTimeout() { return this.actorIdleTimeout; } /** * Sets the duration for Actors' timeout. * * @param actorIdleTimeout Duration for Actors' timeout. * @return This instance. */ public ActorTypeConfig setActorIdleTimeout(Duration actorIdleTimeout) { this.actorIdleTimeout = actorIdleTimeout; return this; } /** * Gets the duration to scan for Actors. * * @return The duration to scan for Actors. */ public Duration getActorScanInterval() { return this.actorScanInterval; } /** * Sets the duration to scan for Actors. * * @param actorScanInterval The duration to scan for Actors. * @return This instance. */ public ActorTypeConfig setActorScanInterval(Duration actorScanInterval) { this.actorScanInterval = actorScanInterval; return this; } /** * Gets the timeout to drain ongoing calls. * * @return The timeout to drain ongoing calls. */ public Duration getDrainOngoingCallTimeout() { return this.drainOngoingCallTimeout; } /** * Sets the timeout to drain ongoing calls. * * @param drainOngoingCallTimeout The timeout to drain ongoing calls. * @return This instance. */ public ActorTypeConfig setDrainOngoingCallTimeout(Duration drainOngoingCallTimeout) { this.drainOngoingCallTimeout = drainOngoingCallTimeout; return this; } /** * Gets whether balanced actors should be drained. * * @return Whether balanced actors should be drained. */ public Boolean getDrainBalancedActors() { return this.drainBalancedActors; } /** * Sets whether balanced actors should be drained. * * @param drainBalancedActors Whether balanced actors should be drained. * @return This instance. */ public ActorTypeConfig setDrainBalancedActors(Boolean drainBalancedActors) { this.drainBalancedActors = drainBalancedActors; return this; } /** * Gets the number of storage partitions for Actor reminders. * * @return The number of Actor reminder storage partitions. */ public Integer getRemindersStoragePartitions() { return this.remindersStoragePartitions; } /** * Sets the number of storage partitions for Actor reminders. * * @param remindersStoragePartitions The number of storage partitions for Actor reminders. * @return This instance. */ public ActorTypeConfig setRemindersStoragePartitions(Integer remindersStoragePartitions) { this.remindersStoragePartitions = remindersStoragePartitions; return this; } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorTypeInformation.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorUtils; import java.lang.reflect.Modifier; import java.util.Arrays; import java.util.Collection; import java.util.Collections; /** * Contains the information about the class implementing an actor. */ final class ActorTypeInformation { /** * Actor type's name. */ private final String name; /** * Actor's implementation class. */ private final Class implementationClass; /** * Actor's immediate interfaces. */ private final Collection> interfaces; /** * Whether Actor type is abstract. */ private final boolean abstractClass; /** * Whether Actor type is remindable. */ private final boolean remindable; /** * Instantiates a new {@link ActorTypeInformation}. * * @param name Actor type's name. * @param implementationClass Actor's implementation class. * @param interfaces Actor's immediate interfaces. * @param abstractClass Whether Actor type is abstract. * @param remindable Whether Actor type is remindable. */ private ActorTypeInformation(String name, Class implementationClass, Collection> interfaces, boolean abstractClass, boolean remindable) { this.name = name; this.implementationClass = implementationClass; this.interfaces = interfaces; this.abstractClass = abstractClass; this.remindable = remindable; } /** * Returns the name of this ActorType. * * @return ActorType's name. */ public String getName() { return this.name; } /** * Gets the type of the class implementing the actor. * * @return The {@link Class} of implementing the actor. */ public Class getImplementationClass() { return this.implementationClass; } /** * Gets the actor interfaces that are implemented by actor class. * * @return Collection of actor interfaces. */ public Collection> getInterfaces() { return Collections.unmodifiableCollection(this.interfaces); } /** * Gets a value indicating whether the class implementing actor is abstract. * * @return true if the class implementing actor is abstract, otherwise false. */ public boolean isAbstractClass() { return this.abstractClass; } /** * Gets a value indicating whether the actor class implements * {@link Remindable}. * * @return true if the actor class implements {@link Remindable}. */ public boolean isRemindable() { return this.remindable; } /** * Creates the {@link ActorTypeInformation} from given Class. * * @param actorClass The type of class implementing the actor to create * ActorTypeInformation for. * @return ActorTypeInformation if successfully created for actorType or null. */ public static ActorTypeInformation tryCreate(Class actorClass) { try { return create(actorClass); } catch (IllegalArgumentException e) { return null; } } /** * Creates an {@link #ActorTypeInformation} from actorType. * * @param actorClass The class implementing the actor to create * ActorTypeInformation for. * @return {@link #ActorTypeInformation} created from actorType. */ public static ActorTypeInformation create(Class actorClass) { if (!ActorTypeUtilities.isActor(actorClass)) { throw new IllegalArgumentException( String.format( "The type '%s' is not an Actor. An actor class must inherit from '%s'.", actorClass == null ? "" : actorClass.getCanonicalName(), AbstractActor.class.getCanonicalName())); } // get all actor interfaces Class[] actorInterfaces = actorClass.getInterfaces(); boolean isAbstract = Modifier.isAbstract(actorClass.getModifiers()); boolean isRemindable = ActorTypeUtilities.isRemindableActor(actorClass); String typeName = ActorUtils.findActorTypeName(actorClass); return new ActorTypeInformation(typeName, actorClass, Arrays.asList(actorInterfaces), isAbstract, isRemindable); } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorTypeUtilities.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import java.util.Arrays; /** * Utility class to extract information on Actor type. */ final class ActorTypeUtilities { /** * Determines whether this is an Actor class. * * @param clazz Actor class candidate. * @return Whether this is an Actor class. */ public static boolean isActor(Class clazz) { if (clazz == null) { return false; } return AbstractActor.class.isAssignableFrom(clazz); } /** * Determines whether this is an remindable Actor. * * @param clazz Actor class. * @return Whether this is an remindable Actor. */ public static boolean isRemindableActor(Class clazz) { return (clazz != null) && isActor(clazz) && (Arrays.stream(clazz.getInterfaces()).filter(t -> t.equals(Remindable.class)).count() > 0); } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/DaprClient.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import reactor.core.publisher.Mono; import java.util.List; /** * Generic Client Adapter to be used regardless of the GRPC or the HTTP Client implementation required. */ interface DaprClient { /** * Gets a state from Dapr's Actor. * * @param actorType Type of actor. * @param actorId Actor Identifier. * @param keyName State name. * @return Asynchronous result with current state value. */ Mono getState(String actorType, String actorId, String keyName); /** * Saves state batch to Dapr. * * @param actorType Type of actor. * @param actorId Actor Identifier. * @param operations State transaction operations. * @return Asynchronous void result. */ Mono saveStateTransactionally(String actorType, String actorId, List operations); /** * Register a reminder. * * @param actorType Type of actor. * @param actorId Actor Identifier. * @param reminderName Name of reminder to be registered. * @param reminderParams Parameters for the reminder. * @return Asynchronous void result. */ Mono registerReminder( String actorType, String actorId, String reminderName, ActorReminderParams reminderParams); /** * Unregisters a reminder. * * @param actorType Type of actor. * @param actorId Actor Identifier. * @param reminderName Name of reminder to be unregistered. * @return Asynchronous void result. */ Mono unregisterReminder(String actorType, String actorId, String reminderName); /** * Register a timer. * * @param actorType Type of actor. * @param actorId Actor Identifier. * @param timerName Name of reminder to be registered. * @param timerParams Parameters for the timer. * @return Asynchronous void result. */ Mono registerTimer(String actorType, String actorId, String timerName, ActorTimerParams timerParams); /** * Unregisters a timer. * * @param actorType Type of actor. * @param actorId Actor Identifier. * @param timerName Name of timer to be unregistered. * @return Asynchronous void result. */ Mono unregisterTimer(String actorType, String actorId, String timerName); } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/DaprClientImpl.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.protobuf.Any; import com.google.protobuf.ByteString; import com.google.protobuf.Empty; import io.dapr.config.Properties; import io.dapr.exceptions.DaprException; import io.dapr.utils.DurationUtils; import io.dapr.v1.DaprActorsProtos; import io.dapr.v1.DaprGrpc; import io.grpc.ManagedChannel; import io.grpc.stub.StreamObserver; import reactor.core.publisher.Mono; import reactor.core.publisher.MonoSink; import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutionException; import static io.dapr.utils.FailurePolicyUtils.getJobFailurePolicy; /** * A DaprClient over HTTP for Actor's runtime. */ class DaprClientImpl implements DaprClient { /** * Use to handle internal serialization. */ private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); /** * Dapr's charset. */ private static final Charset CHARSET = Properties.STRING_CHARSET.get(); /** * The GRPC client to be used. * * @see io.dapr.v1.DaprGrpc.DaprStub */ private DaprGrpc.DaprStub client; /** * Internal constructor. * * @param channel channel (client needs to close channel after use). */ DaprClientImpl(ManagedChannel channel) { this(DaprGrpc.newStub(channel)); } /** * Internal constructor. * * @param daprStubClient Dapr's GRPC client. */ DaprClientImpl(DaprGrpc.DaprStub daprStubClient) { this.client = daprStubClient; } /** * {@inheritDoc} */ @Override public Mono getState(String actorType, String actorId, String keyName) { DaprActorsProtos.GetActorStateRequest req = DaprActorsProtos.GetActorStateRequest.newBuilder() .setActorType(actorType) .setActorId(actorId) .setKey(keyName) .build(); return Mono.create(it -> client.getActorState(req, createStreamObserver(it))).map(r -> r.getData().toByteArray()); } /** * {@inheritDoc} */ @Override public Mono saveStateTransactionally( String actorType, String actorId, List operations) { List grpcOps = new ArrayList<>(); for (ActorStateOperation op : operations) { String operationType = op.getOperationType(); String key = op.getKey(); Object value = op.getValue(); DaprActorsProtos.TransactionalActorStateOperation.Builder opBuilder = DaprActorsProtos.TransactionalActorStateOperation.newBuilder() .setOperationType(operationType) .setKey(key); if (value != null) { if (value instanceof String) { opBuilder.setValue(Any.newBuilder().setValue(ByteString.copyFrom((String) value, CHARSET))); } else if (value instanceof byte[]) { try { String base64 = OBJECT_MAPPER.writeValueAsString(value); opBuilder.setValue(Any.newBuilder().setValue(ByteString.copyFrom(base64, CHARSET))); } catch (IOException e) { return Mono.error(e); } } else { return Mono.error(() -> { throw new IllegalArgumentException("Actor state value must be String or byte[]"); }); } } grpcOps.add(opBuilder.build()); } DaprActorsProtos.ExecuteActorStateTransactionRequest req = DaprActorsProtos.ExecuteActorStateTransactionRequest.newBuilder() .setActorType(actorType) .setActorId(actorId) .addAllOperations(grpcOps) .build(); return Mono.create(it -> client.executeActorStateTransaction(req, createStreamObserver(it))).then(); } /** * {@inheritDoc} */ @Override public Mono registerReminder( String actorType, String actorId, String reminderName, ActorReminderParams reminderParams) { var builder = DaprActorsProtos.RegisterActorReminderRequest.newBuilder() .setActorType(actorType) .setActorId(actorId) .setName(reminderName) .setData(ByteString.copyFrom(reminderParams.getData())) .setDueTime(DurationUtils.convertDurationToDaprFormat(reminderParams.getDueTime())) .setPeriod(DurationUtils.convertDurationToDaprFormat(reminderParams.getPeriod())); if (reminderParams.getFailurePolicy() != null) { builder.setFailurePolicy(getJobFailurePolicy(reminderParams.getFailurePolicy())); } DaprActorsProtos.RegisterActorReminderRequest req = builder.build(); return Mono.create(it -> client.registerActorReminder(req, createStreamObserver(it))).then().then(); } /** * {@inheritDoc} */ @Override public Mono unregisterReminder(String actorType, String actorId, String reminderName) { DaprActorsProtos.UnregisterActorReminderRequest req = DaprActorsProtos.UnregisterActorReminderRequest.newBuilder() .setActorType(actorType) .setActorId(actorId) .setName(reminderName) .build(); return Mono.create(it -> client.unregisterActorReminder(req, createStreamObserver(it))).then().then(); } /** * {@inheritDoc} */ @Override public Mono registerTimer( String actorType, String actorId, String timerName, ActorTimerParams timerParams) { DaprActorsProtos.RegisterActorTimerRequest req = DaprActorsProtos.RegisterActorTimerRequest.newBuilder() .setActorType(actorType) .setActorId(actorId) .setName(timerName) .setCallback(timerParams.getCallback()) .setData(ByteString.copyFrom(timerParams.getData())) .setDueTime(DurationUtils.convertDurationToDaprFormat(timerParams.getDueTime())) .setPeriod(DurationUtils.convertDurationToDaprFormat(timerParams.getPeriod())) .build(); return Mono.create(it -> client.registerActorTimer(req, createStreamObserver(it))).then().then(); } /** * {@inheritDoc} */ @Override public Mono unregisterTimer(String actorType, String actorId, String timerName) { DaprActorsProtos.UnregisterActorTimerRequest req = DaprActorsProtos.UnregisterActorTimerRequest.newBuilder() .setActorType(actorType) .setActorId(actorId) .setName(timerName) .build(); return Mono.create(it -> client.unregisterActorTimer(req, createStreamObserver(it))).then().then(); } private StreamObserver createStreamObserver(MonoSink sink) { return new StreamObserver() { @Override public void onNext(T value) { sink.success(value); } @Override public void onError(Throwable t) { sink.error(DaprException.propagate(new ExecutionException(t))); } @Override public void onCompleted() { sink.success(); } }; } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/DaprStateAsyncProvider.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.actors.ActorId; import io.dapr.config.Properties; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.TypeRef; import reactor.core.publisher.Mono; import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; /** * State Provider to interact with Dapr runtime to handle state. */ class DaprStateAsyncProvider { /** * Dapr's charset. */ private static final Charset CHARSET = Properties.STRING_CHARSET.get(); /** * Handles special serialization cases. */ private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); /** * Dapr's client for Actor runtime. */ private final DaprClient daprClient; /** * Serializer for state objects. */ private final DaprObjectSerializer stateSerializer; /** * Flag determining if state serializer is the default serializer instead of user provided. */ private final boolean isStateSerializerDefault; /** * Instantiates a new Actor's state provider. * * @param daprClient Dapr client for Actor runtime. * @param stateSerializer Serializer for state objects. */ DaprStateAsyncProvider(DaprClient daprClient, DaprObjectSerializer stateSerializer) { this.daprClient = daprClient; this.stateSerializer = stateSerializer; this.isStateSerializerDefault = stateSerializer.getClass() == DefaultObjectSerializer.class; } Mono load(String actorType, ActorId actorId, String stateName, TypeRef type) { Mono result = this.daprClient.getState(actorType, actorId.toString(), stateName); return result.flatMap(s -> { try { if (s == null) { return Mono.empty(); } T response = this.stateSerializer.deserialize(s, type); if (this.isStateSerializerDefault && (response instanceof byte[])) { if (s.length == 0) { return Mono.empty(); } // Default serializer just passes through byte arrays, so we need to decode it here. response = (T) OBJECT_MAPPER.readValue(s, byte[].class); } if (response == null) { return Mono.empty(); } return Mono.just(response); } catch (IOException e) { return Mono.error(new RuntimeException(e)); } }); } Mono contains(String actorType, ActorId actorId, String stateName) { Mono result = this.daprClient.getState(actorType, actorId.toString(), stateName); return result.map(s -> s.length > 0).defaultIfEmpty(false); } /** * Saves state changes transactionally. * [ * { * "operation": "upsert", * "request": { * "key": "key1", * "value": "myData" * } * }, * { * "operation": "delete", * "request": { * "key": "key2" * } * } * ] * * @param actorType Name of the actor being changed. * @param actorId Identifier of the actor being changed. * @param stateChanges Collection of changes to be performed transactionally. * @return Void. */ Mono apply(String actorType, ActorId actorId, ActorStateChange... stateChanges) { if ((stateChanges == null) || stateChanges.length == 0) { return Mono.empty(); } ArrayList operations = new ArrayList<>(stateChanges.length); for (ActorStateChange stateChange : stateChanges) { if ((stateChange == null) || (stateChange.getChangeKind() == null)) { continue; } String operationName = stateChange.getChangeKind().getDaprStateChangeOperation(); if ((operationName == null) || (operationName.length() == 0)) { continue; } String key = stateChange.getStateName(); Object value = null; if ((stateChange.getChangeKind() == ActorStateChangeKind.UPDATE) || (stateChange.getChangeKind() == ActorStateChangeKind.ADD)) { try { byte[] data = this.stateSerializer.serialize(stateChange.getValue()); if (data != null) { if (this.isStateSerializerDefault && !(stateChange.getValue() instanceof byte[])) { // DefaultObjectSerializer is a JSON serializer, so we just pass it on. value = new String(data, CHARSET); } else { // Custom serializer uses byte[]. // DefaultObjectSerializer is just a passthrough for byte[], so we handle it here too. value = data; } } } catch (IOException e) { return Mono.error(e); } } operations.add(new ActorStateOperation(operationName, key, value)); } return this.daprClient.saveStateTransactionally(actorType, actorId.toString(), operations); } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/DefaultActorFactory.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.actors.ActorTrace; import java.lang.reflect.Constructor; /** * Instantiates actors by calling their constructor with {@link ActorRuntimeContext} and {@link ActorId}. * * @param Actor Type to be created. */ class DefaultActorFactory implements ActorFactory { /** * Tracing errors, warnings and info logs. */ private static final ActorTrace ACTOR_TRACE = new ActorTrace(); /** * {@inheritDoc} */ @Override public T createActor(ActorRuntimeContext actorRuntimeContext, ActorId actorId) { try { if (actorRuntimeContext == null) { return null; } Constructor constructor = actorRuntimeContext .getActorTypeInformation() .getImplementationClass() .getConstructor(ActorRuntimeContext.class, ActorId.class); return constructor.newInstance(actorRuntimeContext, actorId); } catch (RuntimeException e) { throw e; } catch (Exception e) { ACTOR_TRACE.writeError( actorRuntimeContext.getActorTypeInformation().getName(), actorId.toString(), "Failed to create actor instance."); throw new RuntimeException(e); } } } ================================================ FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/Remindable.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.utils.TypeRef; import reactor.core.publisher.Mono; import java.time.Duration; /** * Interface that actors must implement to consume reminders registered using RegisterReminderAsync. */ public interface Remindable { /** * Gets the type for state object. * * @return Class for state object. */ TypeRef getStateType(); /** * The reminder call back invoked when an actor reminder is triggered. * The state of this actor is saved by the actor runtime upon completion of the task returned by this method. * If an error occurs while saving the state, then all state cached by this actor's {@link ActorStateManager} will * be discarded and reloaded from previously saved state when the next actor method or reminder invocation occurs. * * @param reminderName The name of reminder provided during registration. * @param state The user state provided during registration. * @param dueTime The invocation due time provided during registration. * @param period The invocation period provided during registration. * @return A task that represents the asynchronous operation performed by this callback. */ Mono receiveReminder(String reminderName, T state, Duration dueTime, Duration period); } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/ActorIdTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; /** * Unit tests for ActorId. */ public class ActorIdTest { @Test public void initializeNewActorIdObjectWithNullId() { assertThrows(IllegalArgumentException.class, () ->{ActorId actorId = new ActorId(null);}); } @Test public void getId() { String id = "123"; ActorId actorId = new ActorId(id); assertEquals(id, actorId.toString()); } @Test public void verifyToString() { String id = "123"; ActorId actorId = new ActorId(id); assertEquals(id, actorId.toString()); } @Test public void verifyEqualsByObject() { List values = createEqualsTestValues(); for (Wrapper w : values) { assertEquals(w.expectedResult, w.item1.equals(w.item2)); } } @Test public void verifyEqualsByActorId() { List values = createEqualsTestValues(); for (Wrapper w : values) { ActorId a1 = (ActorId) w.item1; Object a2 = w.item2; assertEquals(w.expectedResult, a1.equals(a2)); } } @Test public void verifyCompareTo() { List values = createComparesToTestValues(); for (Wrapper w : values) { ActorId a1 = (ActorId) w.item1; ActorId a2 = (ActorId) w.item2; assertEquals(w.expectedResult, a1.compareTo(a2)); } } private List createEqualsTestValues() { List list = new ArrayList(); list.add(new Wrapper(new ActorId("1"), null, false)); list.add(new Wrapper(new ActorId("1"), new ActorId("1"), true)); list.add(new Wrapper(new ActorId("1"), new Object(), false)); list.add(new Wrapper(new ActorId("1"), new ActorId("2"), false)); return list; } private List createComparesToTestValues() { List list = new ArrayList(); list.add(new Wrapper(new ActorId("1"), null, 1)); list.add(new Wrapper(new ActorId("1"), new ActorId("1"), 0)); list.add(new Wrapper(new ActorId("1"), new ActorId("2"), -1)); list.add(new Wrapper(new ActorId("2"), new ActorId("1"), 1)); return list; } class Wrapper { public Object item1; public Object item2; public T expectedResult; public Wrapper(Object i, Object j, T e) { this.item1 = i; this.item2 = j; this.expectedResult = e; } } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/TestUtils.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors; import io.dapr.exceptions.DaprException; import org.apache.commons.validator.routines.InetAddressValidator; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.function.Executable; public final class TestUtils { private TestUtils() {} public static void assertThrowsDaprException(Class expectedType, Executable executable) { Throwable cause = Assertions.assertThrows(DaprException.class, executable).getCause(); Assertions.assertNotNull(cause); Assertions.assertEquals(expectedType, cause.getClass()); } public static void assertThrowsDaprException(String expectedErrorCode, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertNull(daprException.getCause()); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); } public static void assertThrowsDaprException( String expectedErrorCode, String expectedErrorMessage, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertNull(daprException.getCause()); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); Assertions.assertEquals(expectedErrorMessage, daprException.getMessage()); } public static void assertThrowsDaprException( Class expectedType, String expectedErrorCode, String expectedErrorMessage, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertNotNull(daprException.getCause()); Assertions.assertEquals(expectedType, daprException.getCause().getClass()); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); Assertions.assertEquals(expectedErrorMessage, daprException.getMessage()); } public static String formatIpAddress(final String ipAddress) { String formattedIpAddress = ipAddress; if(InetAddressValidator.getInstance().isValidInet6Address(ipAddress)) { formattedIpAddress = "[" + ipAddress + "]"; // per URL spec https://url.spec.whatwg.org/#host-writing } return formattedIpAddress; } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/client/ActorProxyBuilderTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.client; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertThrows; public class ActorProxyBuilderTest { private static ActorClient actorClient; @BeforeAll public static void initClass() { actorClient = new ActorClient(); } @AfterAll public static void tearDownClass() { actorClient.close(); } @Test public void buildWithNullActorId() { assertThrows(IllegalArgumentException.class, () -> new ActorProxyBuilder("test", Object.class, actorClient) .build(null)); } @Test public void buildWithEmptyActorType() { assertThrows(IllegalArgumentException.class, () -> new ActorProxyBuilder("", Object.class, actorClient)); } @Test public void buildWithNullActorType() { assertThrows(IllegalArgumentException.class, () -> new ActorProxyBuilder(null, Object.class, actorClient)); } @Test public void buildWithNullSerializer() { assertThrows(IllegalArgumentException.class, () -> new ActorProxyBuilder("MyActor", Object.class, actorClient) .withObjectSerializer(null) .build(new ActorId("100"))); } @Test public void buildWithNullClient() { assertThrows(IllegalArgumentException.class, () -> new ActorProxyBuilder("MyActor", Object.class, null)); } @Test() public void build() { ActorProxyBuilder builder = new ActorProxyBuilder("test", ActorProxy.class, actorClient); ActorProxy actorProxy = builder.build(new ActorId("100")); Assertions.assertNotNull(actorProxy); Assertions.assertEquals("test", actorProxy.getActorType()); Assertions.assertEquals("100", actorProxy.getActorId().toString()); } @Test() public void buildWithType() { ActorProxyBuilder builder = new ActorProxyBuilder(MyActor.class, actorClient); MyActor actorProxy = builder.build(new ActorId("100")); Assertions.assertNotNull(actorProxy); } @Test() public void buildWithTypeDefaultName() { ActorProxyBuilder builder = new ActorProxyBuilder(ActorWithDefaultName.class, actorClient); ActorWithDefaultName actorProxy = builder.build(new ActorId("100")); Assertions.assertNotNull(actorProxy); } @ActorType(name = "MyActor") public interface MyActor { } public interface ActorWithDefaultName { } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/client/ActorProxyImplForTests.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.client; import io.dapr.actors.ActorId; import io.dapr.serializer.DaprObjectSerializer; public class ActorProxyImplForTests extends ActorProxyImpl { public ActorProxyImplForTests(String actorType, ActorId actorId, DaprObjectSerializer serializer, ActorClient actorClient) { super(actorType, actorId, serializer, actorClient); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/client/ActorProxyImplTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.client; import io.dapr.actors.ActorId; import io.dapr.actors.ActorMethod; import io.dapr.exceptions.DaprException; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.mockito.Mockito; import reactor.core.publisher.Mono; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class ActorProxyImplTest { @Test() public void constructorActorProxyTest() { final ActorClient daprClient = mock(ActorClient.class); final DaprObjectSerializer serializer = mock(DaprObjectSerializer.class); final ActorProxyImpl actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), serializer, daprClient); Assertions.assertEquals(actorProxy.getActorId().toString(), "100"); Assertions.assertEquals(actorProxy.getActorType(), "myActorType"); } @Test() public void invokeActorMethodWithoutDataWithReturnType() { final ActorClient daprClient = mock(ActorClient.class); Mono daprResponse = Mono.just( "{\n\t\t\"propertyA\": \"valueA\",\n\t\t\"propertyB\": \"valueB\"\n\t}".getBytes()); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNull())) .thenReturn(daprResponse); final ActorProxy actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); Mono result = actorProxy.invokeMethod("getData", MyData.class); MyData myData = result.block(); Assertions.assertNotNull(myData); Assertions.assertEquals("valueA", myData.getPropertyA()); Assertions.assertEquals("valueB", myData.getPropertyB());// propertyB=null } @Test() public void invokeActorMethodWithoutDataWithReturnTypeViaReflection() throws NoSuchMethodException { final ActorClient daprClient = mock(ActorClient.class); Mono daprResponse = Mono.just( "{\n\t\t\"propertyA\": \"valueA\",\n\t\t\"propertyB\": \"valueB\"\n\t}".getBytes()); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNull())) .thenReturn(daprResponse); final ActorProxyImpl actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); MyData myData = (MyData) actorProxy.invoke(actorProxy, Actor.class.getMethod("getData"), null); Assertions.assertNotNull(myData); Assertions.assertEquals("valueA", myData.getPropertyA()); Assertions.assertEquals("valueB", myData.getPropertyB());// propertyB=null } @Test() public void invokeActorMethodWithoutDataWithReturnMonoTypeViaReflection() throws NoSuchMethodException { final ActorClient daprClient = mock(ActorClient.class); Mono daprResponse = Mono.just( "{\n\t\t\"propertyA\": \"valueA\",\n\t\t\"propertyB\": \"valueB\"\n\t}".getBytes()); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNull())) .thenReturn(daprResponse); final ActorProxyImpl actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); Mono res = (Mono) actorProxy.invoke(actorProxy, Actor.class.getMethod("getDataMono"), null); Assertions.assertNotNull(res); MyData myData = res.block(); Assertions.assertNotNull(myData); Assertions.assertEquals("valueA", myData.getPropertyA()); Assertions.assertEquals("valueB", myData.getPropertyB());// propertyB=null } @Test() public void invokeActorMethodWithDataWithReturnTypeViaReflection() throws NoSuchMethodException { final ActorClient daprClient = mock(ActorClient.class); Mono daprResponse = Mono.just( "\"OK\"".getBytes()); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.eq("\"hello world\"".getBytes()))) .thenReturn(daprResponse); final ActorProxyImpl actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); String res = (String) actorProxy.invoke( actorProxy, Actor.class.getMethod("echo", String.class), new Object[] { "hello world" } ); Assertions.assertEquals("OK", res); } @Test() public void invokeActorMethodWithDataWithReturnMonoTypeViaReflection() throws NoSuchMethodException { final ActorClient daprClient = mock(ActorClient.class); Mono daprResponse = Mono.just( "\"OK\"".getBytes()); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.eq("\"hello world\"".getBytes()))) .thenReturn(daprResponse); final ActorProxyImpl actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); Mono res = (Mono) actorProxy.invoke( actorProxy, Actor.class.getMethod("echoMono", String.class), new Object[] { "hello world" } ); Assertions.assertNotNull(res); Assertions.assertEquals("OK", res.block()); } @Test() public void invokeActorMethodWithoutDataWithoutReturnTypeViaReflection() throws NoSuchMethodException { final ActorClient daprClient = mock(ActorClient.class); Mono daprResponse = Mono.empty(); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNull())) .thenReturn(daprResponse); final ActorProxyImpl actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); Object myData = actorProxy.invoke(actorProxy, Actor.class.getMethod("doSomething"), null); Assertions.assertNull(myData); } @Test() public void invokeActorMethodWithoutDataWithoutReturnTypeMonoViaReflection() throws NoSuchMethodException { final ActorClient daprClient = mock(ActorClient.class); Mono daprResponse = Mono.empty(); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNull())) .thenReturn(daprResponse); final ActorProxyImpl actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); Mono myData = (Mono)actorProxy.invoke(actorProxy, Actor.class.getMethod("doSomethingMono"), null); Assertions.assertNotNull(myData); Assertions.assertNull(myData.block()); } @Test() public void invokeActorMethodWithDataWithoutReturnTypeMonoViaReflection() throws NoSuchMethodException { final ActorClient daprClient = mock(ActorClient.class); Mono daprResponse = Mono.empty(); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.eq("\"hello world\"".getBytes()))) .thenReturn(daprResponse); final ActorProxyImpl actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); Mono myData = (Mono)actorProxy.invoke( actorProxy, Actor.class.getMethod("doSomethingMonoWithArg", String.class), new Object[] { "hello world" }); Assertions.assertNotNull(myData); Assertions.assertNull(myData.block()); } @Test public void invokeActorMethodWithTooManyArgsViaReflection() throws NoSuchMethodException { final ActorClient daprClient = mock(ActorClient.class); final ActorProxyImpl actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); assertThrows(UnsupportedOperationException.class, () -> actorProxy.invoke( actorProxy, Actor.class.getMethod("tooManyArgs", String.class, String.class), new Object[] { "hello", "world" })); } @Test() public void invokeActorMethodWithDataWithoutReturnTypeViaReflection() throws NoSuchMethodException { final ActorClient daprClient = mock(ActorClient.class); Mono daprResponse = Mono.empty(); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.eq("\"hello world\"".getBytes()))) .thenReturn(daprResponse); final ActorProxyImpl actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); Object res = actorProxy.invoke( actorProxy, Actor.class.getMethod("process", String.class), new Object[] { "hello world" } ); Assertions.assertNull(res); } @Test() public void invokeActorMethodWithoutDataWithEmptyReturnType() { final ActorClient daprClient = mock(ActorClient.class); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNull())) .thenReturn(Mono.just("".getBytes())); final ActorProxy actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); Mono result = actorProxy.invokeMethod("getData", MyData.class); MyData myData = result.block(); Assertions.assertNull(myData); } @Test public void invokeActorMethodWithIncorrectReturnType() { final ActorClient daprClient = mock(ActorClient.class); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNull())) .thenReturn(Mono.just("{test}".getBytes())); final ActorProxy actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); Mono result = actorProxy.invokeMethod("getData", MyData.class); assertThrows(DaprException.class, () ->result.block()); } @Test() public void invokeActorMethodSavingDataWithReturnType() { final ActorClient daprClient = mock(ActorClient.class); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNotNull())) .thenReturn( Mono.just("{\n\t\t\"propertyA\": \"valueA\",\n\t\t\"propertyB\": \"valueB\"\n\t}".getBytes())); final ActorProxy actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); MyData saveData = new MyData(); saveData.setPropertyA("valueA"); saveData.setPropertyB("valueB"); Mono result = actorProxy.invokeMethod("getData", saveData, MyData.class); MyData myData = result.block(); Assertions.assertNotNull(myData); Assertions.assertEquals("valueA", myData.getPropertyA()); Assertions.assertEquals("valueB", myData.getPropertyB());//propertyB=null } @Test public void invokeActorMethodSavingDataWithIncorrectReturnType() { final ActorClient daprClient = mock(ActorClient.class); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNotNull())) .thenReturn(Mono.just("{test}".getBytes())); final ActorProxy actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); MyData saveData = new MyData(); saveData.setPropertyA("valueA"); saveData.setPropertyB("valueB"); Mono result = actorProxy.invokeMethod("getData", saveData, MyData.class); assertThrows(DaprException.class, () ->result.block()); } @Test() public void invokeActorMethodSavingDataWithEmptyReturnType() { final ActorClient daprClient = mock(ActorClient.class); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNotNull())) .thenReturn(Mono.just("".getBytes())); final ActorProxy actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); MyData saveData = new MyData(); saveData.setPropertyA("valueA"); saveData.setPropertyB("valueB"); Mono result = actorProxy.invokeMethod("getData", saveData, MyData.class); MyData myData = result.block(); Assertions.assertNull(myData); } @Test public void invokeActorMethodSavingDataWithIncorrectInputType() { final ActorClient daprClient = mock(ActorClient.class); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNotNull())) .thenReturn(Mono.just("{test}".getBytes())); final ActorProxy actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); MyData saveData = new MyData(); saveData.setPropertyA("valueA"); saveData.setPropertyB("valueB"); saveData.setMyData(saveData); assertThrows(DaprException.class, () -> actorProxy.invokeMethod("getData", saveData, MyData.class)); } @Test() public void invokeActorMethodWithDataWithVoidReturnType() { MyData saveData = new MyData(); saveData.setPropertyA("valueA"); saveData.setPropertyB("valueB"); final ActorClient daprClient = mock(ActorClient.class); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNotNull())) .thenReturn(Mono.empty()); final ActorProxy actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); Mono result = actorProxy.invokeMethod("getData", saveData); Void emptyResponse = result.block(); Assertions.assertNull(emptyResponse); } @Test public void invokeActorMethodWithDataWithVoidIncorrectInputType() { MyData saveData = new MyData(); saveData.setPropertyA("valueA"); saveData.setPropertyB("valueB"); saveData.setMyData(saveData); final ActorClient daprClient = mock(ActorClient.class); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNotNull())) .thenReturn(Mono.empty()); final ActorProxy actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); assertThrows(DaprException.class, () -> actorProxy.invokeMethod("getData", saveData)); } @Test() public void invokeActorMethodWithoutDataWithVoidReturnType() { final ActorClient daprClient = mock(ActorClient.class); when(daprClient.invoke(anyString(), anyString(), anyString(), Mockito.isNull())) .thenReturn(Mono.empty()); final ActorProxy actorProxy = new ActorProxyImpl( "myActorType", new ActorId("100"), new DefaultObjectSerializer(), daprClient); Mono result = actorProxy.invokeMethod("getData"); Void emptyResponse = result.block(); Assertions.assertNull(emptyResponse); } interface Actor { MyData getData(); String echo(String message); @ActorMethod(returns = MyData.class) Mono getDataMono(); @ActorMethod(returns = String.class) Mono echoMono(String message); void doSomething(); Mono doSomethingMono(); void process(String something); Mono doSomethingMonoWithArg(String something); void tooManyArgs(String something, String something2); } static class MyData { /// Gets or sets the value for PropertyA. private String propertyA; /// Gets or sets the value for PropertyB. private String propertyB; private MyData myData; public String getPropertyB() { return propertyB; } public void setPropertyB(String propertyB) { this.propertyB = propertyB; } public String getPropertyA() { return propertyA; } public void setPropertyA(String propertyA) { this.propertyA = propertyA; } @Override public String toString() { return "MyData{" + "propertyA='" + propertyA + '\'' + ", propertyB='" + propertyB + '\'' + '}'; } public MyData getMyData() { return myData; } public void setMyData(MyData myData) { this.myData = myData; } } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/client/DaprClientStub.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.client; import reactor.core.publisher.Mono; public class DaprClientStub extends ActorClient implements DaprClient { @Override public Mono invoke(String actorType, String actorId, String methodName, byte[] jsonPayload) { return Mono.just(new byte[0]); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/client/DaprGrpcClientTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.client; import com.google.protobuf.ByteString; import io.dapr.v1.DaprActorsProtos; import io.dapr.v1.DaprGrpc; import io.grpc.ManagedChannel; import io.grpc.Status; import io.grpc.StatusException; import io.grpc.inprocess.InProcessChannelBuilder; import io.grpc.inprocess.InProcessServerBuilder; import io.grpc.stub.StreamObserver; import io.grpc.testing.GrpcCleanupRule; import org.junit.Rule; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.io.IOException; import java.util.concurrent.ExecutionException; import static io.dapr.actors.TestUtils.assertThrowsDaprException; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.AdditionalAnswers.delegatesTo; import static org.mockito.Mockito.mock; public class DaprGrpcClientTest { private static final String ACTOR_TYPE = "MyActorType"; private static final String ACTOR_ID_OK = "123-Ok"; private static final String ACTOR_ID_NULL_INPUT = "123-Null"; private static final String ACTOR_ID_EXCEPTION = "123-Exception"; private static final String METHOD_NAME = "myMethod"; private static final byte[] REQUEST_PAYLOAD = "{ \"id\": 123 }".getBytes(); private static final byte[] RESPONSE_PAYLOAD = "\"OK\"".getBytes(); @Rule public final GrpcCleanupRule grpcCleanup = new GrpcCleanupRule(); private final DaprGrpc.DaprImplBase serviceImpl = mock(DaprGrpc.DaprImplBase.class, delegatesTo( new DaprGrpc.DaprImplBase() { @Override public void invokeActor(DaprActorsProtos.InvokeActorRequest request, StreamObserver responseObserver) { assertEquals(ACTOR_TYPE, request.getActorType()); assertEquals(METHOD_NAME, request.getMethod()); switch (request.getActorId()) { case ACTOR_ID_OK: assertArrayEquals(REQUEST_PAYLOAD, request.getData().toByteArray()); responseObserver.onNext( DaprActorsProtos.InvokeActorResponse.newBuilder().setData(ByteString.copyFrom(RESPONSE_PAYLOAD)) .build()); responseObserver.onCompleted(); return; case ACTOR_ID_NULL_INPUT: assertArrayEquals(new byte[0], request.getData().toByteArray()); responseObserver.onNext( DaprActorsProtos.InvokeActorResponse.newBuilder().setData(ByteString.copyFrom(RESPONSE_PAYLOAD)) .build()); responseObserver.onCompleted(); return; case ACTOR_ID_EXCEPTION: Throwable e = new ArithmeticException(); StatusException se = new StatusException(Status.UNKNOWN.withCause(e)); responseObserver.onError(se); return; } super.invokeActor(request, responseObserver); } })); private DaprClientImpl client; @BeforeEach public void setup() throws IOException { // Generate a unique in-process server name. String serverName = InProcessServerBuilder.generateName(); // Create a server, add service, start, and register for automatic graceful shutdown. grpcCleanup.register(InProcessServerBuilder .forName(serverName).directExecutor().addService(serviceImpl).build().start()); // Create a client channel and register for automatic graceful shutdown. ManagedChannel channel = grpcCleanup.register( InProcessChannelBuilder.forName(serverName).directExecutor().build()); // Create a HelloWorldClient using the in-process channel; client = new DaprClientImpl(DaprGrpc.newStub(channel), null, null, null); } @Test public void invoke() { Mono result = client.invoke(ACTOR_TYPE, ACTOR_ID_OK, METHOD_NAME, REQUEST_PAYLOAD); assertArrayEquals(RESPONSE_PAYLOAD, result.block()); } @Test public void invokeNullPayload() { Mono result = client.invoke(ACTOR_TYPE, ACTOR_ID_NULL_INPUT, METHOD_NAME, null); assertArrayEquals(RESPONSE_PAYLOAD, result.block()); } @Test public void invokeException() { Mono result = client.invoke(ACTOR_TYPE, ACTOR_ID_EXCEPTION, METHOD_NAME, null); assertThrowsDaprException( ExecutionException.class, "UNKNOWN", "UNKNOWN: ", result::block); } @Test public void invokeNotHotMono() { client.invoke(ACTOR_TYPE, ACTOR_ID_EXCEPTION, METHOD_NAME, null); // No exception thrown because Mono is ignored here. } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorCustomSerializerTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import io.dapr.actors.client.ActorProxy; import io.dapr.actors.client.ActorProxyImplForTests; import io.dapr.actors.client.DaprClientStub; import io.dapr.serializer.DaprObjectSerializer; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.io.Serializable; import java.util.concurrent.atomic.AtomicInteger; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class ActorCustomSerializerTest { private static final ActorObjectSerializer INTERNAL_SERIALIZER = new ActorObjectSerializer(); private static final DaprObjectSerializer CUSTOM_SERIALIZER = new JavaSerializer(); private static final AtomicInteger ACTOR_ID_COUNT = new AtomicInteger(); private final ActorRuntimeContext context = createContext(); private ActorManager manager = new ActorManager<>(context); public interface MyActor { Mono intInIntOut(int input); Mono stringInStringOut(String input); Mono classInClassOut(MyData input); } @ActorType(name = "MyActor") public static class ActorImpl extends AbstractActor implements MyActor { //public MyActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { public ActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); } @Override public Mono intInIntOut(int input) { return Mono.fromSupplier(() -> input + input); } @Override public Mono stringInStringOut(String input) { return Mono.fromSupplier(() -> input + input); } @Override public Mono classInClassOut(MyData input) { return Mono.fromSupplier(() -> new MyData( input.getName() + input.getName(), input.getNum() + input.getNum()) ); } } static class MyData implements Serializable { private String name; private int num; public MyData() { this.name = ""; this.num = 0; } public MyData(String name, int num) { this.name = name; this.num = num; } public String getName() { return this.name; } public int getNum() { return this.num; } } @Test public void classInClassOut() { ActorProxy actorProxy = createActorProxy(); MyData d = new MyData("hi", 3); MyData response = actorProxy.invokeMethod("classInClassOut", d, MyData.class).block(); Assertions.assertEquals("hihi", response.getName()); Assertions.assertEquals(6, response.getNum()); } @Test public void stringInStringOut() { ActorProxy actorProxy = createActorProxy(); String response = actorProxy.invokeMethod("stringInStringOut", "oi", String.class).block(); Assertions.assertEquals("oioi", response); } @Test public void intInIntOut() { ActorProxy actorProxy = createActorProxy(); int response = actorProxy.invokeMethod("intInIntOut", 2, int.class).block(); Assertions.assertEquals(4, response); } private static ActorId newActorId() { return new ActorId(Integer.toString(ACTOR_ID_COUNT.incrementAndGet())); } private ActorProxy createActorProxy() { ActorId actorId = newActorId(); // Mock daprClient for ActorProxy only, not for runtime. DaprClientStub daprClient = mock(DaprClientStub.class); when(daprClient.invoke( eq(context.getActorTypeInformation().getName()), eq(actorId.toString()), any(), any())) .thenAnswer(invocationOnMock -> this.manager.invokeMethod( new ActorId(invocationOnMock.getArgument(1, String.class)), invocationOnMock.getArgument(2, String.class), invocationOnMock.getArgument(3, byte[].class))); this.manager.activateActor(actorId).block(); return new ActorProxyImplForTests( context.getActorTypeInformation().getName(), actorId, CUSTOM_SERIALIZER, daprClient); } private static ActorRuntimeContext createContext() { DaprClient daprClient = mock(DaprClient.class); when(daprClient.registerTimer(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.registerReminder(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterTimer(any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterReminder(any(), any(), any())).thenReturn(Mono.empty()); return new ActorRuntimeContext( mock(ActorRuntime.class), CUSTOM_SERIALIZER, new DefaultActorFactory(), ActorTypeInformation.create(ActorImpl.class), daprClient, mock(DaprStateAsyncProvider.class) ); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorManagerTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.io.IOException; import java.time.Duration; import java.util.concurrent.atomic.AtomicInteger; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; /** * Unit tests for Actor Manager */ public class ActorManagerTest { private static final ActorObjectSerializer INTERNAL_SERIALIZER = new ActorObjectSerializer(); private static final AtomicInteger ACTOR_ID_COUNT = new AtomicInteger(); interface MyActor { String say(String something); int getCount(); void incrementCount(int delta); void throwsException(); Mono throwsExceptionHotMono(); Mono throwsExceptionMono(); } public static class NotRemindableActor extends AbstractActor { public NotRemindableActor(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); } } @ActorType(name = "MyActor") public static class MyActorImpl extends AbstractActor implements MyActor, Remindable { private int timeCount = 0; @Override public String say(String something) { return executeSayMethod(something); } @Override public int getCount() { return this.timeCount; } @Override public void incrementCount(int delta) { this.timeCount = timeCount + delta; } @Override public void throwsException() { throw new IllegalArgumentException(); } @Override public Mono throwsExceptionHotMono() { throw new IllegalArgumentException(); } @Override public Mono throwsExceptionMono() { return Mono.error(new IllegalArgumentException()); } public MyActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); super.registerActorTimer( "count", "incrementCount", 2, Duration.ofSeconds(1), Duration.ofSeconds(1) ).block(); } @Override public TypeRef getStateType() { return TypeRef.STRING; } @Override public Mono receiveReminder(String reminderName, String state, Duration dueTime, Duration period) { return Mono.empty(); } } private ActorRuntimeContext context = createContext(MyActorImpl.class); private ActorManager manager = new ActorManager<>(context); @Test public void invokeBeforeActivate() throws Exception { ActorId actorId = newActorId(); String message = "something"; assertThrows(IllegalArgumentException.class, () -> this.manager.invokeMethod(actorId, "say", message.getBytes()).block()); } @Test public void activateThenInvoke() throws Exception { ActorId actorId = newActorId(); byte[] message = this.context.getObjectSerializer().serialize("something"); this.manager.activateActor(actorId).block(); byte[] response = this.manager.invokeMethod(actorId, "say", message).block(); Assertions.assertEquals(executeSayMethod( this.context.getObjectSerializer().deserialize(message, TypeRef.STRING)), this.context.getObjectSerializer().deserialize(response, TypeRef.STRING)); } @Test public void activateThenInvokeWithActorImplException() throws Exception { ActorId actorId = newActorId(); this.manager.activateActor(actorId).block(); assertThrows(RuntimeException.class, () -> { this.manager.invokeMethod(actorId, "throwsException", null).block(); }); } @Test public void activateThenInvokeWithActorImplExceptionButNotSubscribed() throws Exception { ActorId actorId = newActorId(); this.manager.activateActor(actorId).block(); // Nothing happens because we don't call block(). this.manager.invokeMethod(actorId, "throwsException", null); } @Test public void activateThenInvokeWithActorImplHotMonoException() throws Exception { ActorId actorId = newActorId(); this.manager.activateActor(actorId).block(); assertThrows(RuntimeException.class, () -> { this.manager.invokeMethod(actorId, "throwsExceptionHotMono", null).block(); }); } @Test public void activateThenInvokeWithActorImplHotMonoExceptionNotSubscribed() throws Exception { ActorId actorId = newActorId(); this.manager.activateActor(actorId).block(); // Nothing happens because we don't call block(). this.manager.invokeMethod(actorId, "throwsExceptionHotMono", null); } @Test public void activateThenInvokeWithActorImplMonoException() throws Exception { ActorId actorId = newActorId(); this.manager.activateActor(actorId).block(); assertThrows(RuntimeException.class, () -> { this.manager.invokeMethod(actorId, "throwsExceptionMono", null).block(); }); } @Test public void activateThenInvokeWithActorImplMonoExceptionNotSubscribed() throws Exception { ActorId actorId = newActorId(); this.manager.activateActor(actorId).block(); // Nothing happens because we don't call block(). this.manager.invokeMethod(actorId, "throwsExceptionMono", null); } @Test public void activateInvokeDeactivateThenInvoke() throws Exception { ActorId actorId = newActorId(); byte[] message = this.context.getObjectSerializer().serialize("something"); this.manager.activateActor(actorId).block(); byte[] response = this.manager.invokeMethod(actorId, "say", message).block(); Assertions.assertEquals(executeSayMethod( this.context.getObjectSerializer().deserialize(message, TypeRef.STRING)), this.context.getObjectSerializer().deserialize(response, TypeRef.STRING)); this.manager.deactivateActor(actorId).block(); assertThrows(IllegalArgumentException.class, () -> this.manager.invokeMethod(actorId, "say", message).block()); } @Test public void invokeReminderNotRemindable() throws Exception { ActorId actorId = newActorId(); ActorRuntimeContext context = createContext(NotRemindableActor.class); ActorManager manager = new ActorManager<>(context); manager.invokeReminder(actorId, "myremind", createReminderParams("hello")).block(); } @Test public void invokeReminderBeforeActivate() throws Exception { ActorId actorId = newActorId(); assertThrows(IllegalArgumentException.class, () -> this.manager.invokeReminder(actorId, "myremind", createReminderParams("hello")).block()); } @Test public void activateThenInvokeReminder() throws Exception { ActorId actorId = newActorId(); this.manager.activateActor(actorId).block(); this.manager.invokeReminder(actorId, "myremind", createReminderParams("hello")).block(); } @Test public void activateDeactivateThenInvokeReminder() throws Exception { ActorId actorId = newActorId(); this.manager.activateActor(actorId).block(); this.manager.deactivateActor(actorId).block();; assertThrows(IllegalArgumentException.class, () -> this.manager.invokeReminder(actorId, "myremind", createReminderParams("hello")).block()); } @Test public void invokeTimerBeforeActivate() throws IOException { ActorId actorId = newActorId(); assertThrows(IllegalArgumentException.class, () -> this.manager.invokeTimer(actorId, "count", createTimerParams("incrementCount", 2)).block()); } @Test public void activateThenInvokeTimerBeforeRegister() throws IOException { ActorId actorId = newActorId(); this.manager.activateActor(actorId).block(); this.manager.invokeTimer(actorId, "unknown", createTimerParams("incrementCount", 2)).block(); } @Test public void activateThenInvokeTimer() throws IOException { ActorId actorId = newActorId(); this.manager.activateActor(actorId).block(); this.manager.invokeTimer(actorId, "count", createTimerParams("incrementCount", 2)).block(); byte[] response = this.manager.invokeMethod(actorId, "getCount", null).block(); Assertions.assertEquals("2", new String(response)); } @Test public void activateInvokeTimerDeactivateThenInvokeTimer() throws IOException { ActorId actorId = newActorId(); this.manager.activateActor(actorId).block(); this.manager.invokeTimer(actorId, "count", createTimerParams("incrementCount", 2)).block(); byte[] response = this.manager.invokeMethod(actorId, "getCount", null).block(); Assertions.assertEquals("2", new String(response)); this.manager.deactivateActor(actorId).block(); assertThrows(IllegalArgumentException.class, () -> this.manager.invokeTimer(actorId, "count", createTimerParams("incrementCount", 2)).block()); } private byte[] createReminderParams(String data) throws IOException { byte[] serializedData = this.context.getObjectSerializer().serialize(data); ActorReminderParams p = new ActorReminderParams(serializedData, Duration.ofSeconds(1), Duration.ofSeconds(1)); return INTERNAL_SERIALIZER.serialize(p); } private byte[] createTimerParams(String callback, Object data) throws IOException { byte[] serializedData = this.context.getObjectSerializer().serialize(data); ActorTimerParams p = new ActorTimerParams(callback, serializedData, Duration.ofSeconds(1), Duration.ofSeconds(1)); return INTERNAL_SERIALIZER.serialize(p); } private static ActorId newActorId() { return new ActorId(Integer.toString(ACTOR_ID_COUNT.incrementAndGet())); } private static String executeSayMethod(String something) { return "Said: " + (something == null ? "" : something); } private static ActorRuntimeContext createContext(Class clazz) { DaprClient daprClient = mock(DaprClient.class); when(daprClient.registerTimer(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.registerReminder(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterTimer(any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterReminder(any(), any(), any())).thenReturn(Mono.empty()); return new ActorRuntimeContext( mock(ActorRuntime.class), new DefaultObjectSerializer(), new DefaultActorFactory(), ActorTypeInformation.create(clazz), daprClient, mock(DaprStateAsyncProvider.class) ); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorMethodInfoMapTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.lang.reflect.Method; import java.lang.reflect.Parameter; import java.util.ArrayList; import static org.junit.jupiter.api.Assertions.assertThrows; /** * Unit tests for ActorMethodInfoMap. */ public class ActorMethodInfoMapTest { @Test public void normalUsage() { ArrayList> interfaceTypes = new ArrayList<>(); interfaceTypes.add(TestActor.class); ActorMethodInfoMap m = new ActorMethodInfoMap(interfaceTypes); try { Method m1 = m.get("getData"); Assertions.assertEquals("getData", m1.getName()); Class c = m1.getReturnType(); Assertions.assertEquals(c.getClass(), String.class.getClass()); Parameter[] p = m1.getParameters(); Assertions.assertEquals(p[0].getType().getClass(), String.class.getClass()); } catch (Exception e) { Assertions.fail("Exception not expected."); } } @Test public void lookUpNonExistingMethod() throws NoSuchMethodException { ArrayList> interfaceTypes = new ArrayList<>(); interfaceTypes.add(TestActor.class); ActorMethodInfoMap m = new ActorMethodInfoMap(interfaceTypes); assertThrows(NoSuchMethodException.class, () -> m.get("thisMethodDoesNotExist")); } /** * Only used for this test. */ public interface TestActor { String getData(String key); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorNoStateTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.actors.ActorMethod; import io.dapr.actors.ActorType; import io.dapr.actors.client.ActorProxy; import io.dapr.actors.client.ActorProxyImplForTests; import io.dapr.actors.client.DaprClientStub; import io.dapr.serializer.DefaultObjectSerializer; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.lang.reflect.Proxy; import java.time.Duration; import java.util.concurrent.atomic.AtomicInteger; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class ActorNoStateTest { private static final ActorObjectSerializer INTERNAL_SERIALIZER = new ActorObjectSerializer(); private static final AtomicInteger ACTOR_ID_COUNT = new AtomicInteger(); private final ActorRuntimeContext context = createContext(); private ActorManager manager = new ActorManager<>(context); public interface MyActor { // The test will only call the versions of this in a derived class to the user code base class. // The user code base class version will throw. Mono getMyId(); Mono stringInStringOut(String input); Mono stringInBooleanOut(String input); Mono stringInVoidOutIntentionallyThrows(String input); Mono classInClassOut(MyData input); Mono registerBadCallbackName(); String registerTimerAutoName(); @ActorMethod(name = "DotNetMethodASync") Mono dotNetMethod(); } @ActorType(name = "MyActor") public static class ActorImpl extends AbstractActor implements MyActor { private boolean activated; private boolean methodReturningVoidInvoked; //public MyActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { public ActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); this.activated = true; this.methodReturningVoidInvoked = false; } @Override public Mono getMyId() { return Mono.fromSupplier(() -> super.getId().toString()); } @Override public Mono stringInStringOut(String s) { return Mono.fromSupplier(() -> { return s + s; } ); } @Override public Mono stringInBooleanOut(String s) { return Mono.fromSupplier(() -> { if (s.equals("true")) { return true; } else { return false; } }); } @Override public Mono stringInVoidOutIntentionallyThrows(String input) { return Mono.fromRunnable(() -> { // IllegalMonitorStateException is being thrown only because it's un unusual exception so it's unlikely // to collide with something else. throw new IllegalMonitorStateException("IntentionalException"); }); } @Override public Mono classInClassOut(MyData input) { return Mono.fromSupplier(() -> { return new MyData( input.getName() + input.getName(), input.getNum() + input.getNum()); }); } @Override public Mono registerBadCallbackName() { return super.registerActorTimer("mytimer", "", "state", Duration.ofSeconds(1), Duration.ofSeconds(1)); } @Override public String registerTimerAutoName() { return super.registerActorTimer("", "anything", "state", Duration.ofSeconds(1), Duration.ofSeconds(1)).block(); } @Override public Mono dotNetMethod() { return Mono.empty(); } } static class MyData { private String name; private int num; public MyData() { this.name = ""; this.num = 0; } public MyData(String name, int num) { this.name = name; this.num = num; } public String getName() { return this.name; } public int getNum() { return this.num; } } @Test public void actorId() { ActorProxy proxy = createActorProxy(); Assertions.assertEquals( proxy.getActorId().toString(), proxy.invokeMethod("getMyId", String.class).block()); } @Test public void stringInStringOut() { ActorProxy proxy = createActorProxy(); // these should only call the actor methods for ActorChild. The implementations in ActorParent will throw. Assertions.assertEquals( "abcabc", proxy.invokeMethod("stringInStringOut", "abc", String.class).block()); } @Test public void stringInBooleanOut() { ActorProxy proxy = createActorProxy(); // these should only call the actor methods for ActorChild. The implementations in ActorParent will throw. Assertions.assertEquals( false, proxy.invokeMethod("stringInBooleanOut", "hello world", Boolean.class).block()); Assertions.assertEquals( true, proxy.invokeMethod("stringInBooleanOut", "true", Boolean.class).block()); } @Test public void stringInVoidOutIntentionallyThrows() { ActorProxy actorProxy = createActorProxy(); // these should only call the actor methods for ActorChild. The implementations in ActorParent will throw. assertThrows(IllegalMonitorStateException.class, () -> actorProxy.invokeMethod("stringInVoidOutIntentionallyThrows", "hello world").block()); } @Test public void testMethodNameChange() { MyActor actor = createActorProxy(MyActor.class); actor.dotNetMethod(); } @Test public void classInClassOut() { ActorProxy actorProxy = createActorProxy(); MyData d = new MyData("hi", 3); // this should only call the actor methods for ActorChild. The implementations in ActorParent will throw. MyData response = actorProxy.invokeMethod("classInClassOut", d, MyData.class).block(); Assertions.assertEquals( "hihi", response.getName()); Assertions.assertEquals( 6, response.getNum()); } @Test public void testBadTimerCallbackName() { MyActor actor = createActorProxy(MyActor.class); assertThrows(IllegalArgumentException.class, () -> actor.registerBadCallbackName().block()); } @Test public void testAutoTimerName() { MyActor actor = createActorProxy(MyActor.class); String firstTimer = actor.registerTimerAutoName(); Assertions.assertTrue((firstTimer != null) && !firstTimer.isEmpty()); String secondTimer = actor.registerTimerAutoName(); Assertions.assertTrue((secondTimer != null) && !secondTimer.isEmpty()); Assertions.assertNotEquals(firstTimer, secondTimer); } private static ActorId newActorId() { return new ActorId(Integer.toString(ACTOR_ID_COUNT.incrementAndGet())); } private ActorProxy createActorProxy() { ActorId actorId = newActorId(); // Mock daprClient for ActorProxy only, not for runtime. DaprClientStub daprClient = mock(DaprClientStub.class); when(daprClient.invoke( eq(context.getActorTypeInformation().getName()), eq(actorId.toString()), any(), any())) .thenAnswer(invocationOnMock -> this.manager.invokeMethod( new ActorId(invocationOnMock.getArgument(1, String.class)), invocationOnMock.getArgument(2, String.class), invocationOnMock.getArgument(3, byte[].class))); this.manager.activateActor(actorId).block(); return new ActorProxyImplForTests( context.getActorTypeInformation().getName(), actorId, new DefaultObjectSerializer(), daprClient); } private T createActorProxy(Class clazz) { ActorId actorId = newActorId(); // Mock daprClient for ActorProxy only, not for runtime. DaprClientStub daprClient = mock(DaprClientStub.class); when(daprClient.invoke( eq(context.getActorTypeInformation().getName()), eq(actorId.toString()), any(), any())) .thenAnswer(invocationOnMock -> this.manager.invokeMethod( new ActorId(invocationOnMock.getArgument(1, String.class)), invocationOnMock.getArgument(2, String.class), invocationOnMock.getArgument(3, byte[].class))); this.manager.activateActor(actorId).block(); ActorProxyImplForTests proxy = new ActorProxyImplForTests( context.getActorTypeInformation().getName(), actorId, new DefaultObjectSerializer(), daprClient); return (T) Proxy.newProxyInstance( ActorProxyImplForTests.class.getClassLoader(), new Class[]{clazz}, proxy); } private static ActorRuntimeContext createContext() { DaprClient daprClient = mock(DaprClient.class); when(daprClient.registerTimer(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.registerReminder(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterTimer(any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterReminder(any(), any(), any())).thenReturn(Mono.empty()); return new ActorRuntimeContext( mock(ActorRuntime.class), new DefaultObjectSerializer(), new DefaultActorFactory(), ActorTypeInformation.create(ActorImpl.class), daprClient, mock(DaprStateAsyncProvider.class) ); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorReminderParamsTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.client.domain.ConstantFailurePolicy; import io.dapr.client.domain.DropFailurePolicy; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.time.Duration; import static org.junit.jupiter.api.Assertions.assertThrows; public class ActorReminderParamsTest { private static final ActorObjectSerializer SERIALIZER = new ActorObjectSerializer(); @Test public void outOfRangeDueTime() { assertThrows(IllegalArgumentException.class, () -> new ActorReminderParams(null, Duration.ZERO.plusSeconds(-10), Duration.ZERO.plusMinutes(1))); } @Test public void negativePeriod() { // this is ok ActorReminderParams info = new ActorReminderParams(null, Duration.ZERO.plusMinutes(1), Duration.ZERO.plusMillis(-1)); } @Test public void outOfRangePeriod() { assertThrows(IllegalArgumentException.class, () ->new ActorReminderParams(null, Duration.ZERO.plusMinutes(1), Duration.ZERO.plusMinutes(-10))); } @Test public void noState() { ActorReminderParams original = new ActorReminderParams(null, Duration.ZERO.plusMinutes(2), Duration.ZERO.plusMinutes((5))); ActorReminderParams recreated = null; try { byte[] serialized = SERIALIZER.serialize(original); recreated = SERIALIZER.deserialize(serialized, ActorReminderParams.class); } catch(Exception e) { System.out.println("The error is: " + e); Assertions.fail(); } Assertions.assertArrayEquals(original.getData(), recreated.getData()); Assertions.assertEquals(original.getDueTime(), recreated.getDueTime()); Assertions.assertEquals(original.getPeriod(), recreated.getPeriod()); } @Test public void withState() { ActorReminderParams original = new ActorReminderParams("maru".getBytes(), Duration.ZERO.plusMinutes(2), Duration.ZERO.plusMinutes((5))); ActorReminderParams recreated = null; try { byte[] serialized = SERIALIZER.serialize(original); recreated = SERIALIZER.deserialize(serialized, ActorReminderParams.class); } catch(Exception e) { System.out.println("The error is: " + e); Assertions.fail(); } Assertions.assertArrayEquals(original.getData(), recreated.getData()); Assertions.assertEquals(original.getDueTime(), recreated.getDueTime()); Assertions.assertEquals(original.getPeriod(), recreated.getPeriod()); } @Test public void withDropFailurePolicy() { ActorReminderParams original = new ActorReminderParams("maru".getBytes(), Duration.ZERO.plusMinutes(2), Duration.ZERO.plusMinutes(5), new DropFailurePolicy()); ActorReminderParams recreated = null; try { byte[] serialized = SERIALIZER.serialize(original); recreated = SERIALIZER.deserialize(serialized, ActorReminderParams.class); } catch (Exception e) { System.out.println("The error is: " + e); Assertions.fail(); } Assertions.assertArrayEquals(original.getData(), recreated.getData()); Assertions.assertEquals(original.getDueTime(), recreated.getDueTime()); Assertions.assertEquals(original.getPeriod(), recreated.getPeriod()); Assertions.assertEquals(original.getFailurePolicy().getFailurePolicyType(), recreated.getFailurePolicy().getFailurePolicyType()); } @Test public void withConstantRetryFailurePolicy() { ActorReminderParams original = new ActorReminderParams("maru".getBytes(), Duration.ZERO.plusMinutes(2), Duration.ZERO.plusMinutes(5), new ConstantFailurePolicy(4)); ActorReminderParams recreated = null; try { byte[] serialized = SERIALIZER.serialize(original); recreated = SERIALIZER.deserialize(serialized, ActorReminderParams.class); } catch (Exception e) { System.out.println("The error is: " + e); Assertions.fail(); } Assertions.assertArrayEquals(original.getData(), recreated.getData()); Assertions.assertEquals(original.getDueTime(), recreated.getDueTime()); Assertions.assertEquals(original.getPeriod(), recreated.getPeriod()); Assertions.assertEquals(original.getFailurePolicy().getFailurePolicyType(), recreated.getFailurePolicy().getFailurePolicyType()); Assertions.assertEquals(((ConstantFailurePolicy) original.getFailurePolicy()).getMaxRetries(), ((ConstantFailurePolicy) recreated.getFailurePolicy()).getMaxRetries()); } @Test public void withConstantIntervalFailurePolicy() { ActorReminderParams original = new ActorReminderParams("maru".getBytes(), Duration.ZERO.plusMinutes(2), Duration.ZERO.plusMinutes(5), new ConstantFailurePolicy(Duration.ofSeconds(4))); ActorReminderParams recreated = null; try { byte[] serialized = SERIALIZER.serialize(original); recreated = SERIALIZER.deserialize(serialized, ActorReminderParams.class); } catch (Exception e) { System.out.println("The error is: " + e); Assertions.fail(); } Assertions.assertArrayEquals(original.getData(), recreated.getData()); Assertions.assertEquals(original.getDueTime(), recreated.getDueTime()); Assertions.assertEquals(original.getPeriod(), recreated.getPeriod()); Assertions.assertEquals(original.getFailurePolicy().getFailurePolicyType(), recreated.getFailurePolicy().getFailurePolicyType()); Assertions.assertEquals(((ConstantFailurePolicy) original.getFailurePolicy()).getDurationBetweenRetries(), ((ConstantFailurePolicy) recreated.getFailurePolicy()).getDurationBetweenRetries()); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorRuntimeTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import io.dapr.serializer.DefaultObjectSerializer; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.lang.reflect.Constructor; import java.time.Duration; import java.util.Arrays; import java.util.UUID; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.mock; public class ActorRuntimeTest { private static final String ACTOR_NAME = "MyGreatActor"; public interface MyActor { String say(); int count(); } @ActorType(name = ACTOR_NAME) public static class MyActorImpl extends AbstractActor implements MyActor { private int count = 0; private Boolean activated; public MyActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); } public Mono onActivate() { return Mono.fromRunnable(() -> { if (this.activated != null) { throw new IllegalStateException("already activated once"); } this.activated = true; }); } public Mono onDeactivate() { return Mono.fromRunnable(() -> { if (this.activated == null) { throw new IllegalStateException("never activated"); } if (this.activated == false) { throw new IllegalStateException("already deactivated"); } if (this.count == 0) { throw new IllegalStateException("test expects a call before deactivate"); } this.activated = false; }); } public String say() { if (!this.activated) { throw new IllegalStateException("not activated"); } this.count++; return "Nothing to say."; } public int count() { return this.count; } } private static final ActorObjectSerializer ACTOR_STATE_SERIALIZER = new ActorObjectSerializer(); private static Constructor constructor; private DaprClient mockDaprClient; private ActorRuntime runtime; @BeforeAll public static void beforeAll() throws Exception { constructor = (Constructor) Arrays.stream(ActorRuntime.class.getDeclaredConstructors()) .filter(c -> c.getParameters().length == 2).map(c -> { c.setAccessible(true); return c; }).findFirst().get(); } @BeforeEach public void setup() throws Exception { this.mockDaprClient = mock(DaprClient.class); this.runtime = constructor.newInstance(null, this.mockDaprClient); } @Test public void registerActorNullClass() { assertThrows(IllegalArgumentException.class, () -> this.runtime.registerActor(null)); } @Test public void registerActorNullFactory() { assertThrows(IllegalArgumentException.class, () -> this.runtime.registerActor(MyActorImpl.class, null, new DefaultObjectSerializer(), new DefaultObjectSerializer())); } @Test public void registerActorNullSerializer() { assertThrows(IllegalArgumentException.class, () -> this.runtime.registerActor(MyActorImpl.class, new DefaultActorFactory<>(), null, new DefaultObjectSerializer())); } @Test public void registerActorNullStateSerializer() { assertThrows(IllegalArgumentException.class, () -> this.runtime.registerActor(MyActorImpl.class, new DefaultActorFactory<>(), new DefaultObjectSerializer(), null)); } @Test public void setActorIdleTimeout() throws Exception { this.runtime.getConfig().setActorIdleTimeout(Duration.ofSeconds(123)); Assertions.assertEquals("{\"entities\":[],\"actorIdleTimeout\":\"0h2m3s0ms\"}", new String(this.runtime.serializeConfig())); } @Test public void setActorScanInterval() throws Exception { this.runtime.getConfig().setActorScanInterval(Duration.ofSeconds(123)); Assertions.assertEquals("{\"entities\":[],\"actorScanInterval\":\"0h2m3s0ms\"}", new String(this.runtime.serializeConfig())); } @Test public void setDrainBalancedActors() throws Exception { this.runtime.getConfig().setDrainBalancedActors(true); Assertions.assertEquals("{\"entities\":[],\"drainBalancedActors\":true}", new String(this.runtime.serializeConfig())); } @Test public void addActorTypeConfig() throws Exception { ActorTypeConfig actorTypeConfig1 = new ActorTypeConfig(); actorTypeConfig1.setActorTypeName("actor1"); actorTypeConfig1.setActorIdleTimeout(Duration.ofSeconds(123)); actorTypeConfig1.setActorScanInterval(Duration.ofSeconds(123)); actorTypeConfig1.setDrainOngoingCallTimeout(Duration.ofSeconds(123)); actorTypeConfig1.setDrainBalancedActors(true); actorTypeConfig1.setRemindersStoragePartitions(1); this.runtime.getConfig().addActorTypeConfig(actorTypeConfig1); this.runtime.getConfig().addRegisteredActorType("actor1"); ActorTypeConfig actorTypeConfig2 = new ActorTypeConfig(); actorTypeConfig2.setActorTypeName("actor2"); actorTypeConfig2.setActorIdleTimeout(Duration.ofSeconds(123)); actorTypeConfig2.setActorScanInterval(Duration.ofSeconds(123)); actorTypeConfig2.setDrainOngoingCallTimeout(Duration.ofSeconds(123)); actorTypeConfig2.setDrainBalancedActors(false); actorTypeConfig2.setRemindersStoragePartitions(2); this.runtime.getConfig().addActorTypeConfig(actorTypeConfig2); this.runtime.getConfig().addRegisteredActorType("actor2"); Assertions.assertEquals( "{\"entities\":[\"actor1\",\"actor2\"],\"entitiesConfig\":[{\"entities\":[\"actor1\"],\"actorIdleTimeout\":\"0h2m3s0ms\",\"actorScanInterval\":\"0h2m3s0ms\",\"drainOngoingCallTimeout\":\"0h2m3s0ms\",\"drainBalancedActors\":true,\"remindersStoragePartitions\":1},{\"entities\":[\"actor2\"],\"actorIdleTimeout\":\"0h2m3s0ms\",\"actorScanInterval\":\"0h2m3s0ms\",\"drainOngoingCallTimeout\":\"0h2m3s0ms\",\"drainBalancedActors\":false,\"remindersStoragePartitions\":2}]}", new String(this.runtime.serializeConfig()) ); } @Test public void addNullActorTypeConfig() throws Exception { try { this.runtime.getConfig().addActorTypeConfig(null); } catch (Exception ex) { Assertions.assertTrue(ex instanceof IllegalArgumentException); Assertions.assertTrue(ex.getMessage().contains("Add actor type config failed.")); } try { this.runtime.getConfig().addRegisteredActorType(null); } catch (Exception ex) { Assertions.assertTrue(ex instanceof IllegalArgumentException); Assertions.assertTrue(ex.getMessage().contains("Registered actor must have a type name.")); } } @Test public void setDrainOngoingCallTimeout() throws Exception { this.runtime.getConfig().setDrainOngoingCallTimeout(Duration.ofSeconds(123)); Assertions.assertEquals("{\"entities\":[],\"drainOngoingCallTimeout\":\"0h2m3s0ms\"}", new String(this.runtime.serializeConfig())); } @Test public void setRemindersStoragePartitions() throws Exception { this.runtime.getConfig().setRemindersStoragePartitions(12); Assertions.assertEquals("{\"entities\":[],\"remindersStoragePartitions\":12}", new String(this.runtime.serializeConfig())); } @Test public void invokeActor() throws Exception { String actorId = UUID.randomUUID().toString(); this.runtime.registerActor(MyActorImpl.class); byte[] response = this.runtime.invoke(ACTOR_NAME, actorId, "say", null).block(); String message = ACTOR_STATE_SERIALIZER.deserialize(response, String.class); Assertions.assertEquals("Nothing to say.", message); } @Test public void invokeUnknownActor() { String actorId = UUID.randomUUID().toString(); this.runtime.registerActor(MyActorImpl.class); assertThrows(IllegalArgumentException.class, () -> this.runtime.invoke("UnknownActor", actorId, "say", null).block()); } @Test public void deactivateActor() throws Exception { String actorId = UUID.randomUUID().toString(); this.runtime.registerActor(MyActorImpl.class); this.runtime.deactivate(ACTOR_NAME, actorId).block(); } @Test public void lazyDeactivate() throws Exception { String actorId = UUID.randomUUID().toString(); this.runtime.registerActor(MyActorImpl.class); Mono deactivateCall = this.runtime.deactivate(ACTOR_NAME, actorId); this.runtime.invoke(ACTOR_NAME, actorId, "say", null).block(); deactivateCall.block(); this.runtime.invoke(ACTOR_NAME, actorId, "say", null) .doOnError(e -> Assertions.assertTrue(e.getMessage().contains("Could not find actor"))) .doOnSuccess(s -> Assertions.fail()).onErrorReturn("".getBytes()).block(); } @Test public void lazyInvoke() throws Exception { String actorId = UUID.randomUUID().toString(); this.runtime.registerActor(MyActorImpl.class, new DefaultActorFactory<>()); Mono invokeCall = this.runtime.invoke(ACTOR_NAME, actorId, "say", null); byte[] response = this.runtime.invoke(ACTOR_NAME, actorId, "count", null).block(); int count = ACTOR_STATE_SERIALIZER.deserialize(response, Integer.class); Assertions.assertEquals(0, count); invokeCall.block(); response = this.runtime.invoke(ACTOR_NAME, actorId, "count", null).block(); count = ACTOR_STATE_SERIALIZER.deserialize(response, Integer.class); Assertions.assertEquals(1, count); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorStatefulTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import io.dapr.actors.client.ActorProxy; import io.dapr.actors.client.ActorProxyImplForTests; import io.dapr.actors.client.DaprClientStub; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.io.IOException; import java.io.Serializable; import java.nio.charset.IllegalCharsetNameException; import java.time.Duration; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.concurrent.atomic.AtomicInteger; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class ActorStatefulTest { private static final ActorObjectSerializer INTERNAL_SERIALIZER = new ActorObjectSerializer(); private static final AtomicInteger ACTOR_ID_COUNT = new AtomicInteger(); private static final Collection DEACTIVATED_ACTOR_IDS = Collections.synchronizedList(new ArrayList<>()); private final ActorRuntimeContext context = createContext(); private ActorManager manager = new ActorManager<>(context); public interface MyActor { Mono isActive(); MyMethodContext getPreCallMethodContext(); MyMethodContext getPostCallMethodContext(); Mono unregisterTimerAndReminder(); Mono incrementAndGetCount(int increment) throws Exception; Mono getCountButThrowsException(); Mono addMessage(String message); Mono setMessage(String message); Mono getMessage(); Mono hasMessage(); Mono deleteMessage(); Mono forceDuplicateException(); Mono forcePartialChange(); Mono throwsWithoutSaving(); Mono setMethodContext(MyMethodContext context); Mono getMethodContext(); String getIdString(); } @ActorType(name = "MyActor") public static class MyActorImpl extends AbstractActor implements MyActor, Remindable { private final ActorId id; private boolean activated; private MyMethodContext preMethodCalled; private MyMethodContext postMethodCalled; public MyActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); this.id = id; this.activated = true; } @Override public Mono isActive() { return Mono.fromSupplier(() -> this.activated); } @Override public Mono onActivate() { return Mono .fromRunnable(() -> this.activated = true) .then(super.registerActorTimer( "mytimer", "hasMessage", null, Duration.ofSeconds(1), Duration.ofSeconds(1))) .then(super.registerReminder( "myreminder", null, Duration.ofSeconds(1), Duration.ofSeconds(1) )); } @Override public Mono onDeactivate() { return Mono.fromRunnable(() -> DEACTIVATED_ACTOR_IDS.add(this.id.toString())); } @Override public Mono onPreActorMethod(ActorMethodContext context) { // Only keep the first one to make sure we can validate it via another method invocation. return Mono.fromRunnable(() -> { this.preMethodCalled = this.preMethodCalled != null ? this.preMethodCalled : new MyMethodContext() .setName(context.getMethodName()) .setType(context.getCallType().toString()); }); } @Override public Mono onPostActorMethod(ActorMethodContext context) { // Only keep the first one to make sure we can validate it via another method invocation. return Mono.fromRunnable(() -> { this.postMethodCalled = this.postMethodCalled != null ? this.postMethodCalled : new MyMethodContext() .setName(context.getMethodName()) .setType(context.getCallType().toString()); }); } @Override public MyMethodContext getPreCallMethodContext() { return this.preMethodCalled; } @Override public MyMethodContext getPostCallMethodContext() { return this.postMethodCalled; } @Override public Mono unregisterTimerAndReminder() { return super.unregisterReminder("UnknownReminder") .then(super.unregisterTimer("UnknownTimer")) .then(super.unregisterReminder("myreminder")) .then(super.unregisterTimer("mytimer")); } @Override public Mono incrementAndGetCount(int increment) { return Mono.fromRunnable(() -> { if (increment == 0) { // Artificial exception case for testing. throw new NumberFormatException("increment cannot be zero."); } }) .then(super.getActorStateManager().contains("counter")) .flatMap(contains -> { if (!contains) { return Mono.just(0); } return super.getActorStateManager().get("counter", int.class); }) .map(count -> count + increment) .flatMap(count -> super.getActorStateManager().set("counter", count).thenReturn(count)); } @Override public Mono getCountButThrowsException() { return super.getActorStateManager().get("counter_WRONG_NAME", int.class); } @Override public Mono addMessage(String message) { return super.getActorStateManager().add("message", message); } @Override public Mono setMessage(String message) { return super.getActorStateManager().set("message", message).thenReturn(executeSayMethod(message)); } @Override public Mono getMessage() { return super.getActorStateManager().get("message", String.class); } @Override public Mono hasMessage() { return super.getActorStateManager().contains("message"); } @Override public Mono deleteMessage() { return super.getActorStateManager().remove("message"); } @Override public Mono forceDuplicateException() { // Second add should throw exception. return super.getActorStateManager().add("message", "anything") .then(super.getActorStateManager().add("message", "something else")); } @Override public Mono forcePartialChange() { return super.getActorStateManager().add("message", "first message") .then(super.saveState()) .then(super.getActorStateManager().add("message", "second message")); } @Override public Mono throwsWithoutSaving() { return super.getActorStateManager().add("message", "first message") .then(Mono.error(new IllegalCharsetNameException("random"))); } @Override public Mono setMethodContext(MyMethodContext context) { return super.getActorStateManager().set("context", context); } @Override public Mono getMethodContext() { return super.getActorStateManager().get("context", MyMethodContext.class); } // Blocking methods are also supported for Actors. Mono is not required. @Override public String getIdString() { return this.id.toString(); } @Override public TypeRef getStateType() { // Remindable type. return TypeRef.STRING; } @Override public Mono receiveReminder(String reminderName, String state, Duration dueTime, Duration period) { return Mono.empty(); } } // Class used to validate serialization/deserialization public static class MyMethodContext implements Serializable { private String type; private String name; public String getType() { return type; } public MyMethodContext setType(String type) { this.type = type; return this; } public String getName() { return name; } public MyMethodContext setName(String name) { this.name = name; return this; } } @Test public void happyGetSetDeleteContains() { ActorProxy proxy = newActorProxy(); Assertions.assertEquals( proxy.getActorId().toString(), proxy.invokeMethod("getIdString", String.class).block()); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); proxy.invokeMethod("setMessage", "hello world").block(); Assertions.assertTrue(proxy.invokeMethod("hasMessage", Boolean.class).block()); Assertions.assertEquals( "hello world", proxy.invokeMethod("getMessage", String.class).block()); Assertions.assertEquals( executeSayMethod("hello world"), proxy.invokeMethod("setMessage", "hello world", String.class).block()); proxy.invokeMethod("deleteMessage").block(); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); } @Test public void lazyGet() { ActorProxy proxy = newActorProxy(); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); proxy.invokeMethod("setMessage", "first message").block(); // Creates the mono plan but does not call it yet. Mono getMessageCall = proxy.invokeMethod("getMessage", String.class); proxy.invokeMethod("deleteMessage").block(); // Call should fail because the message was deleted. assertThrows(IllegalStateException.class, () -> getMessageCall.block()); } @Test public void lazySet() { ActorProxy proxy = newActorProxy(); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); // Creates the mono plan but does not call it yet. Mono setMessageCall = proxy.invokeMethod("setMessage", "first message"); // No call executed yet, so message should not be set. Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); setMessageCall.block(); // Now the message has been set. Assertions.assertTrue(proxy.invokeMethod("hasMessage", Boolean.class).block()); } @Test public void lazyContains() { ActorProxy proxy = newActorProxy(); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); // Creates the mono plan but does not call it yet. Mono hasMessageCall = proxy.invokeMethod("hasMessage", Boolean.class); // Sets the message. proxy.invokeMethod("setMessage", "hello world").block(); // Now we check if message is set. hasMessageCall.block(); // Now the message should be set. Assertions.assertTrue(proxy.invokeMethod("hasMessage", Boolean.class).block()); } @Test public void lazyDelete() { ActorProxy proxy = newActorProxy(); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); proxy.invokeMethod("setMessage", "first message").block(); // Message is set. Assertions.assertTrue(proxy.invokeMethod("hasMessage", Boolean.class).block()); // Created the mono plan but does not execute it yet. Mono deleteMessageCall = proxy.invokeMethod("deleteMessage"); // Message is still set. Assertions.assertTrue(proxy.invokeMethod("hasMessage", Boolean.class).block()); deleteMessageCall.block(); // Now message is not set. Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); } @Test public void lazyAdd() { ActorProxy proxy = newActorProxy(); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); proxy.invokeMethod("setMessage", "first message").block(); // Message is set. Assertions.assertTrue(proxy.invokeMethod("hasMessage", Boolean.class).block()); // Created the mono plan but does not execute it yet. Mono addMessageCall = proxy.invokeMethod("addMessage", "second message"); // Message is still set. Assertions.assertEquals("first message", proxy.invokeMethod("getMessage", String.class).block()); // Delete message proxy.invokeMethod("deleteMessage").block(); // Should work since previous message was deleted. addMessageCall.block(); // New message is still set. Assertions.assertEquals("second message", proxy.invokeMethod("getMessage", String.class).block()); } @Test public void onActivateAndOnDeactivate() { ActorProxy proxy = newActorProxy(); Assertions.assertTrue(proxy.invokeMethod("isActive", Boolean.class).block()); Assertions.assertFalse(DEACTIVATED_ACTOR_IDS.contains(proxy.getActorId().toString())); proxy.invokeMethod("hasMessage", Boolean.class).block(); this.manager.deactivateActor(proxy.getActorId()).block(); Assertions.assertTrue(DEACTIVATED_ACTOR_IDS.contains(proxy.getActorId().toString())); } @Test public void onPreMethodAndOnPostMethod() { ActorProxy proxy = newActorProxy(); proxy.invokeMethod("hasMessage", Boolean.class).block(); MyMethodContext preContext = proxy.invokeMethod("getPreCallMethodContext", MyMethodContext.class).block(); Assertions.assertEquals("hasMessage", preContext.getName()); Assertions.assertEquals(ActorCallType.ACTOR_INTERFACE_METHOD.toString(), preContext.getType()); MyMethodContext postContext = proxy.invokeMethod("getPostCallMethodContext", MyMethodContext.class).block(); Assertions.assertEquals("hasMessage", postContext.getName()); Assertions.assertEquals(ActorCallType.ACTOR_INTERFACE_METHOD.toString(), postContext.getType()); } @Test public void invokeTimer() { ActorProxy proxy = newActorProxy(); this.manager.invokeTimer(proxy.getActorId(), "mytimer", "{ \"callback\": \"hasMessage\" }".getBytes()).block(); MyMethodContext preContext = proxy.invokeMethod("getPreCallMethodContext", MyMethodContext.class).block(); Assertions.assertEquals("mytimer", preContext.getName()); Assertions.assertEquals(ActorCallType.TIMER_METHOD.toString(), preContext.getType()); MyMethodContext postContext = proxy.invokeMethod("getPostCallMethodContext", MyMethodContext.class).block(); Assertions.assertEquals("mytimer", postContext.getName()); Assertions.assertEquals(ActorCallType.TIMER_METHOD.toString(), postContext.getType()); } @Test public void invokeTimerAfterDeactivate() { ActorProxy proxy = newActorProxy(); this.manager.deactivateActor(proxy.getActorId()).block(); assertThrows(IllegalArgumentException.class, () -> this.manager.invokeTimer(proxy.getActorId(), "mytimer", "{ \"callback\": \"hasMessage\" }".getBytes()).block()); } @Test public void invokeTimerAfterUnregister() { ActorProxy proxy = newActorProxy(); proxy.invokeMethod("unregisterTimerAndReminder").block(); // This call succeeds because the SDK does not control register/unregister timer, the Dapr runtime does. this.manager.invokeTimer(proxy.getActorId(), "mytimer", "{ \"callback\": \"hasMessage\" }".getBytes()).block(); } @Test public void invokeUnknownTimer() { ActorProxy proxy = newActorProxy(); // SDK does not control timers, Dapr runtime does - so an "unknown" timer can still be triggered. this.manager.invokeTimer(proxy.getActorId(), "unknown", "{ \"callback\": \"hasMessage\" }".getBytes()).block(); } @Test public void invokeReminder() throws Exception { ActorProxy proxy = newActorProxy(); byte[] params = createReminderParams("anything"); this.manager.invokeReminder(proxy.getActorId(), "myreminder", params).block(); MyMethodContext preContext = proxy.invokeMethod("getPreCallMethodContext", MyMethodContext.class).block(); Assertions.assertEquals("myreminder", preContext.getName()); Assertions.assertEquals(ActorCallType.REMINDER_METHOD.toString(), preContext.getType()); MyMethodContext postContext = proxy.invokeMethod("getPostCallMethodContext", MyMethodContext.class).block(); Assertions.assertEquals("myreminder", postContext.getName()); Assertions.assertEquals(ActorCallType.REMINDER_METHOD.toString(), postContext.getType()); } @Test public void invokeReminderAfterDeactivate() throws Exception { ActorProxy proxy = newActorProxy(); this.manager.deactivateActor(proxy.getActorId()).block(); byte[] params = createReminderParams("anything"); assertThrows(IllegalArgumentException.class, () -> this.manager.invokeReminder(proxy.getActorId(), "myreminder", params).block()); } @Test public void classTypeRequestResponseInStateStore() { ActorProxy proxy = newActorProxy(); MyMethodContext expectedContext = new MyMethodContext().setName("MyName").setType("MyType"); proxy.invokeMethod("setMethodContext", expectedContext).block(); MyMethodContext context = proxy.invokeMethod("getMethodContext", MyMethodContext.class).block(); Assertions.assertEquals(expectedContext.getName(), context.getName()); Assertions.assertEquals(expectedContext.getType(), context.getType()); } @Test public void intTypeRequestResponseInStateStore() { ActorProxy proxy = newActorProxy(); Assertions.assertEquals(1, (int)proxy.invokeMethod("incrementAndGetCount", 1, int.class).block()); Assertions.assertEquals(6, (int)proxy.invokeMethod("incrementAndGetCount", 5, int.class).block()); } @Test public void intTypeWithMethodException() { ActorProxy proxy = newActorProxy(); // Zero is a magic input that will make method throw an exception. assertThrows(NumberFormatException.class, () -> proxy.invokeMethod("incrementAndGetCount", 0, int.class).block()); } @Test public void intTypeWithRuntimeException() { ActorProxy proxy = newActorProxy(); assertThrows(RuntimeException.class, () -> proxy.invokeMethod("getCountButThrowsException", int.class).block()); } @Test public void actorRuntimeException() { ActorProxy proxy = newActorProxy(); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); assertThrows(RuntimeException.class, () -> proxy.invokeMethod("forceDuplicateException").block()); } @Test public void actorMethodException() { ActorProxy proxy = newActorProxy(); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); assertThrows(IllegalCharsetNameException.class, () -> proxy.invokeMethod("throwsWithoutSaving").block()); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); } @Test public void rollbackChanges() { ActorProxy proxy = newActorProxy(); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); // Runs a method that will add one message but fail because tries to add a second one. proxy.invokeMethod("forceDuplicateException") .onErrorResume(throwable -> Mono.empty()) .block(); // No message is set Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); } @Test public void partialChanges() { ActorProxy proxy = newActorProxy(); Assertions.assertFalse(proxy.invokeMethod("hasMessage", Boolean.class).block()); // Runs a method that will add one message, commit but fail because tries to add a second one. proxy.invokeMethod("forcePartialChange") .onErrorResume(throwable -> Mono.empty()) .block(); // Message is set. Assertions.assertTrue(proxy.invokeMethod("hasMessage", Boolean.class).block()); // It is first message and not the second due to a save() in the middle but an exception in the end. Assertions.assertEquals("first message", proxy.invokeMethod("getMessage", String.class).block()); } private ActorProxy newActorProxy() { ActorId actorId = newActorId(); // Mock daprClient for ActorProxy only, not for runtime. DaprClientStub daprClient = mock(DaprClientStub.class); when(daprClient.invoke( eq(context.getActorTypeInformation().getName()), eq(actorId.toString()), any(), any())) .thenAnswer(invocationOnMock -> this.manager.invokeMethod( new ActorId(invocationOnMock.getArgument(1, String.class)), invocationOnMock.getArgument(2, String.class), invocationOnMock.getArgument(3, byte[].class))); this.manager.activateActor(actorId).block(); return new ActorProxyImplForTests( context.getActorTypeInformation().getName(), actorId, new DefaultObjectSerializer(), daprClient); } private byte[] createReminderParams(String data) throws IOException { byte[] serialized = this.context.getObjectSerializer().serialize(data); ActorReminderParams params = new ActorReminderParams(serialized, Duration.ofSeconds(1), Duration.ofSeconds(1)); return INTERNAL_SERIALIZER.serialize(params); } private static ActorId newActorId() { return new ActorId(Integer.toString(ACTOR_ID_COUNT.incrementAndGet())); } private static String executeSayMethod(String something) { return "Said: " + (something == null ? "" : something); } private static ActorRuntimeContext createContext() { DaprClient daprClient = mock(DaprClient.class); when(daprClient.registerTimer(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.registerReminder(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterTimer(any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterReminder(any(), any(), any())).thenReturn(Mono.empty()); return new ActorRuntimeContext( mock(ActorRuntime.class), new DefaultObjectSerializer(), new DefaultActorFactory(), ActorTypeInformation.create(MyActorImpl.class), daprClient, new DaprInMemoryStateProvider(new JavaSerializer()) ); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorTimerTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.io.IOException; import java.time.Duration; public class ActorTimerTest { private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); @Test public void serialize() throws IOException { Duration dueTime = Duration.ZERO .plusMinutes(7) .plusSeconds(17); Duration period = Duration.ZERO .plusHours(1) .plusSeconds(3); ActorTimerParams timer = new ActorTimerParams( "myfunction", null, dueTime, period); byte[] s = new ActorObjectSerializer().serialize(timer); String expected = "{\"period\":\"1h0m3s0ms\",\"dueTime\":\"0h7m17s0ms\", \"callback\": \"myfunction\"}"; // Deep comparison via JsonNode.equals method. Assertions.assertEquals(OBJECT_MAPPER.readTree(expected), OBJECT_MAPPER.readTree(s)); } @Test public void serializeWithOneTimePeriod() throws IOException { Duration dueTime = Duration.ZERO .plusMinutes(7) .plusSeconds(17); // this is intentionally negative Duration period = Duration.ZERO .minusHours(1) .minusMinutes(3); ActorTimerParams timer = new ActorTimerParams( "myfunction", null, dueTime, period); byte[] s = new ActorObjectSerializer().serialize(timer); // A negative period will be serialized to an empty string which is interpreted by Dapr to mean fire once only. String expected = "{\"period\":\"\",\"dueTime\":\"0h7m17s0ms\", \"callback\": \"myfunction\"}"; // Deep comparison via JsonNode.equals method. Assertions.assertEquals(OBJECT_MAPPER.readTree(expected), OBJECT_MAPPER.readTree(s)); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorTypeInformationTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorType; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.time.Duration; /** * Unit tests for ActorTypeInformation. */ public class ActorTypeInformationTest { /** * Actor interfaced used in this test only. */ @ActorType(name = "MyActorWithAnnotation") private interface MyActorAnnotated { } /** * Actor interfaced used in this test only. */ private interface MyActor { } /** * Checks information for a non-remindable actor. */ @Test public void notRemindable() { class A extends AbstractActor implements MyActor { A() { super(null, null); } } ActorTypeInformation info = ActorTypeInformation.create(A.class); Assertions.assertNotNull(info); Assertions.assertEquals("A", info.getName()); Assertions.assertEquals(A.class, info.getImplementationClass()); Assertions.assertFalse(info.isAbstractClass()); Assertions.assertFalse(info.isRemindable()); Assertions.assertEquals(1, info.getInterfaces().size()); Assertions.assertTrue(info.getInterfaces().contains(MyActor.class)); } /** * Checks information for a remindable actor. */ @Test public void remindable() { class A extends AbstractActor implements MyActor, Remindable { A() { super(null, null); } @Override public TypeRef getStateType() { return null; } @Override public Mono receiveReminder(String reminderName, Object state, Duration dueTime, Duration period) { return null; } } ActorTypeInformation info = ActorTypeInformation.create(A.class); Assertions.assertNotNull(info); Assertions.assertEquals("A", info.getName()); Assertions.assertEquals(A.class, info.getImplementationClass()); Assertions.assertFalse(info.isAbstractClass()); Assertions.assertTrue(info.isRemindable()); Assertions.assertEquals(2, info.getInterfaces().size()); Assertions.assertTrue(info.getInterfaces().contains(Remindable.class)); Assertions.assertTrue(info.getInterfaces().contains(MyActor.class)); } /** * Checks information for an actor renamed via annotation. */ @Test public void renamedWithAnnotation() { @ActorType(name = "B") class A extends AbstractActor implements MyActor { A() { super(null, null); } } ActorTypeInformation info = ActorTypeInformation.create(A.class); Assertions.assertNotNull(info); Assertions.assertEquals("B", info.getName()); Assertions.assertEquals(A.class, info.getImplementationClass()); Assertions.assertFalse(info.isAbstractClass()); Assertions.assertFalse(info.isRemindable()); Assertions.assertEquals(1, info.getInterfaces().size()); Assertions.assertTrue(info.getInterfaces().contains(MyActor.class)); } /** * Checks information for an actor renamed via annotation at interface. */ @Test public void renamedWithAnnotationAtInterface() { class A extends AbstractActor implements MyActorAnnotated { A() { super(null, null); } } ActorTypeInformation info = ActorTypeInformation.create(A.class); Assertions.assertNotNull(info); Assertions.assertEquals("MyActorWithAnnotation", info.getName()); Assertions.assertEquals(A.class, info.getImplementationClass()); Assertions.assertFalse(info.isAbstractClass()); Assertions.assertFalse(info.isRemindable()); Assertions.assertEquals(1, info.getInterfaces().size()); Assertions.assertTrue(info.getInterfaces().contains(MyActorAnnotated.class)); } /** * Checks information for an actor is invalid due to an non-actor parent. */ @Test public void nonActorParentClass() { abstract class MyAbstractClass implements MyActor { } class A extends MyAbstractClass { } ActorTypeInformation info = ActorTypeInformation.tryCreate(A.class); Assertions.assertNull(info); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorTypeUtilitiesTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.io.Closeable; import java.time.Duration; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; public class ActorTypeUtilitiesTest { @Test public void nullIsNotRemindable() { assertFalse(ActorTypeUtilities.isRemindableActor(null)); } @Test public void nonActorIsNotRemindable() { assertFalse(ActorTypeUtilities.isRemindableActor(String.class)); } @Test public void actorButNotRemindable() { assertFalse(ActorTypeUtilities.isRemindableActor(NonRemindable.class)); } @Test public void actorWithInterfacesButNotRemindable() { assertFalse(ActorTypeUtilities.isRemindableActor(NonRemindableWithInterfaces.class)); } @Test public void actorIsRemindable() { assertTrue(ActorTypeUtilities.isRemindableActor(Remindable.class)); } public static class NonRemindable extends AbstractActor { protected NonRemindable(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); } } public static class NonRemindableWithInterfaces extends AbstractActor implements Closeable { protected NonRemindableWithInterfaces(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); } @Override public void close() { } } public static class Remindable extends AbstractActor implements io.dapr.actors.runtime.Remindable { protected Remindable(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); } @Override public TypeRef getStateType() { return null; } @Override public Mono receiveReminder(String reminderName, Object state, Duration dueTime, Duration period) { return null; } } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/DaprGrpcClientTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.protobuf.Any; import com.google.protobuf.ByteString; import com.google.protobuf.Empty; import io.dapr.v1.DaprActorsProtos; import io.dapr.v1.DaprGrpc; import io.grpc.ManagedChannel; import io.grpc.Status; import io.grpc.StatusException; import io.grpc.inprocess.InProcessChannelBuilder; import io.grpc.inprocess.InProcessServerBuilder; import io.grpc.stub.StreamObserver; import io.grpc.testing.GrpcCleanupRule; import org.junit.Rule; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.io.IOException; import java.time.Duration; import java.util.Arrays; import java.util.List; import java.util.concurrent.ExecutionException; import static io.dapr.actors.TestUtils.assertThrowsDaprException; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; public class DaprGrpcClientTest { private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); private static final String ACTOR_TYPE = "MyActorType"; private static final String ACTOR_ID = "1234567890"; private static final String KEY = "MyKey"; private static final String ACTOR_EXCEPTION = "1_exception"; private static final String REMINDER_NAME = "myreminder"; private static final String TIMER_NAME = "timerName"; private static final byte[] RESPONSE_PAYLOAD = "\"hello world\"".getBytes(); private static final List OPERATIONS = Arrays.asList( new ActorStateOperation("upsert", "mykey", "hello world".getBytes()), new ActorStateOperation("delete", "mykey", null)); private final DaprGrpc.DaprImplBase serviceImpl = new CustomDaprClient(); private DaprClientImpl client; @Rule public final GrpcCleanupRule grpcCleanup = new GrpcCleanupRule(); @BeforeEach public void setup() throws IOException { // Generate a unique in-process server name. String serverName = InProcessServerBuilder.generateName(); // Create a server, add service, start, and register for automatic graceful shutdown. grpcCleanup.register(InProcessServerBuilder .forName(serverName).directExecutor().addService(serviceImpl).build().start()); // Create a client channel and register for automatic graceful shutdown. ManagedChannel channel = grpcCleanup.register( InProcessChannelBuilder.forName(serverName).directExecutor().build()); // Create a HelloWorldClient using the in-process channel; client = new DaprClientImpl(DaprGrpc.newStub(channel)); } @Test public void getActorStateException() { Mono result = client.getState(ACTOR_TYPE, ACTOR_EXCEPTION, KEY); assertThrowsDaprException( ExecutionException.class, "UNKNOWN", "UNKNOWN: Application error processing RPC", result::block); } @Test public void getActorState() { Mono result = client.getState(ACTOR_TYPE, ACTOR_ID, KEY); assertArrayEquals(RESPONSE_PAYLOAD, result.block()); } @Test public void saveActorStateTransactionallyException() { Mono result = client.saveStateTransactionally(ACTOR_TYPE, ACTOR_EXCEPTION, OPERATIONS); assertThrowsDaprException( ExecutionException.class, "UNKNOWN", "UNKNOWN: Application error processing RPC", result::block); } @Test public void saveActorStateTransactionally() { Mono result = client.saveStateTransactionally(ACTOR_TYPE, ACTOR_ID, OPERATIONS); result.block(); } @Test public void saveActorStateTransactionallyByteArray() { Mono result = client.saveStateTransactionally(ACTOR_TYPE, ACTOR_ID, OPERATIONS); result.block(); } @Test public void saveActorStateTransactionallyInvalidValueType() { ActorStateOperation[] operations = new ActorStateOperation[]{ new ActorStateOperation("upsert", "mykey", 123), new ActorStateOperation("delete", "mykey", null), }; Mono result = client.saveStateTransactionally(ACTOR_TYPE, ACTOR_ID, Arrays.asList(operations)); assertThrows(IllegalArgumentException.class, result::block); } @Test public void registerActorReminder() { ActorReminderParams params = new ActorReminderParams( "hello world".getBytes(), Duration.ofSeconds(1), Duration.ofSeconds(2) ); Mono result = client.registerReminder(ACTOR_TYPE, ACTOR_ID, REMINDER_NAME, params); result.block(); } @Test public void unregisterActorReminder() { Mono result = client.unregisterReminder(ACTOR_TYPE, ACTOR_ID, REMINDER_NAME); result.block(); } @Test public void registerActorTimer() { String callback = "mymethod"; ActorTimerParams params = new ActorTimerParams( callback, "hello world".getBytes(), Duration.ofSeconds(1), Duration.ofSeconds(2) ); Mono result = client.registerTimer(ACTOR_TYPE, ACTOR_ID, TIMER_NAME, params); result.block(); } @Test public void unregisterActorTimer() { Mono result = client.unregisterTimer(ACTOR_TYPE, ACTOR_ID, TIMER_NAME); result.block(); } private static class OperationsMatcher { private final List operations; OperationsMatcher(List operations) { this.operations = operations; } private static boolean nullableEquals(Object one, Any another) { if (one == null) { return another.getValue().isEmpty(); } if ((one == null) ^ (another == null)) { return false; } try { Any oneAny = getAny(one); return oneAny.getValue().equals(another.getValue()); } catch (IOException e) { e.printStackTrace(); return false; } } private static Any getAny(Object value) throws IOException { if (value instanceof byte[]) { String base64 = OBJECT_MAPPER.writeValueAsString(value); return Any.newBuilder().setValue(ByteString.copyFrom(base64.getBytes())).build(); } else if (value instanceof String) { return Any.newBuilder().setValue(ByteString.copyFrom(((String) value).getBytes())).build(); } throw new IllegalArgumentException("Must be byte[] or String"); } public boolean matches(DaprActorsProtos.ExecuteActorStateTransactionRequest argument) { if (argument == null) { return false; } if (operations.size() != argument.getOperationsCount()) { return false; } for (ActorStateOperation operation : operations) { boolean found = false; for (DaprActorsProtos.TransactionalActorStateOperation grpcOperation : argument.getOperationsList()) { if (operation.getKey().equals(grpcOperation.getKey()) && operation.getOperationType().equals(grpcOperation.getOperationType()) && nullableEquals(operation.getValue(), grpcOperation.getValue())) { found = true; break; } } if (!found) { return false; } } return true; } } private class CustomDaprClient extends DaprGrpc.DaprImplBase { @Override public void getActorState(DaprActorsProtos.GetActorStateRequest request, StreamObserver responseObserver) { assertEquals(ACTOR_TYPE, request.getActorType()); assertEquals(KEY, request.getKey()); assertEquals(ACTOR_ID, request.getActorId()); switch (request.getActorId()) { case ACTOR_ID: populateObserver(responseObserver, DaprActorsProtos.GetActorStateResponse.newBuilder().setData(ByteString.copyFrom(RESPONSE_PAYLOAD)) .build()); return; case ACTOR_EXCEPTION: throwException(responseObserver); return; } super.getActorState(request, responseObserver); } public void executeActorStateTransaction(DaprActorsProtos.ExecuteActorStateTransactionRequest request, io.grpc.stub.StreamObserver responseObserver) { assertEquals(ACTOR_TYPE, request.getActorType()); assertEquals(ACTOR_ID, request.getActorId()); assertTrue(new OperationsMatcher(OPERATIONS).matches(request)); switch (request.getActorId()) { case ACTOR_ID: populateObserver(responseObserver, Empty.newBuilder().build()); return; case ACTOR_EXCEPTION: throwException(responseObserver); return; } super.executeActorStateTransaction(request, responseObserver); } @Override public void registerActorReminder(DaprActorsProtos.RegisterActorReminderRequest request, io.grpc.stub.StreamObserver responseObserver) { assertEquals(REMINDER_NAME, request.getName()); assertEquals("0h0m1s0ms", request.getDueTime()); assertEquals("0h0m2s0ms", request.getPeriod()); assertEquals(ACTOR_TYPE, request.getActorType()); assertEquals(ACTOR_ID, request.getActorId()); switch (request.getActorId()) { case ACTOR_ID: populateObserver(responseObserver, Empty.newBuilder().build()); return; case ACTOR_EXCEPTION: throwException(responseObserver); return; } super.registerActorReminder(request, responseObserver); } public void registerActorTimer(DaprActorsProtos.RegisterActorTimerRequest request, io.grpc.stub.StreamObserver responseObserver) { assertEquals(ACTOR_TYPE, request.getActorType()); assertEquals(ACTOR_ID, request.getActorId()); assertEquals(TIMER_NAME, request.getName()); assertEquals("mymethod", request.getCallback()); assertEquals("0h0m1s0ms", request.getDueTime()); assertEquals("0h0m2s0ms", request.getPeriod()); switch (request.getActorId()) { case ACTOR_ID: populateObserver(responseObserver, Empty.newBuilder().build()); return; case ACTOR_EXCEPTION: throwException(responseObserver); return; } super.registerActorTimer(request, responseObserver); } /** *
             * Unregister an actor timer.
             * 
    */ public void unregisterActorTimer(DaprActorsProtos.UnregisterActorTimerRequest request, io.grpc.stub.StreamObserver responseObserver) { assertEquals(ACTOR_TYPE, request.getActorType()); assertEquals(ACTOR_ID, request.getActorId()); assertEquals(TIMER_NAME, request.getName()); switch (request.getActorId()) { case ACTOR_ID: populateObserver(responseObserver, Empty.newBuilder().build()); return; case ACTOR_EXCEPTION: throwException(responseObserver); return; } super.unregisterActorTimer(request, responseObserver); } public void unregisterActorReminder(DaprActorsProtos.UnregisterActorReminderRequest request, io.grpc.stub.StreamObserver responseObserver) { assertEquals(ACTOR_TYPE, request.getActorType()); assertEquals(ACTOR_ID, request.getActorId()); assertEquals(REMINDER_NAME, request.getName()); switch (request.getActorId()) { case ACTOR_ID: populateObserver(responseObserver, Empty.newBuilder().build()); return; case ACTOR_EXCEPTION: throwException(responseObserver); return; } super.unregisterActorReminder(request, responseObserver); } private void throwException(StreamObserver responseObserver) { Throwable e = new ArithmeticException(); StatusException se = new StatusException(Status.UNKNOWN.withCause(e)); responseObserver.onError(se); } private void populateObserver(StreamObserver responseObserver, T message) { responseObserver.onNext(message); responseObserver.onCompleted(); } } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/DaprInMemoryStateProvider.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.utils.TypeRef; import reactor.core.publisher.Mono; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** * Fake state provider for tests in Actors - data is kept in memory only. */ public class DaprInMemoryStateProvider extends DaprStateAsyncProvider { private static final Map stateStore = new HashMap<>(); private final DaprObjectSerializer serializer; DaprInMemoryStateProvider(DaprObjectSerializer serializer) { super(null, serializer /* just to avoid NPE */); this.serializer = serializer; } @Override Mono load(String actorType, ActorId actorId, String stateName, TypeRef type) { return Mono.fromSupplier(() -> { try { String stateId = this.buildId(actorType, actorId, stateName); if (!stateStore.containsKey(stateId)) { throw new IllegalStateException("State not found."); } return this.serializer.deserialize(this.stateStore.get(stateId), type); } catch (IOException e) { throw new RuntimeException(e); } }); } @Override Mono contains(String actorType, ActorId actorId, String stateName) { return Mono.fromSupplier(() -> stateStore.containsKey(this.buildId(actorType, actorId, stateName))); } @Override Mono apply(String actorType, ActorId actorId, ActorStateChange... stateChanges) { return Mono.fromRunnable(() -> { try { for (ActorStateChange stateChange : stateChanges) { String stateId = buildId(actorType, actorId, stateChange.getStateName()); switch (stateChange.getChangeKind()) { case REMOVE: stateStore.remove(stateId); break; case ADD: case UPDATE: byte[] raw = this.serializer.serialize(stateChange.getValue()); stateStore.put(stateId, raw); break; } } } catch (Exception e) { throw new RuntimeException(e); } }); } private static final String buildId(String actorType, ActorId actorId, String stateName) { return String.format("%s||%s||%s", actorType, actorId.toString(), stateName); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/DaprStateAsyncProviderTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.actors.ActorId; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.serializer.DefaultObjectSerializer; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.util.Arrays; import java.util.Objects; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; /** * Tests for the state store facade. */ public class DaprStateAsyncProviderTest { private static final DaprObjectSerializer SERIALIZER = new DefaultObjectSerializer(); private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); private static final double EPSILON = 1e-10; /** * Class used to test JSON serialization. */ public static final class Customer { private int id; private String name; public int getId() { return id; } public Customer setId(int id) { this.id = id; return this; } public String getName() { return name; } public Customer setName(String name) { this.name = name; return this; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Customer customer = (Customer) o; return id == customer.id && Objects.equals(name, customer.name); } @Override public int hashCode() { return Objects.hash(id, name); } } @Test public void happyCaseApply() { DaprClient daprClient = mock(DaprClient.class); when(daprClient .saveStateTransactionally( eq("MyActor"), eq("123"), argThat(operations -> { if (operations == null) { return false; } if (operations.size() != 4) { return false; } boolean foundInsertName = false; boolean foundUpdateZipcode = false; boolean foundDeleteFlag = false; boolean foundUpdateBytes = false; for (ActorStateOperation operation : operations) { if (operation.getOperationType() == null) { return false; } if (operation.getKey() == null) { return false; } String opName = operation.getOperationType(); String key = operation.getKey(); Object value = operation.getValue(); foundInsertName |= "upsert".equals(opName) && "name".equals(key) && "\"Jon Doe\"".equals(value); foundUpdateZipcode |= "upsert".equals(opName) && "zipcode".equals(key) && "98011".equals(value); foundDeleteFlag |= "delete".equals(opName) && "flag".equals(key) && (value == null); foundUpdateBytes |= "upsert".equals(opName) && "bytes".equals(key) && Arrays.equals(new byte[]{0x1}, (byte[]) value); } return foundInsertName && foundUpdateZipcode && foundDeleteFlag && foundUpdateBytes; }))) .thenReturn(Mono.empty()); DaprStateAsyncProvider provider = new DaprStateAsyncProvider(daprClient, SERIALIZER); provider.apply("MyActor", new ActorId("123"), createInsertChange("name", "Jon Doe"), createUpdateChange("zipcode", 98011), createDeleteChange("flag"), createUpdateChange("bytes", new byte[]{0x1})) .block(); verify(daprClient).saveStateTransactionally(eq("MyActor"), eq("123"), any()); } @Test public void happyCaseLoad() throws Exception { DaprClient daprClient = mock(DaprClient.class); when(daprClient .getState(any(), any(), eq("name"))) .thenReturn(Mono.just(SERIALIZER.serialize("Jon Doe"))); when(daprClient .getState(any(), any(), eq("zipcode"))) .thenReturn(Mono.just(SERIALIZER.serialize(98021))); when(daprClient .getState(any(), any(), eq("goals"))) .thenReturn(Mono.just(SERIALIZER.serialize(98))); when(daprClient .getState(any(), any(), eq("balance"))) .thenReturn(Mono.just(SERIALIZER.serialize(46.55))); when(daprClient .getState(any(), any(), eq("active"))) .thenReturn(Mono.just(SERIALIZER.serialize(true))); when(daprClient .getState(any(), any(), eq("customer"))) .thenReturn(Mono.just("{ \"id\": 1000, \"name\": \"Roxane\"}".getBytes())); when(daprClient .getState(any(), any(), eq("anotherCustomer"))) .thenReturn(Mono.just("{ \"id\": 2000, \"name\": \"Max\"}".getBytes())); when(daprClient .getState(any(), any(), eq("nullCustomer"))) .thenReturn(Mono.empty()); when(daprClient .getState(any(), any(), eq("bytes"))) .thenReturn(Mono.just("\"QQ==\"".getBytes())); when(daprClient .getState(any(), any(), eq("emptyBytes"))) .thenReturn(Mono.just(new byte[0])); DaprStateAsyncProvider provider = new DaprStateAsyncProvider(daprClient, SERIALIZER); Assertions.assertEquals("Jon Doe", provider.load("MyActor", new ActorId("123"), "name", TypeRef.STRING).block()); Assertions.assertEquals(98021, (int) provider.load("MyActor", new ActorId("123"), "zipcode", TypeRef.INT).block()); Assertions.assertEquals(98, (int) provider.load("MyActor", new ActorId("123"), "goals", TypeRef.INT).block()); Assertions.assertEquals(98, (int) provider.load("MyActor", new ActorId("123"), "goals", TypeRef.INT).block()); Assertions.assertEquals(46.55, (double) provider.load("MyActor", new ActorId("123"), "balance", TypeRef.DOUBLE).block(), EPSILON); Assertions.assertEquals(true, (boolean) provider.load("MyActor", new ActorId("123"), "active", TypeRef.BOOLEAN).block()); Assertions.assertEquals(new Customer().setId(1000).setName("Roxane"), provider.load("MyActor", new ActorId("123"), "customer", TypeRef.get(Customer.class)).block()); Assertions.assertNotEquals(new Customer().setId(1000).setName("Roxane"), provider.load("MyActor", new ActorId("123"), "anotherCustomer", TypeRef.get(Customer.class)).block()); Assertions.assertNull( provider.load("MyActor", new ActorId("123"), "nullCustomer", TypeRef.get(Customer.class)).block()); Assertions.assertArrayEquals("A".getBytes(), provider.load("MyActor", new ActorId("123"), "bytes", TypeRef.get(byte[].class)).block()); Assertions.assertNull( provider.load("MyActor", new ActorId("123"), "emptyBytes", TypeRef.get(byte[].class)).block()); } @Test public void happyCaseContains() { DaprClient daprClient = mock(DaprClient.class); // Keys that exists. when(daprClient .getState(any(), any(), eq("name"))) .thenReturn(Mono.just("Jon Doe".getBytes())); when(daprClient .getState(any(), any(), eq("zipcode"))) .thenReturn(Mono.just("98021".getBytes())); when(daprClient .getState(any(), any(), eq("goals"))) .thenReturn(Mono.just("98".getBytes())); when(daprClient .getState(any(), any(), eq("balance"))) .thenReturn(Mono.just("46.55".getBytes())); when(daprClient .getState(any(), any(), eq("active"))) .thenReturn(Mono.just("true".getBytes())); when(daprClient .getState(any(), any(), eq("customer"))) .thenReturn(Mono.just("{ \"id\": \"3000\", \"name\": \"Ely\" }".getBytes())); // Keys that do not exist. when(daprClient .getState(any(), any(), eq("Does not exist"))) .thenReturn(Mono.empty()); when(daprClient .getState(any(), any(), eq("NAME"))) .thenReturn(Mono.empty()); when(daprClient .getState(any(), any(), eq(null))) .thenReturn(Mono.empty()); DaprStateAsyncProvider provider = new DaprStateAsyncProvider(daprClient, SERIALIZER); Assertions.assertTrue(provider.contains("MyActor", new ActorId("123"), "name").block()); Assertions.assertFalse(provider.contains("MyActor", new ActorId("123"), "NAME").block()); Assertions.assertTrue(provider.contains("MyActor", new ActorId("123"), "zipcode").block()); Assertions.assertTrue(provider.contains("MyActor", new ActorId("123"), "goals").block()); Assertions.assertTrue(provider.contains("MyActor", new ActorId("123"), "balance").block()); Assertions.assertTrue(provider.contains("MyActor", new ActorId("123"), "active").block()); Assertions.assertTrue(provider.contains("MyActor", new ActorId("123"), "customer").block()); Assertions.assertFalse(provider.contains("MyActor", new ActorId("123"), "Does not exist").block()); Assertions.assertFalse(provider.contains("MyActor", new ActorId("123"), null).block()); } private final ActorStateChange createInsertChange(String name, T value) { return new ActorStateChange(name, value, ActorStateChangeKind.ADD); } private final ActorStateChange createUpdateChange(String name, T value) { return new ActorStateChange(name, value, ActorStateChangeKind.UPDATE); } private final ActorStateChange createDeleteChange(String name) { return new ActorStateChange(name, null, ActorStateChangeKind.REMOVE); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/DefaultActorFactoryTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.serializer.DaprObjectSerializer; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.mock; /** * Testing the default constructor of an Actor. */ public class DefaultActorFactoryTest { /** * A compliant implementation of Actor to be used in the tests below. */ static class MyActor extends AbstractActor { ActorRuntimeContext context; ActorId actorId; public MyActor(ActorRuntimeContext context, ActorId actorId) { super(context, actorId); this.context = context; this.actorId = actorId; } } /** * A non-compliant implementation of Actor to be used in the tests below. */ static class InvalidActor extends AbstractActor { InvalidActor() { super(null, null); } } /** * Happy case. */ @Test public void happyActor() { DefaultActorFactory factory = new DefaultActorFactory<>(); ActorId actorId = ActorId.createRandom(); MyActor actor = factory.createActor(createActorRuntimeContext(MyActor.class), actorId); Assertions.assertEquals(actorId, actor.actorId); Assertions.assertNotNull(actor.context); } /** * Class is not an actor. */ @Test public void noValidConstructor() { DefaultActorFactory factory = new DefaultActorFactory<>(); ActorId actorId = ActorId.createRandom(); assertThrows(RuntimeException.class, () -> factory.createActor(createActorRuntimeContext(InvalidActor.class), actorId)); } private static ActorRuntimeContext createActorRuntimeContext(Class clazz) { return new ActorRuntimeContext( mock(ActorRuntime.class), mock(DaprObjectSerializer.class), mock(ActorFactory.class), ActorTypeInformation.create(clazz), mock(DaprClient.class), mock(DaprStateAsyncProvider.class)); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/DerivedActorTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import io.dapr.actors.client.ActorProxy; import io.dapr.actors.client.ActorProxyImplForTests; import io.dapr.actors.client.DaprClientStub; import io.dapr.serializer.DefaultObjectSerializer; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.util.concurrent.atomic.AtomicInteger; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class DerivedActorTest { private static final ActorObjectSerializer INTERNAL_SERIALIZER = new ActorObjectSerializer(); private static final AtomicInteger ACTOR_ID_COUNT = new AtomicInteger(); private final ActorRuntimeContext context = createContext(); private ActorManager manager = new ActorManager<>(context); public interface MyActor { // These 4 will be implemented in the user code class that extends AbstractActor, but it // will not be implemented in another class that will inherit that. Mono onlyImplementedInParentStringInStringOut(String input); Mono onlyImplementedInParentStringInBooleanOut(String input); Mono onlyImplementedInParentStringInVoidOut(String input); Mono onlyImplementedInParentClassInClassOut(MyData input); // used to validate onlyImplementedInParentStringInVoidOut() was called boolean methodReturningVoidInvoked(); // The test will only call the versions of this in a derived class to the user code base class. // The user code base class version will throw. Mono stringInStringOut(String input); Mono stringInBooleanOut(String input); Mono stringInVoidOut(String input); Mono stringInVoidOutIntentionallyThrows(String input); Mono classInClassOut(MyData input); } @ActorType(name = "MyActor") public static class ActorParent extends AbstractActor implements MyActor { private final ActorId id; private boolean activated; private boolean methodReturningVoidInvoked; public ActorParent(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); this.id = id; this.activated = true; this.methodReturningVoidInvoked = false; } @Override public Mono onlyImplementedInParentStringInStringOut(String input) { return Mono.fromSupplier(() -> { return input + input + input; }); } @Override public Mono onlyImplementedInParentStringInBooleanOut(String input) { return Mono.fromSupplier(() -> { if (input.equals("icecream")) { return true; } else { return false; } }); } @Override public Mono onlyImplementedInParentStringInVoidOut(String input) { return Mono.fromRunnable(() -> { this.methodReturningVoidInvoked = true; System.out.println("Received " + input); }); } @Override public Mono onlyImplementedInParentClassInClassOut(MyData input) { return Mono.fromSupplier(() -> { return new MyData( input.getName() + input.getName() + input.getName(), input.getNum() + input.getNum() + input.getNum()); }); } @Override public boolean methodReturningVoidInvoked() { return this.methodReturningVoidInvoked; } @Override public Mono stringInStringOut(String s) { return Mono.fromSupplier(() -> { // In the cases below we intentionally only call the derived version of this. // ArithmeticException is being thrown only because it's un unusual exception so it's unlikely // to collide with something else. throw new ArithmeticException("This method should not have been called"); } ); } @Override public Mono stringInBooleanOut(String s) { return Mono.fromSupplier(() -> { // In the cases below we intentionally only call the derived version of this. // ArithmeticException is being thrown only because it's un unusual exception so it's unlikely // to collide with something else. throw new ArithmeticException("This method should not have been called"); }); } @Override public Mono stringInVoidOut(String input) { return Mono.fromRunnable(() -> { this.methodReturningVoidInvoked = true; System.out.println("Received " + input); }); } @Override public Mono stringInVoidOutIntentionallyThrows(String input) { return Mono.fromRunnable(() -> { // IllegalMonitorStateException is being thrown only because it's un unusual exception so it's unlikely // to collide with something else. throw new IllegalMonitorStateException("IntentionalException"); }); } @Override public Mono classInClassOut(MyData input) { return Mono.fromSupplier(() -> { // In the cases below we intentionally only call the derived version of this. // ArithmeticException is being thrown only because it's un unusual exception so it's unlikely // to collide with something else. throw new ArithmeticException("This method should not have been called"); }); } } public static class ActorChild extends ActorParent implements MyActor { private final ActorId id; private boolean activated; public ActorChild(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); this.id = id; this.activated = true; } @Override public Mono stringInStringOut(String s) { return Mono.fromSupplier(() -> { return s + s; } ); } @Override public Mono stringInBooleanOut(String s) { return Mono.fromSupplier(() -> { if (s.equals("true")) { return true; } else { return false; } }); } @Override public Mono classInClassOut(MyData input) { return Mono.fromSupplier(() -> { return new MyData( input.getName() + input.getName(), input.getNum() + input.getNum()); }); } } static class MyData { private String name; private int num; public MyData() { this.name = ""; this.num = 0; } public MyData(String name, int num) { this.name = name; this.num = num; } public String getName() { return this.name; } public int getNum() { return this.num; } } @Test public void stringInStringOut() { ActorProxy proxy = createActorProxyForActorChild(); // these should only call the actor methods for ActorChild. The implementations in ActorParent will throw. Assertions.assertEquals( "abcabc", proxy.invokeMethod("stringInStringOut", "abc", String.class).block()); } @Test public void stringInBooleanOut() { ActorProxy proxy = createActorProxyForActorChild(); // these should only call the actor methods for ActorChild. The implementations in ActorParent will throw. Assertions.assertEquals( false, proxy.invokeMethod("stringInBooleanOut", "hello world", Boolean.class).block()); Assertions.assertEquals( true, proxy.invokeMethod("stringInBooleanOut", "true", Boolean.class).block()); } @Test public void stringInVoidOut() { ActorProxy actorProxy = createActorProxyForActorChild(); // stringInVoidOut() has not been invoked so this is false Assertions.assertEquals( false, actorProxy.invokeMethod("methodReturningVoidInvoked", Boolean.class).block()); // these should only call the actor methods for ActorChild. The implementations in ActorParent will throw. actorProxy.invokeMethod("stringInVoidOut", "hello world").block(); Assertions.assertEquals( true, actorProxy.invokeMethod("methodReturningVoidInvoked", Boolean.class).block()); } @Test public void stringInVoidOutIntentionallyThrows() { ActorProxy actorProxy = createActorProxyForActorChild(); // these should only call the actor methods for ActorChild. The implementations in ActorParent will throw. assertThrows(IllegalMonitorStateException.class, () -> actorProxy.invokeMethod("stringInVoidOutIntentionallyThrows", "hello world").block()); } @Test public void classInClassOut() { ActorProxy actorProxy = createActorProxyForActorChild(); MyData d = new MyData("hi", 3); // this should only call the actor methods for ActorChild. The implementations in ActorParent will throw. MyData response = actorProxy.invokeMethod("classInClassOut", d, MyData.class).block(); Assertions.assertEquals( "hihi", response.getName()); Assertions.assertEquals( 6, response.getNum()); } // The actor methods this test invokes are all implemented in ActorParent only. We're asserting it's callable when the actor proxy is for an ActorChild. @Test public void testInheritedActorMethods() { ActorProxy actorProxy = createActorProxyForActorChild(); Assertions.assertEquals( "www", actorProxy.invokeMethod("onlyImplementedInParentStringInStringOut", "w", String.class).block()); Assertions.assertEquals( true, actorProxy.invokeMethod("onlyImplementedInParentStringInBooleanOut", "icecream", Boolean.class).block()); // onlyImplementedInParentStringInVoidOut() has not been invoked so this is false Assertions.assertEquals( false, actorProxy.invokeMethod("methodReturningVoidInvoked", Boolean.class).block()); actorProxy.invokeMethod("onlyImplementedInParentStringInVoidOut", "icecream", Boolean.class).block(); // now it should return true. Assertions.assertEquals( true, actorProxy.invokeMethod("methodReturningVoidInvoked", Boolean.class).block()); MyData d = new MyData("hi", 3); MyData response = actorProxy.invokeMethod("onlyImplementedInParentClassInClassOut", d, MyData.class).block(); Assertions.assertEquals( "hihihi", response.getName()); Assertions.assertEquals( 9, response.getNum()); } private static ActorId newActorId() { return new ActorId(Integer.toString(ACTOR_ID_COUNT.incrementAndGet())); } private ActorProxy createActorProxyForActorChild() { ActorId actorId = newActorId(); // Mock daprClient for ActorProxy only, not for runtime. DaprClientStub daprClient = mock(DaprClientStub.class); when(daprClient.invoke( eq(context.getActorTypeInformation().getName()), eq(actorId.toString()), any(), any())) .thenAnswer(invocationOnMock -> this.manager.invokeMethod( new ActorId(invocationOnMock.getArgument(1, String.class)), invocationOnMock.getArgument(2, String.class), invocationOnMock.getArgument(3, byte[].class))); this.manager.activateActor(actorId).block(); return new ActorProxyImplForTests( context.getActorTypeInformation().getName(), actorId, new DefaultObjectSerializer(), daprClient); } private static ActorRuntimeContext createContext() { DaprClient daprClient = mock(DaprClient.class); when(daprClient.registerTimer(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.registerReminder(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterTimer(any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterReminder(any(), any(), any())).thenReturn(Mono.empty()); return new ActorRuntimeContext( mock(ActorRuntime.class), new DefaultObjectSerializer(), new DefaultActorFactory(), ActorTypeInformation.create(ActorChild.class), daprClient, mock(DaprStateAsyncProvider.class) ); } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/JavaSerializer.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.utils.TypeRef; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /** * Class used to test different serializer implementations. */ public class JavaSerializer implements DaprObjectSerializer { /** * {@inheritDoc} */ @Override public byte[] serialize(Object o) throws IOException { try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) { try (ObjectOutputStream oos = new ObjectOutputStream(bos)) { oos.writeObject(o); oos.flush(); return bos.toByteArray(); } } } /** * {@inheritDoc} */ @Override public T deserialize(byte[] data, TypeRef type) throws IOException { try (ByteArrayInputStream bis = new ByteArrayInputStream(data)) { try (ObjectInputStream ois = new ObjectInputStream(bis)) { try { return (T) ois.readObject(); } catch (Exception e) { throw new IOException("Could not deserialize Java object.", e); } } } } /** * {@inheritDoc} */ @Override public String getContentType() { return "application/json"; } } ================================================ FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ThrowFromPreAndPostActorMethodsTest.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import io.dapr.actors.client.ActorProxy; import io.dapr.actors.client.ActorProxyImplForTests; import io.dapr.actors.client.DaprClientStub; import io.dapr.serializer.DefaultObjectSerializer; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.util.concurrent.atomic.AtomicInteger; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class ThrowFromPreAndPostActorMethodsTest { private static final ActorObjectSerializer INTERNAL_SERIALIZER = new ActorObjectSerializer(); private static final AtomicInteger ACTOR_ID_COUNT = new AtomicInteger(); private final ActorRuntimeContext context = createContext(); private ActorManager manager = new ActorManager<>(context); public interface MyActor { Mono stringInBooleanOut(String input); } @ActorType(name = "MyActor") public static class ActorParent extends AbstractActor implements MyActor { private final ActorId id; private boolean activated; private boolean methodReturningVoidInvoked; public ActorParent(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); this.id = id; this.activated = true; this.methodReturningVoidInvoked = false; } @Override public Mono onPreActorMethodInternal(ActorMethodContext actorMethodContext) { // IllegalMonitorStateException is being thrown only because it's un unusual exception so it's unlikely // to collide with something else. throw new IllegalMonitorStateException("Intentional throw from onPreActorMethodInternal"); } @Override public Mono stringInBooleanOut(String s) { return Mono.fromSupplier(() -> { // In the cases below we intentionally only call the derived version of this. // ArithmeticException is being thrown only because it's un unusual exception so it's unlikely // to collide with something else. throw new ArithmeticException("This method should not have been called"); }); } } public static class ActorChild extends ActorParent implements MyActor { private final ActorId id; private boolean activated; public ActorChild(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); this.id = id; this.activated = true; } @Override public Mono stringInBooleanOut(String s) { return Mono.fromSupplier(() -> { if (s.equals("true")) { return true; } else { return false; } }); } } static class MyData { private String name; private int num; public MyData() { this.name = ""; this.num = 0; } public MyData(String name, int num) { this.name = name; this.num = num; } public String getName() { return this.name; } public int getNum() { return this.num; } } // IllegalMonitorStateException should be intentionally thrown. This type was chosen for this test just because // it is unlikely to collide. @Test public void stringInBooleanOut1() { ActorProxy proxy = createActorProxyForActorChild(); // these should only call the actor methods for ActorChild. The implementations in ActorParent will throw. assertThrows(IllegalMonitorStateException.class, () -> proxy.invokeMethod("stringInBooleanOut", "hello world", Boolean.class).block()); } // IllegalMonitorStateException should be intentionally thrown. This type was chosen for this test just because // it is unlikely to collide. @Test public void stringInBooleanOut2() { ActorProxy proxy = createActorProxyForActorChild(); // these should only call the actor methods for ActorChild. The implementations in ActorParent will throw. assertThrows(IllegalMonitorStateException.class, () -> proxy.invokeMethod("stringInBooleanOut", "true", Boolean.class).block()); } private static ActorId newActorId() { return new ActorId(Integer.toString(ACTOR_ID_COUNT.incrementAndGet())); } private ActorProxy createActorProxyForActorChild() { ActorId actorId = newActorId(); // Mock daprClient for ActorProxy only, not for runtime. DaprClientStub daprClient = mock(DaprClientStub.class); when(daprClient.invoke( eq(context.getActorTypeInformation().getName()), eq(actorId.toString()), any(), any())) .thenAnswer(invocationOnMock -> this.manager.invokeMethod( new ActorId(invocationOnMock.getArgument(1, String.class)), invocationOnMock.getArgument(2, String.class), invocationOnMock.getArgument(3, byte[].class))); this.manager.activateActor(actorId).block(); return new ActorProxyImplForTests( context.getActorTypeInformation().getName(), actorId, new DefaultObjectSerializer(), daprClient); } private static ActorRuntimeContext createContext() { DaprClient daprClient = mock(DaprClient.class); when(daprClient.registerTimer(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.registerReminder(any(), any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterTimer(any(), any(), any())).thenReturn(Mono.empty()); when(daprClient.unregisterReminder(any(), any(), any())).thenReturn(Mono.empty()); return new ActorRuntimeContext( mock(ActorRuntime.class), new DefaultObjectSerializer(), new DefaultActorFactory(), ActorTypeInformation.create(ActorChild.class), daprClient, mock(DaprStateAsyncProvider.class) ); } } ================================================ FILE: sdk-actors/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker ================================================ mock-maker-inline ================================================ FILE: sdk-autogen/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml dapr-sdk-autogen jar dapr-sdk-autogen Auto-generated SDK for Dapr 17 ${project.build.directory}/generated-sources ${project.build.directory}/proto false javax.annotation javax.annotation-api provided io.grpc grpc-netty io.grpc grpc-protobuf io.grpc grpc-stub io.grpc grpc-testing test org.sonatype.plugins nexus-staging-maven-plugin com.googlecode.maven-download-plugin download-maven-plugin ${download-maven-plugin.version} getCommonProto initialize wget true ${dapr.proto.baseurl}/common/v1/common.proto common.proto ${protobuf.input.directory}/dapr/proto/common/v1 getActorsProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/actors.proto actors.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getAiProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/ai.proto ai.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getAppcallbackProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/appcallback.proto appcallback.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getBindingProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/binding.proto binding.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getConfigurationProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/configuration.proto configuration.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getCryptoProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/crypto.proto crypto.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getDaprProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/dapr.proto dapr.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getInvokeProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/invoke.proto invoke.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getJobsProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/jobs.proto jobs.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getLockProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/lock.proto lock.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getMetadataProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/metadata.proto metadata.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getPubsubProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/pubsub.proto pubsub.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getSecretProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/secret.proto secret.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getStateProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/state.proto state.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 getWorkflowProto initialize wget true ${dapr.proto.baseurl}/runtime/v1/workflow.proto workflow.proto ${protobuf.input.directory}/dapr/proto/runtime/v1 org.xolstice.maven.plugins protobuf-maven-plugin ${protobuf-maven-plugin.version} com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier} grpc-java io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier} ${protobuf.input.directory} compile compile-custom dapr/proto/common/v1/common.proto dapr/proto/runtime/v1/*.proto org.apache.maven.plugins maven-source-plugin ${maven-sources-plugin.version} attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin ${maven-javadoc-plugin.version} true attach-javadocs jar com.github.spotbugs spotbugs-maven-plugin true ================================================ FILE: sdk-autogen/src/main/java/.keepme ================================================ ================================================ FILE: sdk-autogen/src/test/java/.keepme ================================================ ================================================ FILE: sdk-bom/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-bom 1.18.0-SNAPSHOT pom dapr-sdk-bom Dapr SDK Bill of Materials (BOM) for the core SDK modules. Import this POM to manage versions of dapr-sdk, dapr-sdk-actors, dapr-sdk-workflows, and their security-critical transitive dependencies. Spring users should also import dapr-spring-bom for the Spring-specific modules. https://dapr.io Apache License Version 2.0 https://opensource.org/licenses/Apache-2.0 Dapr daprweb@microsoft.com Dapr https://dapr.io https://github.com/dapr/java-sdk scm:git:https://github.com/dapr/java-sdk.git HEAD ossrh https://central.sonatype.com/repository/maven-snapshots/ true 1.18.0-SNAPSHOT 4.1.132.Final 2.21.2 1.26.0 org.apache.maven.plugins maven-site-plugin 3.12.1 true org.sonatype.plugins nexus-staging-maven-plugin 1.7.0 true ossrh https://ossrh-staging-api.central.sonatype.com true org.apache.maven.plugins maven-gpg-plugin 3.1.0 sign-artifacts verify sign --batch --pinentry-mode loopback io.dapr dapr-sdk-autogen ${dapr.sdk.version} io.dapr dapr-sdk ${dapr.sdk.version} io.dapr dapr-sdk-actors ${dapr.sdk.version} io.dapr dapr-sdk-workflows ${dapr.sdk.version} io.dapr testcontainers-dapr ${dapr.sdk.version} io.dapr durabletask-client ${dapr.sdk.version} io.netty netty-bom ${netty.version} pom import com.fasterxml.jackson jackson-bom ${jackson.version} pom import org.apache.commons commons-compress ${commons-compress.version} commons-codec commons-codec 1.17.2 ================================================ FILE: sdk-springboot/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml dapr-sdk-springboot jar dapr-sdk-springboot SDK extension for Springboot io.dapr dapr-sdk ${project.version} io.dapr dapr-sdk-actors ${project.version} org.springframework spring-web true org.springframework spring-context true org.springframework.boot spring-boot-starter compile org.springframework.boot spring-boot-configuration-processor true org.springframework.boot spring-boot-starter-test test org.sonatype.plugins nexus-staging-maven-plugin org.apache.maven.plugins maven-source-plugin org.apache.maven.plugins maven-javadoc-plugin org.jacoco jacoco-maven-plugin check check BUNDLE io.dapr.springboot.DaprBeanPostProcessor LINE COVEREDRATIO ${jacoco-maven-plugin.coverage-ratio} ================================================ FILE: sdk-springboot/spotbugs-exclude.xml ================================================ ================================================ FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprAutoConfiguration.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; /** * Dapr's Spring Boot AutoConfiguration. */ @Configuration @ConditionalOnWebApplication @ComponentScan("io.dapr.springboot") public class DaprAutoConfiguration { } ================================================ FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprBeanPostProcessor.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.Rule; import io.dapr.Topic; import io.dapr.springboot.annotations.BulkSubscribe; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.beans.factory.config.EmbeddedValueResolver; import org.springframework.stereotype.Component; import org.springframework.util.StringValueResolver; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Handles Dapr annotations in Spring Controllers. */ @Component public class DaprBeanPostProcessor implements BeanPostProcessor { private static final ObjectMapper MAPPER = new ObjectMapper(); private final EmbeddedValueResolver embeddedValueResolver; DaprBeanPostProcessor(ConfigurableBeanFactory beanFactory) { embeddedValueResolver = new EmbeddedValueResolver(beanFactory); } /** * {@inheritDoc} */ @Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { if (bean == null) { return null; } subscribeToTopics(bean.getClass(), embeddedValueResolver, DaprRuntime.getInstance()); return bean; } /** * {@inheritDoc} */ @Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { return bean; } /** * Subscribe to topics based on {@link Topic} annotations on the given class and * any of ancestor classes. * * @param clazz Controller class where {@link Topic} is expected. */ private static void subscribeToTopics( Class clazz, StringValueResolver stringValueResolver, DaprRuntime daprRuntime) { if (clazz == null) { return; } subscribeToTopics(clazz.getSuperclass(), stringValueResolver, daprRuntime); for (Method method : clazz.getDeclaredMethods()) { Topic topic = method.getAnnotation(Topic.class); if (topic == null) { continue; } DaprTopicBulkSubscribe bulkSubscribe = null; BulkSubscribe bulkSubscribeAnnotation = method.getAnnotation(BulkSubscribe.class); if (bulkSubscribeAnnotation != null) { bulkSubscribe = new DaprTopicBulkSubscribe(true); int maxMessagesCount = bulkSubscribeAnnotation.maxMessagesCount(); if (maxMessagesCount != -1) { bulkSubscribe.setMaxMessagesCount(maxMessagesCount); } int maxAwaitDurationMs = bulkSubscribeAnnotation.maxAwaitDurationMs(); if (maxAwaitDurationMs != -1) { bulkSubscribe.setMaxAwaitDurationMs(maxAwaitDurationMs); } } Rule rule = topic.rule(); String topicName = stringValueResolver.resolveStringValue(topic.name()); String pubSubName = stringValueResolver.resolveStringValue(topic.pubsubName()); String deadLetterTopic = stringValueResolver.resolveStringValue(topic.deadLetterTopic()); String match = stringValueResolver.resolveStringValue(rule.match()); if ((topicName != null) && (topicName.length() > 0) && pubSubName != null && pubSubName.length() > 0) { try { TypeReference> typeRef = new TypeReference>() { }; Map metadata = MAPPER.readValue(topic.metadata(), typeRef); List routes = getAllCompleteRoutesForPost(clazz, method, topicName); for (String route : routes) { daprRuntime.addSubscribedTopic( pubSubName, topicName, match, rule.priority(), route, deadLetterTopic, metadata, bulkSubscribe); } } catch (JsonProcessingException e) { throw new IllegalArgumentException("Error while parsing metadata: " + e); } } } } /** * Method to provide all possible complete routes list fos this post method * present in this controller class, * for mentioned topic. * * @param clazz Controller class * @param method Declared method for posting data * @param topicName Associated topic name * @return All possible routes for post mapping for this class and post method */ private static List getAllCompleteRoutesForPost(Class clazz, Method method, String topicName) { List routesList = new ArrayList<>(); RequestMapping clazzRequestMapping = (RequestMapping) clazz.getAnnotation(RequestMapping.class); String[] clazzLevelRoute = null; if (clazzRequestMapping != null) { clazzLevelRoute = clazzRequestMapping.value(); } String[] postValueArray = getRoutesForPost(method, topicName); if (postValueArray != null && postValueArray.length >= 1) { for (String postValue : postValueArray) { if (clazzLevelRoute != null && clazzLevelRoute.length >= 1) { for (String clazzLevelValue : clazzLevelRoute) { String route = clazzLevelValue + confirmLeadingSlash(postValue); routesList.add(route); } } else { routesList.add(postValue); } } } return routesList; } private static String[] getRoutesForPost(Method method, String topicName) { String[] postValueArray = new String[] { topicName }; PostMapping postMapping = method.getAnnotation(PostMapping.class); if (postMapping != null) { if (postMapping.path() != null && postMapping.path().length >= 1) { postValueArray = postMapping.path(); } else if (postMapping.value() != null && postMapping.value().length >= 1) { postValueArray = postMapping.value(); } } else { RequestMapping reqMapping = method.getAnnotation(RequestMapping.class); for (RequestMethod reqMethod : reqMapping.method()) { if (reqMethod == RequestMethod.POST) { if (reqMapping.path() != null && reqMapping.path().length >= 1) { postValueArray = reqMapping.path(); } else if (reqMapping.value() != null && reqMapping.value().length >= 1) { postValueArray = reqMapping.value(); } break; } } } return postValueArray; } private static String confirmLeadingSlash(String path) { if (path != null && path.length() >= 1) { if (!path.substring(0, 1).equals("/")) { return "/" + path; } } return path; } } ================================================ FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprController.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot; import io.dapr.actors.runtime.ActorRuntime; import io.dapr.serializer.DefaultObjectSerializer; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; import java.io.IOException; /** * SpringBoot Controller to handle callback APIs for Dapr. */ @RestController public class DaprController { /** * Dapr's default serializer/deserializer. */ private static final DefaultObjectSerializer SERIALIZER = new DefaultObjectSerializer(); /** * Callback API for health checks from Dapr's sidecar. */ @GetMapping(path = "/healthz") public void healthz() { } /** * Returns Dapr's configuration for Actors. * @return Actor's configuration. * @throws IOException If cannot generate configuration. */ @GetMapping(path = "/dapr/config", produces = MediaType.APPLICATION_JSON_VALUE) public byte[] daprConfig() throws IOException { return ActorRuntime.getInstance().serializeConfig(); } /** * Returns the list of subscribed topics. * @return List of subscribed topics. * @throws IOException If cannot generate list of topics. */ @GetMapping(path = "/dapr/subscribe", produces = MediaType.APPLICATION_JSON_VALUE) public byte[] daprSubscribe() throws IOException { return SERIALIZER.serialize(DaprRuntime.getInstance().listSubscribedTopics()); } /** * Handles API to deactivate an actor. * @param type Actor type. * @param id Actor Id. * @return Void. */ @DeleteMapping(path = "/actors/{type}/{id}") public Mono deactivateActor(@PathVariable("type") String type, @PathVariable("id") String id) { return ActorRuntime.getInstance().deactivate(type, id); } /** * Handles API to invoke an actor's method. * @param type Actor type. * @param id Actor Id. * @param method Actor method. * @param body Raw request body. * @return Raw response body. */ @PutMapping(path = "/actors/{type}/{id}/method/{method}") public Mono invokeActorMethod(@PathVariable("type") String type, @PathVariable("id") String id, @PathVariable("method") String method, @RequestBody(required = false) byte[] body) { return ActorRuntime.getInstance().invoke(type, id, method, body); } /** * Handles API to trigger an actor's timer. * @param type Actor type. * @param id Actor Id. * @param timer Actor timer's name. * @param body Raw request's body. * @return Void. */ @PutMapping(path = "/actors/{type}/{id}/method/timer/{timer}") public Mono invokeActorTimer(@PathVariable("type") String type, @PathVariable("id") String id, @PathVariable("timer") String timer, @RequestBody byte[] body) { return ActorRuntime.getInstance().invokeTimer(type, id, timer, body); } /** * Handles API to trigger an actor's reminder. * @param type Actor type. * @param id Actor Id. * @param reminder Actor reminder's name. * @param body Raw request's body. * @return Void. */ @PutMapping(path = "/actors/{type}/{id}/method/remind/{reminder}") public Mono invokeActorReminder(@PathVariable("type") String type, @PathVariable("id") String id, @PathVariable("reminder") String reminder, @RequestBody(required = false) byte[] body) { return ActorRuntime.getInstance().invokeReminder(type, id, reminder, body); } } ================================================ FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprRuntime.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * Internal Singleton to handle Dapr configuration. */ class DaprRuntime { /** * The singleton instance. */ private static volatile DaprRuntime instance; /** * Map of subscription builders. */ private final Map subscriptionBuilders = new HashMap<>(); /** * DaprRuntime should be used as a singleton, using {@link DaprRuntime#getInstance()}. The * constructor's default scope is available for unit tests only. */ private DaprRuntime() { } /** * Returns an DaprRuntime object. * * @return An DaprRuntime object. */ public static DaprRuntime getInstance() { if (instance == null) { synchronized (DaprRuntime.class) { if (instance == null) { instance = new DaprRuntime(); } } } return instance; } /** * Adds a topic to the list of subscribed topics. * * @param pubSubName PubSub name to subscribe to. * @param topicName Name of the topic being subscribed to. * @param match Match expression for this route. * @param priority Priority for this match relative to others. * @param route Destination route for requests. * @param metadata Metadata for extended subscription functionality. */ public synchronized void addSubscribedTopic(String pubSubName, String topicName, String match, int priority, String route, Map metadata) { this.addSubscribedTopic(pubSubName, topicName, match, priority, route, metadata, null); } /** * Adds a topic to the list of subscribed topics. * * @param pubSubName PubSub name to subscribe to. * @param topicName Name of the topic being subscribed to. * @param match Match expression for this route. * @param priority Priority for this match relative to others. * @param route Destination route for requests. * @param metadata Metadata for extended subscription functionality. * @param bulkSubscribe Bulk subscribe configuration. */ public synchronized void addSubscribedTopic(String pubSubName, String topicName, String match, int priority, String route, Map metadata, DaprTopicBulkSubscribe bulkSubscribe) { this.addSubscribedTopic(pubSubName, topicName, match, priority, route, null, metadata, bulkSubscribe); } /** * Adds a topic to the list of subscribed topics. * * @param pubSubName PubSub name to subscribe to. * @param topicName Name of the topic being subscribed to. * @param match Match expression for this route. * @param priority Priority for this match relative to others. * @param route Destination route for requests. * @param deadLetterTopic Name of topic to forward undeliverable messages. * @param metadata Metadata for extended subscription functionality. */ public synchronized void addSubscribedTopic(String pubSubName, String topicName, String match, int priority, String route, String deadLetterTopic, Map metadata) { this.addSubscribedTopic(pubSubName, topicName, match, priority, route, deadLetterTopic, metadata, null); } /** * Adds a topic to the list of subscribed topics. * * @param pubSubName PubSub name to subscribe to. * @param topicName Name of the topic being subscribed to. * @param match Match expression for this route. * @param priority Priority for this match relative to others. * @param route Destination route for requests. * @param deadLetterTopic Name of topic to forward undeliverable messages. * @param metadata Metadata for extended subscription functionality. * @param bulkSubscribe Bulk subscribe configuration. */ public synchronized void addSubscribedTopic(String pubSubName, String topicName, String match, int priority, String route, String deadLetterTopic, Map metadata, DaprTopicBulkSubscribe bulkSubscribe) { DaprTopicKey topicKey = new DaprTopicKey(pubSubName, topicName); DaprSubscriptionBuilder builder = subscriptionBuilders.get(topicKey); if (builder == null) { builder = new DaprSubscriptionBuilder(pubSubName, topicName); subscriptionBuilders.put(topicKey, builder); } if (match.length() > 0) { builder.addRule(route, match, priority); } else { builder.setDefaultPath(route); } if (metadata != null && !metadata.isEmpty()) { builder.setMetadata(metadata); } if (deadLetterTopic != null && !deadLetterTopic.isEmpty()) { builder.setDeadLetterTopic(deadLetterTopic); } if (bulkSubscribe != null) { builder.setBulkSubscribe(bulkSubscribe); } } public synchronized DaprTopicSubscription[] listSubscribedTopics() { List values = subscriptionBuilders.values().stream() .map(b -> b.build()).collect(Collectors.toList()); return values.toArray(new DaprTopicSubscription[0]); } } ================================================ FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprSubscriptionBuilder.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.stream.Collectors; class DaprSubscriptionBuilder { private final String pubsubName; private final String topic; private final List rules; private String deadLetterTopic; private String defaultPath; private Map metadata; private DaprTopicBulkSubscribe bulkSubscribe; /** * Create a subscription topic. * * @param pubsubName The pubsub name to subscribe to. * @param topic The topic to subscribe to. */ DaprSubscriptionBuilder(String pubsubName, String topic) { this.pubsubName = pubsubName; this.topic = topic; this.rules = new ArrayList<>(); this.deadLetterTopic = null; this.defaultPath = null; this.metadata = Collections.emptyMap(); } /** * Sets the default path for the subscription. * * @param path The default path. * @return this instance. */ DaprSubscriptionBuilder setDefaultPath(String path) { if (defaultPath != null) { if (!defaultPath.equals(path)) { throw new RuntimeException( String.format( "a default route is already set for topic %s on pubsub %s (current: '%s', supplied: '%s')", this.topic, this.pubsubName, this.defaultPath, path)); } } defaultPath = path; return this; } /** * Sets the dead letter topic for the subscription. * * @param deadLetterTopic Name of dead letter topic. * @return this instance. */ DaprSubscriptionBuilder setDeadLetterTopic(String deadLetterTopic) { if (this.deadLetterTopic != null) { if (!this.deadLetterTopic.equals(deadLetterTopic)) { throw new RuntimeException( String.format( "a default dead letter topic is already set for topic %s on pubsub %s (current: '%s', supplied: '%s')", this.topic, this.pubsubName, this.deadLetterTopic, deadLetterTopic)); } } this.deadLetterTopic = deadLetterTopic; return this; } /** * Adds a rule to the subscription. * * @param path The path to route to. * @param match The CEL expression the event must match. * @param priority The priority of the rule. * @return this instance. */ public DaprSubscriptionBuilder addRule(String path, String match, int priority) { if (rules.stream().anyMatch(e -> e.getPriority() == priority)) { throw new RuntimeException( String.format( "a rule priority of %d is already used for topic %s on pubsub %s", priority, this.topic, this.pubsubName)); } rules.add(new TopicRule(path, match, priority)); return this; } /** * Sets the metadata for the subscription. * * @param metadata The metadata. * @return this instance. */ public DaprSubscriptionBuilder setMetadata(Map metadata) { this.metadata = metadata; return this; } /** * Sets the bulkSubscribe configuration for the subscription. * * @param bulkSubscribe The bulk subscribe configuration. * @return this instance. */ public DaprSubscriptionBuilder setBulkSubscribe(DaprTopicBulkSubscribe bulkSubscribe) { this.bulkSubscribe = bulkSubscribe; return this; } /** * Builds the DaprTopicSubscription that is returned by the application to Dapr. * * @return The DaprTopicSubscription. */ public DaprTopicSubscription build() { String route = null; DaprTopicRoutes routes = null; if (!rules.isEmpty()) { Collections.sort(rules, Comparator.comparingInt(TopicRule::getPriority)); List topicRules = rules.stream() .map(e -> new DaprTopicRule(e.match, e.path)).collect(Collectors.toList()); routes = new DaprTopicRoutes(topicRules, defaultPath); } else { route = defaultPath; } return new DaprTopicSubscription(this.pubsubName, this.topic, route, this.deadLetterTopic, routes, metadata, bulkSubscribe); } private static class TopicRule { private final String path; private final String match; private final int priority; public TopicRule(String path, String match, int priority) { this.path = path; this.match = match; this.priority = priority; } public int getPriority() { return priority; } } } ================================================ FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprTopicBulkSubscribe.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot; class DaprTopicBulkSubscribe { private boolean enabled; private Integer maxMessagesCount; private Integer maxAwaitDurationMs; DaprTopicBulkSubscribe(boolean enabled) { this.enabled = enabled; } public boolean isEnabled() { return enabled; } public Integer getMaxAwaitDurationMs() { return maxAwaitDurationMs; } public Integer getMaxMessagesCount() { return maxMessagesCount; } public void setEnabled(boolean enabled) { this.enabled = enabled; } public void setMaxAwaitDurationMs(int maxAwaitDurationMs) { if (maxAwaitDurationMs < 0) { throw new IllegalArgumentException("maxAwaitDurationMs cannot be negative"); } this.maxAwaitDurationMs = maxAwaitDurationMs; } public void setMaxMessagesCount(int maxMessagesCount) { if (maxMessagesCount < 1) { throw new IllegalArgumentException("maxMessagesCount must be greater than 0"); } this.maxMessagesCount = maxMessagesCount; } } ================================================ FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprTopicKey.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot; import java.util.Objects; class DaprTopicKey { private final String pubsubName; private final String topic; DaprTopicKey(String pubsubName, String topic) { this.pubsubName = pubsubName; this.topic = topic; } public String getPubsubName() { return pubsubName; } public String getTopic() { return topic; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } DaprTopicKey that = (DaprTopicKey) o; return pubsubName.equals(that.pubsubName) && topic.equals(that.topic); } @Override public int hashCode() { return Objects.hash(pubsubName, topic); } } ================================================ FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprTopicRoutes.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; import java.util.Optional; class DaprTopicRoutes { private final List rules; @JsonProperty("default") private final String defaultRoute; DaprTopicRoutes(List rules, String defaultRoute) { this.rules = rules; this.defaultRoute = defaultRoute; } public List getRules() { return rules; } public String getDefaultRoute() { return defaultRoute; } } ================================================ FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprTopicRule.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot; import java.util.Objects; class DaprTopicRule { private final String match; private final String path; DaprTopicRule(String match, String path) { this.match = match; this.path = path; } public String getMatch() { return match; } public String getPath() { return path; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } DaprTopicRule that = (DaprTopicRule) o; return match.equals(that.match) && path.equals(that.path); } @Override public int hashCode() { return Objects.hash(match, path); } } ================================================ FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprTopicSubscription.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot; import java.util.Collections; import java.util.Map; /** * Class to represent a subscription topic along with its metadata. */ class DaprTopicSubscription { private final String pubsubName; private final String topic; private final String route; private final String deadLetterTopic; private final DaprTopicRoutes routes; private final Map metadata; private final DaprTopicBulkSubscribe bulkSubscribe; /** * Create a subscription topic. * @param pubsubName The pubsub name to subscribe to. * @param topic The topic to subscribe to. * @param route Destination route for messages. * @param metadata Metadata for extended subscription functionality. */ DaprTopicSubscription(String pubsubName, String topic, String route, Map metadata) { this(pubsubName, topic, route, metadata, null); } /** * Create a subscription topic. * @param pubsubName The pubsub name to subscribe to. * @param topic The topic to subscribe to. * @param route Destination route for messages. * @param deadLetterTopic Name of topic to forward undeliverable messages. * @param metadata Metadata for extended subscription functionality. */ DaprTopicSubscription(String pubsubName, String topic, String route, String deadLetterTopic, Map metadata) { this(pubsubName, topic, route, deadLetterTopic, null, metadata, null); } /** * Create a subscription topic. * @param pubsubName The pubsub name to subscribe to. * @param topic The topic to subscribe to. * @param route Destination route for messages. * @param metadata Metadata for extended subscription functionality. * @param bulkSubscribe Bulk subscribe configuration. */ DaprTopicSubscription(String pubsubName, String topic, String route, Map metadata, DaprTopicBulkSubscribe bulkSubscribe) { this(pubsubName, topic, route, "", null, metadata, bulkSubscribe); } /** * Create a subscription topic. * @param pubsubName The pubsub name to subscribe to. * @param topic The topic to subscribe to. * @param route Destination route for messages. * @param deadLetterTopic Name of topic to forward undeliverable messages. * @param metadata Metadata for extended subscription functionality. * @param bulkSubscribe Bulk subscribe configuration. */ DaprTopicSubscription(String pubsubName, String topic, String route, String deadLetterTopic, Map metadata, DaprTopicBulkSubscribe bulkSubscribe) { this(pubsubName, topic, route, deadLetterTopic, null, metadata, bulkSubscribe); } /** * Create a subscription topic. * @param pubsubName The pubsub name to subscribe to. * @param topic The topic to subscribe to. * @param route Destination route for messages. * @param routes Destination routes with rules for messages. * @param metadata Metadata for extended subscription functionality. */ DaprTopicSubscription(String pubsubName, String topic, String route, DaprTopicRoutes routes, Map metadata) { this(pubsubName, topic, route, "", routes, metadata, null); } /** * Create a subscription topic. * @param pubsubName The pubsub name to subscribe to. * @param topic The topic to subscribe to. * @param route Destination route for messages. * @param deadLetterTopic Name of topic to forward undeliverable messages. * @param routes Destination routes with rules for messages. * @param metadata Metadata for extended subscription functionality. */ DaprTopicSubscription(String pubsubName, String topic, String route, String deadLetterTopic, DaprTopicRoutes routes, Map metadata) { this(pubsubName, topic, route, deadLetterTopic, routes, metadata, null); } /** * Create a subscription topic. * * @param pubsubName The pubsub name to subscribe to. * @param topic The topic to subscribe to. * @param route Destination route for messages. * @param routes Destination routes with rules for messages. * @param metadata Metadata for extended subscription functionality. * @param bulkSubscribe Bulk subscribe configuration. */ DaprTopicSubscription(String pubsubName, String topic, String route, DaprTopicRoutes routes, Map metadata, DaprTopicBulkSubscribe bulkSubscribe) { this(pubsubName, topic, route, "", routes, metadata, bulkSubscribe); } /** * Create a subscription topic. * * @param pubsubName The pubsub name to subscribe to. * @param topic The topic to subscribe to. * @param route Destination route for messages. * @param deadLetterTopic Name of topic to forward undeliverable messages. * @param routes Destination routes with rules for messages. * @param metadata Metadata for extended subscription functionality. * @param bulkSubscribe Bulk subscribe configuration. */ DaprTopicSubscription(String pubsubName, String topic, String route, String deadLetterTopic, DaprTopicRoutes routes, Map metadata, DaprTopicBulkSubscribe bulkSubscribe) { this.pubsubName = pubsubName; this.topic = topic; this.route = route; this.routes = routes; this.deadLetterTopic = deadLetterTopic; this.metadata = Collections.unmodifiableMap(metadata); this.bulkSubscribe = bulkSubscribe; } public String getPubsubName() { return pubsubName; } public String getTopic() { return topic; } public String getRoute() { return route; } public DaprTopicRoutes getRoutes() { return routes; } public String getDeadLetterTopic() { return deadLetterTopic; } public Map getMetadata() { return metadata; } public DaprTopicBulkSubscribe getBulkSubscribe() { return bulkSubscribe; } } ================================================ FILE: sdk-springboot/src/main/java/io/dapr/springboot/annotations/BulkSubscribe.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.annotations; import io.dapr.Topic; import io.dapr.client.domain.BulkSubscribeAppResponse; import io.dapr.client.domain.BulkSubscribeMessage; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * BulkSubscribe annotation should be applied with {@link Topic @Topic} when * the topic should be subscribed to using the Bulk Subscribe API. * This will require handling multiple messages using {@link BulkSubscribeMessage * DaprBulkMessage} * and returning a {@link BulkSubscribeAppResponse DaprBulkAppResponse}. */ @Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface BulkSubscribe { /** * Maximum number of messages in a bulk message from the message bus. * * @return number of messages. */ int maxMessagesCount() default -1; /** * Maximum duration to wait for maxBulkSubCount messages by the message bus * before sending the messages to Dapr. * * @return time to await in milliseconds. */ int maxAwaitDurationMs() default -1; } ================================================ FILE: sdk-springboot/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports ================================================ io.dapr.springboot.DaprAutoConfiguration ================================================ FILE: sdk-springboot/src/test/java/io/dapr/springboot/DaprBeanPostProcessorSubscribeTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.springboot; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.util.StringValueResolver; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; public class DaprBeanPostProcessorSubscribeTest { @Test public void testPostProcessBeforeInitialization() throws NoSuchMethodException { Method subscribeToTopicsMethod = DaprBeanPostProcessor.class.getDeclaredMethod( "subscribeToTopics", Class.class, StringValueResolver.class, DaprRuntime.class); subscribeToTopicsMethod.setAccessible(true); DaprRuntime runtime = getDaprRuntime(); try { subscribeToTopicsMethod.invoke(DaprBeanPostProcessor.class, MockControllerWithSubscribe.class, new MockStringValueResolver(), runtime); } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } DaprTopicSubscription[] topicSubscriptions = runtime.listSubscribedTopics(); // There should be three subscriptions. Assertions.assertEquals(2, topicSubscriptions.length); DaprTopicSubscription[] expectedDaprTopicSubscriptions = getTestDaprTopicSubscriptions(); // Subscription without BulkSubscribe. this.assertTopicSubscriptionEquality(expectedDaprTopicSubscriptions[0], topicSubscriptions[0]); // Subscription with BulkSubscribe. // This should correctly set the bulkSubscribe field. this.assertTopicSubscriptionEquality(expectedDaprTopicSubscriptions[1], topicSubscriptions[1]); } private void assertTopicSubscriptionEquality(DaprTopicSubscription s1, DaprTopicSubscription s2) { Assertions.assertEquals(s1.getPubsubName(), s2.getPubsubName()); Assertions.assertEquals(s1.getTopic(), s2.getTopic()); Assertions.assertEquals(s1.getRoute(), s2.getRoute()); Assertions.assertEquals(s1.getMetadata(), s2.getMetadata()); if (s1.getBulkSubscribe() == null) { Assertions.assertNull(s2.getBulkSubscribe()); } else { Assertions.assertEquals(s1.getBulkSubscribe().isEnabled(), s2.getBulkSubscribe().isEnabled()); Assertions.assertEquals(s1.getBulkSubscribe().getMaxAwaitDurationMs(), s2.getBulkSubscribe().getMaxAwaitDurationMs()); Assertions.assertEquals(s1.getBulkSubscribe().getMaxMessagesCount(), s2.getBulkSubscribe().getMaxMessagesCount()); } } private DaprTopicSubscription[] getTestDaprTopicSubscriptions() { DaprTopicSubscription[] daprTopicSubscriptions = new DaprTopicSubscription[3]; daprTopicSubscriptions[0] = new DaprTopicSubscription( MockControllerWithSubscribe.pubSubName, MockControllerWithSubscribe.topicName, MockControllerWithSubscribe.subscribeRoute, MockControllerWithSubscribe.deadLetterTopic, new HashMap<>()); DaprTopicBulkSubscribe bulkSubscribe = new DaprTopicBulkSubscribe(true); bulkSubscribe.setMaxMessagesCount(MockControllerWithSubscribe.maxMessagesCount); bulkSubscribe.setMaxAwaitDurationMs(MockControllerWithSubscribe.maxAwaitDurationMs); daprTopicSubscriptions[1] = new DaprTopicSubscription( MockControllerWithSubscribe.pubSubName, MockControllerWithSubscribe.bulkTopicName, MockControllerWithSubscribe.bulkSubscribeRoute, MockControllerWithSubscribe.deadLetterTopic, new HashMap<>(), bulkSubscribe); return daprTopicSubscriptions; } private DaprRuntime getDaprRuntime() { try { Constructor constructor = DaprRuntime.class.getDeclaredConstructor(); constructor.setAccessible(true); return constructor.newInstance(); }catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { throw new RuntimeException(e.getMessage()); } } } ================================================ FILE: sdk-springboot/src/test/java/io/dapr/springboot/DaprBeanPostProcessorTest.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.springboot; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Arrays; import java.util.List; import java.util.stream.Stream; public class DaprBeanPostProcessorTest { private static final String TOPIC_NAME = "topicName1"; public static Stream routesTester() { return Stream.of( Arguments.of(MockController.class, "testMethod1", new String[] {"v1", "v2", "v1/page1", "v2/page1", "v1/page2", "v2/page2"}, true), Arguments.of(MockController.class, "testMethod2", new String[] {"v1", "v2", "v1/page3", "v2/page3", "v1/page4", "v2/page4"}, true), Arguments.of(MockController.class, "testMethod3", new String[] {"v1/foo", "v2/foo"}, true), Arguments.of(MockController.class, "testMethod4", new String[] {"v1/foo1", "v2/foo1", "v1/foo2", "v2/foo2"}, true), Arguments.of(MockController.class, "testMethod5", new String[] {"v1/" + TOPIC_NAME, "v2/" + TOPIC_NAME}, true), Arguments.of(MockControllerNoClazzAnnotation.class, "testMethod1", new String[] {"", "page1", "page2"}, true), Arguments.of(MockControllerNoClazzAnnotation.class, "testMethod2", new String[] {"", "page3", "page4"}, true), Arguments.of(MockControllerNoClazzAnnotation.class, "testMethod3", new String[] {"foo"}, true), Arguments.of(MockControllerNoClazzAnnotation.class, "testMethod4", new String[] {"foo1", "foo2"}, true), Arguments.of(MockControllerNoClazzAnnotation.class, "testMethod5", new String[] {TOPIC_NAME}, true) ); } @ParameterizedTest @MethodSource("routesTester") public void testAllPostRoutesGeneration(Class clazzToBeTested, String methodToBeTested, String[] expected, boolean expectedResult) throws NoSuchMethodException { Method allPostRoutesMethod = DaprBeanPostProcessor.class. getDeclaredMethod("getAllCompleteRoutesForPost", Class.class, Method.class, String.class); allPostRoutesMethod.setAccessible(true); List routesArrayTestMethod1 = null; try { routesArrayTestMethod1 = (List) allPostRoutesMethod.invoke(DaprBeanPostProcessor.class, clazzToBeTested, clazzToBeTested.getMethod(methodToBeTested), TOPIC_NAME); } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } Assertions.assertEquals(expectedResult, testingListForOrderAgnosticEquality(Arrays.asList(expected), routesArrayTestMethod1)); } private boolean testingListForOrderAgnosticEquality(List first, List second) { return (first.size() == second.size() && first.containsAll(second) && second.containsAll(first)); } } ================================================ FILE: sdk-springboot/src/test/java/io/dapr/springboot/DaprRuntimeTest.java ================================================ package io.dapr.springboot; import io.dapr.Rule; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.lang.annotation.Annotation; import java.util.HashMap; import static org.junit.jupiter.api.Assertions.assertThrows; public class DaprRuntimeTest { @Test public void testPubsubDefaultPathDuplicateRegistration() { String pubSubName = "pubsub"; String topicName = "topic"; String deadLetterTopic = "deadLetterTopic"; String match = ""; String route = String.format("%s/%s", pubSubName, topicName); HashMap metadata = new HashMap(); Rule rule = new Rule(){ @Override public Class annotationType() { return Rule.class; } public String match() { return match; } public int priority() { return 0; } }; DaprRuntime runtime = DaprRuntime.getInstance(); Assertions.assertNotNull(runtime); // We should be able to register the same route multiple times runtime.addSubscribedTopic( pubSubName, topicName, match, rule.priority(), route,deadLetterTopic, metadata); runtime.addSubscribedTopic( pubSubName, topicName, match, rule.priority(), route,deadLetterTopic, metadata); } @Test public void testPubsubDefaultPathDifferentRegistration() { String pubSubName = "pubsub"; String topicName = "topic"; String deadLetterTopic = "deadLetterTopic"; String match = ""; String firstRoute = String.format("%s/%s", pubSubName, topicName); String secondRoute = String.format("%s/%s/subscribe", pubSubName, topicName); HashMap metadata = new HashMap(); Rule rule = new Rule(){ @Override public Class annotationType() { return Rule.class; } public String match() { return match; } public int priority() { return 0; } }; DaprRuntime runtime = DaprRuntime.getInstance(); Assertions.assertNotNull(runtime); runtime.addSubscribedTopic( pubSubName, topicName, match, rule.priority(), firstRoute, deadLetterTopic, metadata); // Supplying the same pubsub bits but a different route should fail assertThrows(RuntimeException.class, () -> runtime.addSubscribedTopic( pubSubName, topicName, match, rule.priority(), secondRoute, deadLetterTopic, metadata)); } } ================================================ FILE: sdk-springboot/src/test/java/io/dapr/springboot/DaprTopicBulkSubscribeTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.springboot; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.util.HashMap; import java.util.Map; public class DaprTopicBulkSubscribeTest { @Test public void testGettersAndSetters() { DaprTopicBulkSubscribe bulkSubscribe = new DaprTopicBulkSubscribe(true); bulkSubscribe.setMaxMessagesCount(100); bulkSubscribe.setMaxAwaitDurationMs(200); Assertions.assertTrue(bulkSubscribe.isEnabled()); Assertions.assertEquals(100, bulkSubscribe.getMaxMessagesCount().longValue()); Assertions.assertEquals(200, bulkSubscribe.getMaxAwaitDurationMs().longValue()); bulkSubscribe.setEnabled(false); Assertions.assertFalse(bulkSubscribe.isEnabled()); } @Test public void testSetMaxMessagesCount() { DaprTopicBulkSubscribe bulkSubscribe = new DaprTopicBulkSubscribe(true); // "value to be put" vs "should throw exception" Map testCases = new HashMap() {{ put(-1, true); put(0, true); put(1, false); }}; for (Map.Entry testCase: testCases.entrySet()) { try { bulkSubscribe.setMaxMessagesCount(testCase.getKey()); Assertions.assertFalse(testCase.getValue()); } catch (IllegalArgumentException e) { Assertions.assertTrue(testCase.getValue()); } } } @Test public void testSetMaxAwaitDurationMs() { DaprTopicBulkSubscribe bulkSubscribe = new DaprTopicBulkSubscribe(true); // "value to be put" vs "should throw exception" Map testCases = new HashMap() {{ put(-1, true); put(0, false); put(1, false); }}; for (Map.Entry testCase: testCases.entrySet()) { try { bulkSubscribe.setMaxAwaitDurationMs(testCase.getKey()); Assertions.assertFalse(testCase.getValue()); } catch (IllegalArgumentException e) { Assertions.assertTrue(testCase.getValue()); } } } } ================================================ FILE: sdk-springboot/src/test/java/io/dapr/springboot/MockController.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.springboot; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @RequestMapping(value = {"v1", "v2"}) public class MockController { @RequestMapping(value = {"", "/page1", "page2"}, method = {RequestMethod.POST, RequestMethod.PUT}) public void testMethod1() { // Do nothing } @PostMapping(path = {"", "/page3", "page4"}) public void testMethod2() { // Do nothing } @PostMapping("foo") public void testMethod3() { // Do nothing } @PostMapping({"/foo1", "foo2"}) public void testMethod4() { // Do nothing } @RequestMapping(path = {"/bar", "bar1"}, method = {RequestMethod.GET}) public void testMethod5() { // Do nothing } } ================================================ FILE: sdk-springboot/src/test/java/io/dapr/springboot/MockControllerNoClazzAnnotation.java ================================================ /* * Copyright 2022 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; public class MockControllerNoClazzAnnotation { @RequestMapping(value = {"", "page1", "page2"}, method = {RequestMethod.POST, RequestMethod.PUT}) public void testMethod1() { // Do nothing } @PostMapping(path = {"", "page3", "page4"}) public void testMethod2() { // Do nothing } @PostMapping("foo") public void testMethod3() { // Do nothing } @PostMapping({"foo1", "foo2"}) public void testMethod4() { // Do nothing } @RequestMapping(path = {"bar", "bar1"}, method = {RequestMethod.GET}) public void testMethod5() { // Do nothing } } ================================================ FILE: sdk-springboot/src/test/java/io/dapr/springboot/MockControllerWithSubscribe.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.springboot; import io.dapr.Topic; import io.dapr.springboot.annotations.BulkSubscribe; import org.springframework.web.bind.annotation.PostMapping; public class MockControllerWithSubscribe { public static final String pubSubName = "mockPubSub"; public static final String topicName = "mockTopic"; public static final String deadLetterTopic = "deadLetterTopic"; public static final String bulkTopicName = "mockBulkTopic"; public static final String bulkTopicNameV2 = "mockBulkTopicV2"; public static final String subscribeRoute = "mockRoute"; public static final String bulkSubscribeRoute = "mockBulkRoute"; public static final int maxMessagesCount = 500; public static final int maxAwaitDurationMs = 1000; @Topic(name = topicName, pubsubName = pubSubName, deadLetterTopic = deadLetterTopic) @PostMapping(path = subscribeRoute) public void handleMessages() {} @BulkSubscribe(maxMessagesCount = maxMessagesCount, maxAwaitDurationMs = maxAwaitDurationMs) @Topic(name = bulkTopicName, pubsubName = pubSubName,deadLetterTopic = deadLetterTopic) @PostMapping(path = bulkSubscribeRoute) public void handleBulkMessages() {} } ================================================ FILE: sdk-springboot/src/test/java/io/dapr/springboot/MockStringValueResolver.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.springboot; import org.springframework.util.StringValueResolver; /** * MockStringValueResolver resolves a string value to return itself. */ public class MockStringValueResolver implements StringValueResolver { @Override public String resolveStringValue(String s) { return s; } } ================================================ FILE: sdk-tests/.hashicorp_vault_token ================================================ myroot ================================================ FILE: sdk-tests/components/http_binding.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: github-http-binding-404 spec: type: bindings.http version: v1 metadata: - name: url value: https://api.github.com/unknown_path scopes: - bindingit-httpoutputbinding-exception --- apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: github-http-binding-404-success spec: type: bindings.http version: v1 metadata: - name: url value: https://api.github.com/unknown_path - name: errorIfNot2XX value: "false" scopes: - bindingit-httpoutputbinding-ignore-error ================================================ FILE: sdk-tests/components/kafka_bindings.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: sample123 spec: type: bindings.kafka version: v1 metadata: # Kafka broker connection setting - name: brokers value: localhost:9092 # consumer configuration: topic and consumer group - name: topics value: "topic-{appID}" - name: consumerGroup value: "{appID}" # publisher configuration: topic - name: publishTopic value: "topic-{appID}" - name: authRequired value: "false" - name: initialOffset value: oldest scopes: - bindingit-http-inputbindingservice - bindingit-grpc-inputbindingservice ================================================ FILE: sdk-tests/components/mongo-statestore.yml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: mongo-statestore spec: type: state.mongodb version: v1 metadata: - name: host value: localhost:27017 - name: databaseName value: local - name: collectionName value: testCollection scopes: - grpcstateclientit - httpstateclientit ================================================ FILE: sdk-tests/components/pubsub.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: messagebus spec: type: pubsub.redis version: v1 metadata: - name: redisHost value: localhost:6379 - name: redisPassword value: "" - name: processingTimeout value: "100ms" - name: redeliverInterval value: "100ms" ================================================ FILE: sdk-tests/components/redisconfigstore.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: redisconfigstore spec: type: configuration.redis version: v1 metadata: - name: redisHost value: localhost:6379 - name: redisPassword value: "" ================================================ FILE: sdk-tests/components/resiliency.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Resiliency metadata: name: resiliency-messagebus spec: policies: retries: pubsubRetry: policy: constant duration: 5ms maxRetries: -1 targets: components: messagebus: inbound: retry: pubsubRetry ================================================ FILE: sdk-tests/components/secret.json ================================================ {} ================================================ FILE: sdk-tests/components/secretstore.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: localSecretStore spec: type: secretstores.local.file version: v1 metadata: - name: secretsFile value: "./components/secret.json" - name: nestedSeparator value: ":" - name: multiValued value: "true" ================================================ FILE: sdk-tests/components/statestore.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: statestore spec: type: state.redis version: v1 metadata: - name: redisHost value: localhost:6379 - name: redisPassword value: "" - name: actorStateStore value: "true" ================================================ FILE: sdk-tests/configurations/configuration.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Configuration metadata: name: testconfiguration spec: tracing: samplingRate: "1" zipkin: endpointAddress: http://localhost:9411/api/v2/spans ================================================ FILE: sdk-tests/deploy/local-test.yml ================================================ version: '3' services: zookeeper: image: confluentinc/cp-zookeeper:7.4.4 environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 ports: - 2181:2181 kafka: image: confluentinc/cp-kafka:7.4.4 depends_on: - zookeeper ports: - "9092:9092" environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 mongo: image: mongo ports: - "27017:27017" ================================================ FILE: sdk-tests/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml dapr-sdk-tests dapr-sdk-tests Tests for Dapr's Java SDK - not to be published as a jar. 17 17 17 true ${project.build.directory}/generated-sources ${project.basedir}/proto 0% 1.11.4 org.junit.platform junit-platform-commons ${junit-platform.version} org.junit.platform junit-platform-engine ${junit-platform.version} commons-cli commons-cli io.grpc grpc-protobuf io.grpc grpc-stub io.grpc grpc-api commons-io commons-io io.opentelemetry opentelemetry-sdk io.opentelemetry opentelemetry-api io.opentelemetry opentelemetry-context io.opentelemetry opentelemetry-sdk-common io.opentelemetry opentelemetry-sdk-trace io.opentelemetry opentelemetry-sdk-metrics io.opentelemetry opentelemetry-exporter-common io.opentelemetry opentelemetry-exporter-logging io.opentelemetry opentelemetry-exporter-zipkin io.zipkin.reporter2 zipkin-reporter io.zipkin.reporter2 zipkin-sender-urlconnection io.dapr dapr-sdk test io.dapr dapr-sdk-actors test io.dapr dapr-sdk-springboot test io.dapr dapr-sdk-workflows test io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test org.testcontainers junit-jupiter io.dapr testcontainers-dapr test org.springframework.data spring-data-keyvalue org.wiremock wiremock-standalone test org.springframework.boot spring-boot-starter-web test org.springframework.boot spring-boot-starter-test test org.apache.commons commons-lang3 test org.testcontainers postgresql test org.testcontainers mysql test jakarta.annotation jakarta.annotation-api compile javax.annotation javax.annotation-api compile jakarta.servlet jakarta.servlet-api compile org.junit.platform junit-platform-commons test org.junit.platform junit-platform-engine test org.testcontainers toxiproxy test org.jacoco jacoco-maven-plugin ${jacoco-maven-plugin.version} default-prepare-agent prepare-agent report test report target/jacoco-report/ check check BUNDLE LINE COVEREDRATIO ${jacoco-maven-plugin.coverage-ratio} org.xolstice.maven.plugins protobuf-maven-plugin ${protobuf-maven-plugin.version} com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier} grpc-java io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier} ${protobuf.input.directory} compile compile-custom org.apache.maven.plugins maven-jar-plugin ${maven-jar-plugin.version} test-jar org.apache.maven.plugins maven-failsafe-plugin ${failsafe.version} custom-spring-boot-version env.PRODUCT_SPRING_BOOT_VERSION ${env.PRODUCT_SPRING_BOOT_VERSION} ================================================ FILE: sdk-tests/proto/methodinvokeservice.proto ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ syntax = "proto3"; package daprtests; option java_outer_classname = "MethodInvokeServiceProtos"; option java_package = "io.dapr.it"; service MethodInvokeService { rpc PostMessage (PostMessageRequest) returns (PostMessageResponse) {} rpc DeleteMessage (DeleteMessageRequest) returns (DeleteMessageResponse) {} rpc GetMessages (GetMessagesRequest) returns (GetMessagesResponse) {} rpc Sleep (SleepRequest) returns (SleepResponse) {} } message PostMessageRequest { int32 id = 1; string message = 2; } message PostMessageResponse { } message DeleteMessageRequest { int32 id = 1; } message DeleteMessageResponse { } message GetMessagesRequest { } message GetMessagesResponse { map messages = 1; } message SleepRequest { int32 seconds = 1; } message SleepResponse { } ================================================ FILE: sdk-tests/src/test/java/io/dapr/actors/runtime/DaprClientHttpUtils.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.actors.runtime; import io.grpc.ManagedChannel; /** * Exposes useful methods for IT in DaprClientHttp. */ public class DaprClientHttpUtils { public static void unregisterActorReminder( ManagedChannel channel, String actorType, String actorId, String reminderName) { new DaprClientImpl(channel).unregisterReminder(actorType, actorId, reminderName).block(); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/grpc/GrpcHealthCheckService.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.grpc; import io.dapr.v1.AppCallbackHealthCheckGrpc; import io.dapr.v1.DaprAppCallbackProtos; /** * Handles apps' health check callback. */ public class GrpcHealthCheckService extends AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase { /** * Handler for health check. * @param request Empty request. * @param responseObserver Response for gRPC response. */ public void healthCheck( com.google.protobuf.Empty request, io.grpc.stub.StreamObserver responseObserver) { responseObserver.onNext(DaprAppCallbackProtos.HealthCheckResponse.newBuilder().build()); responseObserver.onCompleted(); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/AppRun.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it; import io.dapr.config.Properties; import java.io.IOException; import java.util.HashMap; import static io.dapr.it.Retry.callWithRetry; /** * This class runs an app outside Dapr but adds Dapr env variables. */ public class AppRun implements Stoppable { private static final String APP_COMMAND = "mvn exec:java -B -D exec.mainClass=%s -D exec.classpathScope=test -D exec.args=\"%s\""; private final DaprPorts ports; private final int maxWaitMilliseconds; private final Command command; AppRun(DaprPorts ports, String successMessage, Class serviceClass, int maxWaitMilliseconds) { this.command = new Command( successMessage, buildCommand(serviceClass, ports), new HashMap<>() {{ put("DAPR_HTTP_PORT", ports.getHttpPort().toString()); put("DAPR_GRPC_PORT", ports.getGrpcPort().toString()); }}); this.ports = ports; this.maxWaitMilliseconds = maxWaitMilliseconds; } public void start() throws InterruptedException, IOException { long start = System.currentTimeMillis(); // First, try to stop previous run (if left running). this.stop(); // Wait for the previous run to kill the prior process. System.out.println("Starting application ..."); this.command.run(); if (this.ports.getAppPort() != null) { long timeLeft = this.maxWaitMilliseconds - (System.currentTimeMillis() - start); callWithRetry(() -> { System.out.println("Checking if app is listening on port ..."); assertListeningOnPort(this.ports.getAppPort()); }, timeLeft); } System.out.println("Application started."); } @Override public void stop() throws InterruptedException { System.out.println("Stopping application ..."); try { this.command.stop(); System.out.println("Application stopped."); } catch (RuntimeException e) { System.out.println("Could not stop command: " + this.command.toString()); } } private static String buildCommand(Class serviceClass, DaprPorts ports) { return String.format(APP_COMMAND, serviceClass.getCanonicalName(), ports.getAppPort() != null ? ports.getAppPort().toString() : ""); } private static void assertListeningOnPort(int port) { System.out.printf("Checking port %d ...\n", port); java.net.SocketAddress socketAddress = new java.net.InetSocketAddress(Properties.SIDECAR_IP.get(), port); try (java.net.Socket socket = new java.net.Socket()) { socket.connect(socketAddress, 1000); } catch (Exception e) { throw new RuntimeException(e); } System.out.printf("Confirmed listening on port %d.\n", port); } public enum AppProtocol { HTTP, GRPC; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/BaseIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it; import io.dapr.actors.client.ActorClient; import io.dapr.client.resiliency.ResiliencyOptions; import io.dapr.config.Properties; import org.apache.commons.lang3.tuple.ImmutablePair; import org.junit.jupiter.api.AfterAll; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.HashMap; import java.util.LinkedList; import java.util.Map; import java.util.Queue; import static io.dapr.it.AppRun.AppProtocol.GRPC; import static io.dapr.it.AppRun.AppProtocol.HTTP; public abstract class BaseIT { protected static final String STATE_STORE_NAME = "statestore"; protected static final String QUERY_STATE_STORE = "mongo-statestore"; private static final Map DAPR_RUN_BUILDERS = new HashMap<>(); private static final Queue TO_BE_STOPPED = new LinkedList<>(); private static final Queue TO_BE_CLOSED = new LinkedList<>(); protected static DaprRun startDaprApp( String testName, String successMessage, Class serviceClass, Boolean useAppPort, int maxWaitMilliseconds) throws Exception { return startDaprApp(testName, successMessage, serviceClass, useAppPort, maxWaitMilliseconds, HTTP); } protected static DaprRun startDaprApp( String testName, String successMessage, Class serviceClass, AppRun.AppProtocol appProtocol, int maxWaitMilliseconds) throws Exception { return startDaprApp(testName, successMessage, serviceClass, true, maxWaitMilliseconds, appProtocol); } protected static DaprRun startDaprApp( String testName, String successMessage, Class serviceClass, Boolean useAppPort, int maxWaitMilliseconds, AppRun.AppProtocol appProtocol) throws Exception { return startDaprApp( testName, successMessage, serviceClass, useAppPort, true, maxWaitMilliseconds, appProtocol); } protected static DaprRun startDaprApp( String testName, int maxWaitMilliseconds) throws Exception { return startDaprApp( testName, "You're up and running!", null, false, true, maxWaitMilliseconds, HTTP); } protected static DaprRun startDaprApp( String testName, String successMessage, Class serviceClass, Boolean useAppPort, Boolean useDaprPorts, int maxWaitMilliseconds, AppRun.AppProtocol appProtocol) throws Exception { DaprRun.Builder builder = new DaprRun.Builder( testName, () -> DaprPorts.build(useAppPort, useDaprPorts, useDaprPorts), successMessage, maxWaitMilliseconds, appProtocol).withServiceClass(serviceClass); DaprRun run = builder.build(); TO_BE_STOPPED.add(run); DAPR_RUN_BUILDERS.put(run.getAppName(), builder); run.start(); return run; } protected static ImmutablePair startSplitDaprAndApp( String testName, String successMessage, Class serviceClass, Boolean useAppPort, int maxWaitMilliseconds) throws Exception { return startSplitDaprAndApp( testName, successMessage, serviceClass, useAppPort, maxWaitMilliseconds, HTTP); } protected static ImmutablePair startSplitDaprAndApp( String testName, String successMessage, Class serviceClass, Boolean useAppPort, int maxWaitMilliseconds, AppRun.AppProtocol appProtocol) throws Exception { DaprRun.Builder builder = new DaprRun.Builder( testName, () -> DaprPorts.build(useAppPort, true, true), successMessage, maxWaitMilliseconds, appProtocol).withServiceClass(serviceClass); ImmutablePair runs = builder.splitBuild(); TO_BE_STOPPED.add(runs.left); TO_BE_STOPPED.add(runs.right); DAPR_RUN_BUILDERS.put(runs.right.getAppName(), builder); runs.left.start(); runs.right.start(); return runs; } protected static T deferClose(T object) { TO_BE_CLOSED.add(object); return object; } @AfterAll public static void cleanUp() throws Exception { while (!TO_BE_CLOSED.isEmpty()) { TO_BE_CLOSED.remove().close(); } while (!TO_BE_STOPPED.isEmpty()) { TO_BE_STOPPED.remove().stop(); } } protected static ActorClient newActorClient(Properties properties) { return new ActorClient(properties, null); } protected static ActorClient newActorClient(ResiliencyOptions resiliencyOptions) throws RuntimeException { try { Constructor constructor = ActorClient.class.getDeclaredConstructor(ResiliencyOptions.class); constructor.setAccessible(true); ActorClient client = constructor.newInstance(resiliencyOptions); TO_BE_CLOSED.add(client); return client; } catch (NoSuchMethodException e) { throw new RuntimeException(e); } catch (InvocationTargetException e) { throw new RuntimeException(e); } catch (InstantiationException e) { throw new RuntimeException(e); } catch (IllegalAccessException e) { throw new RuntimeException(e); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/Command.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Map; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; public class Command { private static final int SUCCESS_WAIT_TIMEOUT_MINUTES = 5; private static final int DESTROY_WAIT_TIMEOUT_SECONDS = 5; private final String successMessage; private final String command; private final String shell; private Process process; private Map env; public Command(String successMessage, String command, Map env) { this.successMessage = successMessage; this.command = command; this.env = env; this.shell = detectShell(); } public Command(String successMessage, String command) { this(successMessage, command, null); } public void run() throws InterruptedException, IOException { final AtomicBoolean success = new AtomicBoolean(false); final Semaphore finished = new Semaphore(0); ProcessBuilder processBuilder = new ProcessBuilder(this.shell, "-c", command); if (this.env != null) { processBuilder.environment().putAll(this.env); } this.process = processBuilder.start(); final Thread stdoutReader = new Thread(() -> { try { try (InputStream stdin = this.process.getInputStream()) { try (InputStreamReader isr = new InputStreamReader(stdin)) { try (BufferedReader br = new BufferedReader(isr)) { String line; while ((line = br.readLine()) != null) { System.out.println(line); if (line.contains(successMessage)) { success.set(true); finished.release(); // continue. } } } } } if (!success.get()) { finished.release(); } } catch (IOException ex) { throw new RuntimeException(ex); } }); final Thread stderrReader = new Thread(() -> { try { try (InputStream stderr = this.process.getErrorStream()) { try (InputStreamReader isr = new InputStreamReader(stderr)) { try (BufferedReader br = new BufferedReader(isr)) { String line; while ((line = br.readLine()) != null) { System.err.println(line); } } } } } catch (IOException ex) { throw new RuntimeException(ex); } }); stdoutReader.start(); stderrReader.start(); // Waits for success to happen within 1 minute. finished.tryAcquire(SUCCESS_WAIT_TIMEOUT_MINUTES, TimeUnit.MINUTES); if (!success.get()) { throw new IllegalStateException("Could not find success criteria for command: " + command); } } public void stop() throws InterruptedException { if (this.process != null) { this.process.destroy(); Thread.sleep(DESTROY_WAIT_TIMEOUT_SECONDS * 1000); if (this.process.isAlive()) { this.process.destroyForcibly(); } this.process = null; } } @Override public String toString() { return this.command; } private static String detectShell() { String osName = System.getProperty("os.name").toLowerCase(); if (osName.contains("windows")) { return "powershell.exe"; } return "bash"; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/DaprPorts.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it; import io.dapr.config.Properties; import io.dapr.config.Property; import java.io.IOException; import java.net.ServerSocket; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; public class DaprPorts { private final Integer grpcPort; private final Integer httpPort; private final Integer appPort; private final Map, String> overrides; private DaprPorts(Integer appPort, Integer httpPort, Integer grpcPort) { this.grpcPort = grpcPort; this.httpPort = httpPort; this.appPort = appPort; this.overrides = Map.of( Properties.GRPC_PORT, grpcPort.toString(), Properties.HTTP_PORT, httpPort.toString(), Properties.HTTP_ENDPOINT, "http://127.0.0.1:" + httpPort, Properties.GRPC_ENDPOINT, "127.0.0.1:" + grpcPort ); } public static DaprPorts build(boolean appPort, boolean httpPort, boolean grpcPort) { try { List freePorts = new ArrayList<>(findFreePorts(3)); return new DaprPorts( appPort ? freePorts.get(0) : null, httpPort ? freePorts.get(1) : null, grpcPort ? freePorts.get(2) : null); } catch (IOException e) { throw new RuntimeException(e); } } public Integer getGrpcPort() { return grpcPort; } public Integer getHttpPort() { return httpPort; } public Integer getAppPort() { return appPort; } public Map, String> getPropertyOverrides() { return this.overrides; } private static Set findFreePorts(int n) throws IOException { Set output = new HashSet<>(); for (int i = 0; i < n;) { try (ServerSocket socket = new ServerSocket(0)) { socket.setReuseAddress(true); int port = socket.getLocalPort(); if (!output.contains(port)) { output.add(port); i++; } } } return output; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/DaprRun.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it; import com.google.protobuf.Empty; import io.dapr.actors.client.ActorClient; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.client.resiliency.ResiliencyOptions; import io.dapr.config.Properties; import io.dapr.config.Property; import io.dapr.v1.AppCallbackHealthCheckGrpc; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; import org.apache.commons.lang3.tuple.ImmutablePair; import java.io.IOException; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.time.Duration; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.UUID; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; import static io.dapr.it.Retry.callWithRetry; public class DaprRun implements Stoppable { private static final String DEFAULT_DAPR_API_TOKEN = UUID.randomUUID().toString(); private static final String DAPR_SUCCESS_MESSAGE = "You're up and running!"; private static final String DAPR_RUN = "dapr run --app-id %s --app-protocol %s " + "--config ./configurations/configuration.yaml " + "--resources-path ./components"; // the arg in -Dexec.args is the app's port private static final String DAPR_COMMAND = " -- mvn exec:java -D exec.mainClass=%s -D exec.classpathScope=test -D exec.args=\"%s\""; private final DaprPorts ports; private final String appName; private final AppRun.AppProtocol appProtocol; private final int maxWaitMilliseconds; private final AtomicBoolean started; private final Command startCommand; private final Command listCommand; private final Command stopCommand; private final boolean hasAppHealthCheck; private final Map, String> propertyOverrides; private DaprRun(String testName, DaprPorts ports, String successMessage, Class serviceClass, int maxWaitMilliseconds, AppRun.AppProtocol appProtocol) { this( testName, ports, successMessage, serviceClass, maxWaitMilliseconds, appProtocol, resolveDaprApiToken(serviceClass)); } private DaprRun(String testName, DaprPorts ports, String successMessage, Class serviceClass, int maxWaitMilliseconds, AppRun.AppProtocol appProtocol, String daprApiToken) { // The app name needs to be deterministic since we depend on it to kill previous runs. this.appName = serviceClass == null ? testName.toLowerCase() : String.format("%s-%s", testName, serviceClass.getSimpleName()).toLowerCase(); this.appProtocol = appProtocol; this.startCommand = new Command( successMessage, buildDaprCommand(this.appName, serviceClass, ports, appProtocol), daprApiToken == null ? null : Map.of("DAPR_API_TOKEN", daprApiToken)); this.listCommand = new Command( this.appName, "dapr list"); this.stopCommand = new Command( "app stopped successfully", "dapr stop --app-id " + this.appName); this.ports = ports; this.maxWaitMilliseconds = maxWaitMilliseconds; this.started = new AtomicBoolean(false); this.hasAppHealthCheck = isAppHealthCheckEnabled(serviceClass); this.propertyOverrides = daprApiToken == null ? ports.getPropertyOverrides() : Collections.unmodifiableMap(new HashMap<>(ports.getPropertyOverrides()) {{ put(Properties.API_TOKEN, daprApiToken); }}); } public void start() throws InterruptedException, IOException { long start = System.currentTimeMillis(); // First, try to stop previous run (if left running). this.stop(); // Wait for the previous run to kill the prior process. long timeLeft = this.maxWaitMilliseconds - (System.currentTimeMillis() - start); System.out.println("Checking if previous run for Dapr application has stopped ..."); checkRunState(timeLeft, false); System.out.println("Starting dapr application ..."); this.startCommand.run(); this.started.set(true); timeLeft = this.maxWaitMilliseconds - (System.currentTimeMillis() - start); System.out.println("Checking if Dapr application has started ..."); checkRunState(timeLeft, true); if (this.ports.getAppPort() != null) { timeLeft = this.maxWaitMilliseconds - (System.currentTimeMillis() - start); callWithRetry(() -> { System.out.println("Checking if app is listening on port ..."); assertListeningOnPort(this.ports.getAppPort()); }, timeLeft); } if (this.ports.getHttpPort() != null) { timeLeft = this.maxWaitMilliseconds - (System.currentTimeMillis() - start); callWithRetry(() -> { System.out.println("Checking if Dapr is listening on HTTP port ..."); assertListeningOnPort(this.ports.getHttpPort()); }, timeLeft); } if (this.ports.getGrpcPort() != null) { timeLeft = this.maxWaitMilliseconds - (System.currentTimeMillis() - start); callWithRetry(() -> { System.out.println("Checking if Dapr is listening on GRPC port ..."); assertListeningOnPort(this.ports.getGrpcPort()); }, timeLeft); } System.out.println("Dapr application started."); } @Override public void stop() throws InterruptedException, IOException { System.out.println("Stopping dapr application ..."); try { this.stopCommand.run(); System.out.println("Dapr application stopped."); } catch (RuntimeException e) { System.out.println("Could not stop app " + this.appName + ": " + e.getMessage()); } } public Map, String> getPropertyOverrides() { return this.propertyOverrides; } public DaprClientBuilder newDaprClientBuilder() { return new DaprClientBuilder().withPropertyOverrides(this.getPropertyOverrides()); } public ActorClient newActorClient() { return this.newActorClient(null, null); } public ActorClient newActorClient(Map metadata) { return this.newActorClient(metadata, null); } public ActorClient newActorClient(ResiliencyOptions resiliencyOptions) { return this.newActorClient(null, resiliencyOptions); } public ActorClient newActorClient(Map metadata, ResiliencyOptions resiliencyOptions) { return new ActorClient(new Properties(this.getPropertyOverrides()), metadata, resiliencyOptions); } public void waitForAppHealth(int maxWaitMilliseconds) throws InterruptedException { if (!this.hasAppHealthCheck) { return; } if (AppRun.AppProtocol.GRPC.equals(this.appProtocol)) { ManagedChannel channel = ManagedChannelBuilder.forAddress("127.0.0.1", this.getAppPort()) .usePlaintext() .build(); try { AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub stub = AppCallbackHealthCheckGrpc.newBlockingStub(channel); long maxWait = System.currentTimeMillis() + maxWaitMilliseconds; while (System.currentTimeMillis() <= maxWait) { try { stub.healthCheck(Empty.getDefaultInstance()); // artursouza: workaround due to race condition with runtime's probe on app's health. Thread.sleep(5000); return; } catch (Exception e) { Thread.sleep(1000); } } throw new RuntimeException("timeout: gRPC service is not healthy."); } finally { channel.shutdown(); } } else { Duration waitDuration = Duration.ofMillis(maxWaitMilliseconds); HttpClient client = HttpClient.newBuilder() .version(HttpClient.Version.HTTP_1_1) .connectTimeout(waitDuration) .build(); String url = "http://127.0.0.1:" + this.getAppPort() + "/health"; HttpRequest request = HttpRequest.newBuilder() .GET() .uri(URI.create(url)) .build(); try { HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); if (response.statusCode() != 200) { throw new RuntimeException("error: HTTP service is not healthy."); } } catch (IOException e) { throw new RuntimeException("exception: HTTP service is not healthy."); } // artursouza: workaround due to race condition with runtime's probe on app's health. Thread.sleep(5000); } } public Integer getGrpcPort() { return ports.getGrpcPort(); } public Integer getHttpPort() { return ports.getHttpPort(); } public Integer getAppPort() { return ports.getAppPort(); } public String getAppName() { return appName; } public DaprClient newDaprClient() { return new DaprClientBuilder() .withPropertyOverrides(this.getPropertyOverrides()) .build(); } public DaprPreviewClient newDaprPreviewClient() { return new DaprClientBuilder() .withPropertyOverrides(this.getPropertyOverrides()) .buildPreviewClient(); } public void checkRunState(long timeout, boolean shouldBeRunning) throws InterruptedException { callWithRetry(() -> { try { this.listCommand.run(); if (!shouldBeRunning) { throw new RuntimeException("Previous run for app has not stopped yet!"); } } catch (IllegalStateException e) { // Bad case if the app is supposed to be running. if (shouldBeRunning) { throw e; } } catch (Exception e) { throw new RuntimeException(e); } }, timeout); } private static String buildDaprCommand( String appName, Class serviceClass, DaprPorts ports, AppRun.AppProtocol appProtocol) { StringBuilder stringBuilder = new StringBuilder(String.format(DAPR_RUN, appName, appProtocol.toString().toLowerCase())) .append(ports.getAppPort() != null ? " --app-port " + ports.getAppPort() : "") .append(ports.getHttpPort() != null ? " --dapr-http-port " + ports.getHttpPort() : "") .append(ports.getGrpcPort() != null ? " --dapr-grpc-port " + ports.getGrpcPort() : "") .append(isAppHealthCheckEnabled(serviceClass) ? " --enable-app-health-check --app-health-probe-interval=1" : "") .append(serviceClass == null ? "" : String.format(DAPR_COMMAND, serviceClass.getCanonicalName(), ports.getAppPort() != null ? ports.getAppPort().toString() : "")); return stringBuilder.toString(); } private static boolean isAppHealthCheckEnabled(Class serviceClass) { if (serviceClass != null) { DaprRunConfig daprRunConfig = (DaprRunConfig) serviceClass.getAnnotation(DaprRunConfig.class); if (daprRunConfig != null) { return daprRunConfig.enableAppHealthCheck(); } } return false; } private static String resolveDaprApiToken(Class serviceClass) { if (serviceClass != null) { DaprRunConfig daprRunConfig = (DaprRunConfig) serviceClass.getAnnotation(DaprRunConfig.class); if (daprRunConfig != null) { if (!daprRunConfig.enableDaprApiToken()) { return null; } // We use the clas name itself as the token. Just needs to be deterministic. return serviceClass.getCanonicalName(); } } // By default, we use a token. return DEFAULT_DAPR_API_TOKEN; } private static void assertListeningOnPort(int port) { System.out.printf("Checking port %d ...\n", port); java.net.SocketAddress socketAddress = new java.net.InetSocketAddress(Properties.SIDECAR_IP.get(), port); try (java.net.Socket socket = new java.net.Socket()) { socket.connect(socketAddress, 1000); } catch (Exception e) { throw new RuntimeException(e); } System.out.printf("Confirmed listening on port %d.\n", port); } static class Builder { private final String testName; private final Supplier portsSupplier; private final String successMessage; private final int maxWaitMilliseconds; private Class serviceClass; private AppRun.AppProtocol appProtocol; private String daprApiToken; Builder( String testName, Supplier portsSupplier, String successMessage, int maxWaitMilliseconds, AppRun.AppProtocol appProtocol) { this.testName = testName; this.portsSupplier = portsSupplier; this.successMessage = successMessage; this.maxWaitMilliseconds = maxWaitMilliseconds; this.appProtocol = appProtocol; this.daprApiToken = UUID.randomUUID().toString(); } public Builder withServiceClass(Class serviceClass) { this.serviceClass = serviceClass; return this; } DaprRun build() { return new DaprRun( this.testName, this.portsSupplier.get(), this.successMessage, this.serviceClass, this.maxWaitMilliseconds, this.appProtocol); } /** * Builds app and dapr run separately. It can be useful to force the restart of one of them. * @return Pair of AppRun and DaprRun. */ ImmutablePair splitBuild() { DaprPorts ports = this.portsSupplier.get(); AppRun appRun = new AppRun( ports, this.successMessage, this.serviceClass, this.maxWaitMilliseconds); DaprRun daprRun = new DaprRun( this.testName, ports, DAPR_SUCCESS_MESSAGE, null, this.maxWaitMilliseconds, this.appProtocol, resolveDaprApiToken(serviceClass)); return new ImmutablePair<>(appRun, daprRun); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/DaprRunConfig.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Customizes an app run for Dapr. */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface DaprRunConfig { boolean enableAppHealthCheck() default false; boolean enableDaprApiToken() default true; } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/Retry.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it; public class Retry { private Retry() {} public static void callWithRetry(Runnable function, long retryTimeoutMilliseconds) throws InterruptedException { long started = System.currentTimeMillis(); while (true) { Throwable exception; try { function.run(); return; } catch (Exception e) { exception = e; } catch (AssertionError e) { exception = e; } if (System.currentTimeMillis() - started >= retryTimeoutMilliseconds) { throw new RuntimeException(exception); } Thread.sleep(1000); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/Stoppable.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it; import java.io.IOException; public interface Stoppable { void stop() throws InterruptedException, IOException; } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/TestUtils.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it; import io.dapr.exceptions.DaprErrorDetails; import io.dapr.exceptions.DaprException; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.function.Executable; public final class TestUtils { private TestUtils() {} public static void assertThrowsDaprException(Class expectedType, Executable executable) { Throwable cause = Assertions.assertThrows(DaprException.class, executable).getCause(); Assertions.assertNotNull(cause); Assertions.assertEquals(expectedType, cause.getClass()); } public static void assertThrowsDaprException(String expectedErrorCode, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertNull(daprException.getCause()); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); } public static void assertThrowsDaprException( String expectedErrorCode, String expectedErrorMessage, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); Assertions.assertEquals(expectedErrorMessage, daprException.getMessage()); } public static void assertThrowsDaprExceptionWithReason( String expectedErrorCode, String expectedErrorMessage, String expectedReason, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); Assertions.assertEquals(expectedErrorMessage, daprException.getMessage()); Assertions.assertNotNull(daprException.getErrorDetails()); Assertions.assertEquals( expectedReason, daprException.getErrorDetails().get( DaprErrorDetails.ErrorDetailType.ERROR_INFO, "reason", TypeRef.STRING )); } public static void assertThrowsDaprExceptionSubstring( String expectedErrorCode, String expectedErrorMessageSubstring, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); Assertions.assertTrue(daprException.getMessage().contains(expectedErrorMessageSubstring)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/ToxiProxyRun.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it; import eu.rekawek.toxiproxy.Proxy; import eu.rekawek.toxiproxy.ToxiproxyClient; import eu.rekawek.toxiproxy.model.ToxicDirection; import io.dapr.actors.client.ActorClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.resiliency.ResiliencyOptions; import io.dapr.config.Properties; import io.dapr.config.Property; import io.dapr.utils.NetworkUtils; import java.io.IOException; import java.time.Duration; import java.util.Map; public class ToxiProxyRun implements Stoppable { private final DaprRun daprRun; private final Duration latency; private final Duration jitter; private final Command toxiProxyServer; private final DaprPorts toxiProxyPorts; private ToxiproxyClient toxiproxyClient; private Proxy grpcProxy; private Proxy httpProxy; public ToxiProxyRun(DaprRun run, Duration latency, Duration jitter) { this.daprRun = run; this.latency = latency; this.jitter = jitter; this.toxiProxyPorts = DaprPorts.build(true, true, true); // artursouza: we use the "appPort" for the ToxiProxy server. this.toxiProxyServer = new Command( "Starting HTTP server on endpoint", "toxiproxy-server --port " + this.toxiProxyPorts.getAppPort()); } public void start() throws IOException, InterruptedException { this.toxiProxyServer.run(); NetworkUtils.waitForSocket("127.0.0.1", this.toxiProxyPorts.getAppPort(), 10000); this.toxiproxyClient = new ToxiproxyClient("127.0.0.1", this.toxiProxyPorts.getAppPort()); if (this.daprRun.getGrpcPort() != null) { this.grpcProxy = toxiproxyClient.createProxy( "daprd_grpc", "127.0.0.1:" + this.toxiProxyPorts.getGrpcPort(), "127.0.0.1:" + this.daprRun.getGrpcPort()); this.grpcProxy.toxics() .latency("latency", ToxicDirection.DOWNSTREAM, this.latency.toMillis()) .setJitter(this.jitter.toMillis()); } if (this.daprRun.getHttpPort() != null) { this.httpProxy = toxiproxyClient.createProxy( "daprd_http", "127.0.0.1:" + this.toxiProxyPorts.getHttpPort(), "127.0.0.1:" + this.daprRun.getHttpPort()); this.httpProxy.toxics() .latency("latency", ToxicDirection.DOWNSTREAM, this.latency.toMillis()) .setJitter(this.jitter.toMillis()); } } public Map, String> getPropertyOverrides() { return this.toxiProxyPorts.getPropertyOverrides(); } public DaprClientBuilder newDaprClientBuilder() { return this.daprRun.newDaprClientBuilder().withPropertyOverrides(this.getPropertyOverrides()); } public ActorClient newActorClient() { return this.newActorClient(null); } public ActorClient newActorClient(ResiliencyOptions resiliencyOptions) { return new ActorClient(new Properties(this.getPropertyOverrides()), resiliencyOptions); } @Override public void stop() throws InterruptedException, IOException { this.toxiProxyServer.stop(); this.toxiproxyClient = null; this.grpcProxy = null; this.httpProxy = null; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/ActivationDeactivationIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.it.BaseIT; import io.dapr.it.actors.services.springboot.DemoActor; import io.dapr.it.actors.services.springboot.DemoActorService; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import static io.dapr.it.Retry.callWithRetry; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; public class ActivationDeactivationIT extends BaseIT { private static Logger logger = LoggerFactory.getLogger(ActivationDeactivationIT.class); @Test public void activateInvokeDeactivate() throws Exception { // The call below will fail if service cannot start successfully. var run = startDaprApp( ActivationDeactivationIT.class.getSimpleName(), DemoActorService.SUCCESS_MESSAGE, DemoActorService.class, true, 60000); final AtomicInteger atomicInteger = new AtomicInteger(1); logger.debug("Creating proxy builder"); ActorProxyBuilder proxyBuilder = new ActorProxyBuilder(DemoActor.class, deferClose(run.newActorClient())); logger.debug("Creating actorId"); ActorId actorId1 = new ActorId(Integer.toString(atomicInteger.getAndIncrement())); logger.debug("Building proxy"); DemoActor proxy = proxyBuilder.build(actorId1); callWithRetry(() -> { logger.debug("Invoking Say from Proxy"); String sayResponse = proxy.say("message"); logger.debug("asserting not null response: [" + sayResponse + "]"); assertNotNull(sayResponse); }, 60000); logger.debug("Retrieving active Actors"); List activeActors = proxy.retrieveActiveActors(); logger.debug("Active actors: [" + activeActors.toString() + "]"); assertTrue(activeActors.contains(actorId1.toString()),"Expecting actorId:[" + actorId1.toString() + "]"); ActorId actorId2 = new ActorId(Integer.toString(atomicInteger.getAndIncrement())); DemoActor proxy2 = proxyBuilder.build(actorId2); callWithRetry(() -> { List activeActorsSecondTry = proxy2.retrieveActiveActors(); logger.debug("Active actors: [" + activeActorsSecondTry.toString() + "]"); assertFalse(activeActorsSecondTry.contains(actorId1.toString()), "NOT Expecting actorId:[" + actorId1.toString() + "]"); }, 15000); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/ActorExceptionIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.it.actors.app.MyActor; import io.dapr.it.actors.app.MyActorService; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Map; import static io.dapr.it.Retry.callWithRetry; import static io.dapr.it.TestUtils.assertThrowsDaprExceptionSubstring; public class ActorExceptionIT extends BaseIT { private static Logger logger = LoggerFactory.getLogger(ActorExceptionIT.class); private static DaprRun run; @BeforeAll public static void start() throws Exception { // The call below will fail if service cannot start successfully. run = startDaprApp( ActorExceptionIT.class.getSimpleName(), MyActorService.SUCCESS_MESSAGE, MyActorService.class, true, 60000); } @Test public void exceptionTest() throws Exception { ActorProxyBuilder proxyBuilder = new ActorProxyBuilder("MyActorTest", MyActor.class, deferClose(run.newActorClient())); MyActor proxy = proxyBuilder.build(new ActorId("1")); callWithRetry(() -> { assertThrowsDaprExceptionSubstring( "INTERNAL", "INTERNAL: error invoke actor method: error from actor service", () -> proxy.throwException()); }, 10000); } @Test public void exceptionDueToMetadataTest() throws Exception { // Setting this HTTP header via actor metadata will cause the Actor HTTP server to error. Map metadata = Map.of("Content-Length", "9999"); ActorProxyBuilder proxyBuilderMetadataOverride = new ActorProxyBuilder("MyActorTest", MyActor.class, deferClose(run.newActorClient(metadata))); MyActor proxyWithMetadata = proxyBuilderMetadataOverride.build(new ActorId("2")); callWithRetry(() -> { assertThrowsDaprExceptionSubstring( "INTERNAL", "ContentLength=9999 with Body length 13", () -> proxyWithMetadata.say("hello world")); }, 10000); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/ActorMethodNameIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorProxy; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.it.BaseIT; import io.dapr.it.actors.app.MyActor; import io.dapr.it.actors.app.MyActorService; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import static io.dapr.it.Retry.callWithRetry; import static org.junit.jupiter.api.Assertions.assertTrue; public class ActorMethodNameIT extends BaseIT { private static Logger logger = LoggerFactory.getLogger(ActorMethodNameIT.class); @Test public void actorMethodNameChange() throws Exception { // The call below will fail if service cannot start successfully. var run = startDaprApp( ActorMethodNameIT.class.getSimpleName(), MyActorService.SUCCESS_MESSAGE, MyActorService.class, true, 60000); logger.debug("Creating proxy builder"); ActorProxyBuilder proxyBuilder = new ActorProxyBuilder("MyActorTest", MyActor.class, deferClose(run.newActorClient())); logger.debug("Creating actorId"); ActorId actorId1 = new ActorId("1"); logger.debug("Building proxy"); MyActor proxy = proxyBuilder.build(actorId1); callWithRetry(() -> { logger.debug("Invoking dotNetMethod from Proxy"); boolean response = proxy.dotNetMethod(); logger.debug("asserting true response: [" + response + "]"); assertTrue(response); }, 60000); logger.debug("Creating proxy builder 2"); ActorProxyBuilder proxyBuilder2 = new ActorProxyBuilder("MyActorTest", ActorProxy.class, deferClose(run.newActorClient())); logger.debug("Building proxy 2"); ActorProxy proxy2 = proxyBuilder2.build(actorId1); callWithRetry(() -> { logger.debug("Invoking DotNetMethodAsync from Proxy 2"); boolean response = proxy2.invokeMethod("DotNetMethodAsync", boolean.class).block(); logger.debug("asserting true response 2: [" + response + "]"); assertTrue(response); }, 60000); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/ActorReminderFailoverIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorClient; import io.dapr.actors.client.ActorProxy; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.config.Properties; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.it.actors.app.MyActorService; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.List; import java.util.UUID; import static io.dapr.it.actors.MyActorTestUtils.countMethodCalls; import static io.dapr.it.actors.MyActorTestUtils.fetchMethodCallLogs; import static io.dapr.it.actors.MyActorTestUtils.validateMethodCalls; import static org.junit.jupiter.api.Assertions.assertNotEquals; public class ActorReminderFailoverIT extends BaseIT { private static Logger logger = LoggerFactory.getLogger(ActorReminderFailoverIT.class); private static final String METHOD_NAME = "receiveReminder"; private ActorProxy proxy; private DaprRun firstAppRun; private DaprRun secondAppRun; private DaprRun clientAppRun; @BeforeEach public void init() throws Exception { firstAppRun = startDaprApp( ActorReminderFailoverIT.class.getSimpleName() + "One", "Started MyActorService", MyActorService.class, true, 60000); secondAppRun = startDaprApp( ActorReminderFailoverIT.class.getSimpleName() + "Two", "Started MyActorService", MyActorService.class, true, 60000); clientAppRun = startDaprApp( ActorReminderFailoverIT.class.getSimpleName() + "Client", 60000); Thread.sleep(3000); ActorId actorId = new ActorId(UUID.randomUUID().toString()); String actorType="MyActorTest"; logger.debug("Creating proxy builder"); ActorProxyBuilder proxyBuilder = new ActorProxyBuilder(actorType, ActorProxy.class, deferClose(clientAppRun.newActorClient())); logger.debug("Creating actorId"); logger.debug("Building proxy"); proxy = proxyBuilder.build(actorId); } @AfterEach public void tearDown() { // call unregister logger.debug("Calling actor method 'stopReminder' to unregister reminder"); proxy.invokeMethod("stopReminder", "myReminder").block(); } /** * Create an actor, register a reminder, validates its content, restarts the runtime and confirms reminder continues. * @throws Exception This test is not expected to throw. Thrown exceptions are bugs. */ @Test public void reminderRecoveryTest() throws Exception { logger.debug("Invoking actor method 'startReminder' which will register a reminder"); proxy.invokeMethod("startReminder", "myReminder").block(); logger.debug("Pausing 7 seconds to allow reminder to fire"); Thread.sleep(7000); List logs = fetchMethodCallLogs(proxy); validateMethodCalls(logs, METHOD_NAME, 3); int originalActorHostIdentifier = Integer.parseInt( proxy.invokeMethod("getIdentifier", String.class).block()); if (originalActorHostIdentifier == firstAppRun.getHttpPort()) { firstAppRun.stop(); } if (originalActorHostIdentifier == secondAppRun.getHttpPort()) { secondAppRun.stop(); } logger.debug("Pausing 10 seconds to allow failover to take place"); Thread.sleep(10000); List newLogs = fetchMethodCallLogs(proxy); logger.debug("Pausing 10 seconds to allow reminder to fire a few times"); Thread.sleep(10000); List newLogs2 = fetchMethodCallLogs(proxy); logger.debug("Check if there has been additional calls"); validateMethodCalls(newLogs2, METHOD_NAME, countMethodCalls(newLogs, METHOD_NAME) + 4); int newActorHostIdentifier = Integer.parseInt( proxy.invokeMethod("getIdentifier", String.class).block()); assertNotEquals(originalActorHostIdentifier, newActorHostIdentifier); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/ActorReminderRecoveryIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorProxy; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.it.AppRun; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.it.actors.app.ActorReminderDataParam; import io.dapr.it.actors.app.MyActorService; import org.apache.commons.lang3.tuple.ImmutablePair; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.time.Duration; import java.util.ArrayList; import java.util.List; import java.util.UUID; import java.util.stream.Stream; import static io.dapr.it.Retry.callWithRetry; import static io.dapr.it.actors.MyActorTestUtils.countMethodCalls; import static io.dapr.it.actors.MyActorTestUtils.fetchMethodCallLogs; import static io.dapr.it.actors.MyActorTestUtils.validateMessageContent; import static io.dapr.it.actors.MyActorTestUtils.validateMethodCalls; public class ActorReminderRecoveryIT extends BaseIT { private static final Logger logger = LoggerFactory.getLogger(ActorReminderRecoveryIT.class); private static final String METHOD_NAME = "receiveReminder"; /** * Parameters for this test. * Param #1: useGrpc. * * @return Collection of parameter tuples. */ public static Stream data() { return Stream.of(Arguments.of( "MyActorTest", new ActorReminderDataParam("36", "String"), "36" ), Arguments.of( "MyActorTest", new ActorReminderDataParam("\"my_text\"", "String"), "\"my_text\"" ), Arguments.of( "MyActorBinaryTest", new ActorReminderDataParam(new byte[]{0, 1}, "Binary"), "AAE=" ), Arguments.of( "MyActorObjectTest", new ActorReminderDataParam("{\"name\":\"abc\",\"age\":30}", "Object"), "abc,30" ) ); } public String reminderName = UUID.randomUUID().toString(); private ActorProxy proxy; private ImmutablePair runs; private DaprRun clientRun; public void setup(String actorType) throws Exception { runs = startSplitDaprAndApp( ActorReminderRecoveryIT.class.getSimpleName(), "Started MyActorService", MyActorService.class, true, 60000); // Run that will stay up for integration tests. // appId must not contain the appId from the other run, otherwise ITs will not run properly. clientRun = startDaprApp("ActorReminderRecoveryTestClient", 5000); Thread.sleep(3000); ActorId actorId = new ActorId(UUID.randomUUID().toString()); logger.debug("Creating proxy builder"); ActorProxyBuilder proxyBuilder = new ActorProxyBuilder(actorType, ActorProxy.class, deferClose(clientRun.newActorClient())); logger.debug("Creating actorId"); logger.debug("Building proxy"); proxy = proxyBuilder.build(actorId); } @AfterEach public void tearDown() { // call unregister logger.debug("Calling actor method 'stopReminder' to unregister reminder"); proxy.invokeMethod("stopReminder", this.reminderName).block(); } /** * Create an actor, register a reminder, validates its content, restarts the runtime and confirms reminder continues. * @throws Exception This test is not expected to throw. Thrown exceptions are bugs. */ @ParameterizedTest @MethodSource("data") public void reminderRecoveryTest( String actorType, ActorReminderDataParam reminderDataParam, String expectedReminderStateText ) throws Exception { setup(actorType); logger.debug("Pausing 3 seconds to let gRPC connection get ready"); Thread.sleep(3000); logger.debug("Invoking actor method 'startReminder' which will register a reminder"); proxy.invokeMethod("setReminderData", reminderDataParam).block(); proxy.invokeMethod("startReminder", reminderName).block(); logger.debug("Pausing 7 seconds to allow reminder to fire"); Thread.sleep(7000); final List logs = new ArrayList<>(); callWithRetry(() -> { logs.clear(); logs.addAll(fetchMethodCallLogs(proxy)); validateMethodCalls(logs, METHOD_NAME, 3); validateMessageContent(logs, METHOD_NAME, expectedReminderStateText); }, 5000); // Restarts runtime only. logger.info("Stopping Dapr sidecar"); runs.right.stop(); // Pause a bit to let placements settle. logger.info("Pausing 10 seconds to let placements settle."); Thread.sleep(Duration.ofSeconds(10).toMillis()); logger.info("Starting Dapr sidecar"); runs.right.start(); logger.info("Dapr sidecar started"); logger.info("Pausing 7 seconds to allow sidecar to be healthy"); Thread.sleep(7000); callWithRetry(() -> { logger.info("Fetching logs for " + METHOD_NAME); List newLogs = fetchMethodCallLogs(proxy); validateMethodCalls(newLogs, METHOD_NAME, 1); validateMessageContent(newLogs, METHOD_NAME, expectedReminderStateText); logger.info("Pausing 10 seconds to allow reminder to fire a few times"); try { Thread.sleep(10000); } catch (InterruptedException e) { logger.error("Sleep interrupted"); Thread.currentThread().interrupt(); throw new RuntimeException(e); } logger.info("Fetching more logs for " + METHOD_NAME); List newLogs2 = fetchMethodCallLogs(proxy); logger.info("Check if there has been additional calls"); validateMethodCalls(newLogs2, METHOD_NAME, countMethodCalls(newLogs, METHOD_NAME) + 3); }, 60000); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/ActorSdkResiliencyIT.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorClient; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.client.DaprClient; import io.dapr.client.resiliency.ResiliencyOptions; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.it.ToxiProxyRun; import io.dapr.it.actors.services.springboot.DemoActor; import io.dapr.it.actors.services.springboot.DemoActorService; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.time.Duration; import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; /** * Test SDK resiliency. */ public class ActorSdkResiliencyIT extends BaseIT { private static final ActorId ACTOR_ID = new ActorId(UUID.randomUUID().toString()); private static final int NUM_ITERATIONS = 20; private static final Duration TIMEOUT = Duration.ofMillis(1000); private static final Duration LATENCY = TIMEOUT.dividedBy(2); private static final Duration JITTER = TIMEOUT.multipliedBy(2); private static final int MAX_RETRIES = -1; // Infinity private static DaprRun daprRun; private static DaprClient daprClient; private static DemoActor demoActor; private static ToxiProxyRun toxiProxyRun; private static DemoActor toxiDemoActor; private static DemoActor resilientDemoActor; private static DemoActor oneRetryDemoActor; @BeforeAll public static void init() throws Exception { daprRun = startDaprApp( ActorSdkResiliencyIT.class.getSimpleName(), DemoActorService.SUCCESS_MESSAGE, DemoActorService.class, true, 60000); demoActor = buildDemoActorProxy(deferClose(daprRun.newActorClient())); daprClient = daprRun.newDaprClientBuilder().build(); toxiProxyRun = new ToxiProxyRun(daprRun, LATENCY, JITTER); toxiProxyRun.start(); toxiDemoActor = buildDemoActorProxy( toxiProxyRun.newActorClient(new ResiliencyOptions().setTimeout(TIMEOUT))); resilientDemoActor = buildDemoActorProxy( toxiProxyRun.newActorClient(new ResiliencyOptions().setTimeout(TIMEOUT).setMaxRetries(MAX_RETRIES))); oneRetryDemoActor = buildDemoActorProxy( toxiProxyRun.newActorClient(new ResiliencyOptions().setTimeout(TIMEOUT).setMaxRetries(1))); } private static DemoActor buildDemoActorProxy(ActorClient actorClient) { ActorProxyBuilder builder = new ActorProxyBuilder(DemoActor.class, actorClient); return builder.build(ACTOR_ID); } @AfterAll public static void tearDown() throws Exception { if (toxiProxyRun != null) { toxiProxyRun.stop(); } } @Test @Disabled("Flaky when running on GitHub actions") public void retryAndTimeout() { AtomicInteger toxiClientErrorCount = new AtomicInteger(); AtomicInteger retryOneClientErrorCount = new AtomicInteger(); String message = "hello world"; for (int i = 0; i < NUM_ITERATIONS; i++) { try { toxiDemoActor.writeMessage(message); } catch (Exception e) { // This call should fail sometimes. So, we count. toxiClientErrorCount.incrementAndGet(); } try { oneRetryDemoActor.writeMessage(message); } catch (Exception e) { // This call should fail sometimes. So, we count. retryOneClientErrorCount.incrementAndGet(); } // We retry forever so that the call below should always work. resilientDemoActor.writeMessage(message); // Makes sure the value was actually saved. String savedValue = demoActor.readMessage(); assertEquals(message, savedValue); } // This assertion makes sure that toxicity is on assertTrue(toxiClientErrorCount.get() > 0); assertTrue(retryOneClientErrorCount.get() > 0); // A client without retries should have more errors than a client with one retry. assertTrue(toxiClientErrorCount.get() > retryOneClientErrorCount.get()); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/ActorStateIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorProxy; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.it.actors.services.springboot.StatefulActor; import io.dapr.it.actors.services.springboot.StatefulActorService; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import static io.dapr.it.Retry.callWithRetry; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; public class ActorStateIT extends BaseIT { private static Logger logger = LoggerFactory.getLogger(ActorStateIT.class); @Test public void writeReadState() throws Exception { logger.debug("Starting actor runtime ..."); // The call below will fail if service cannot start successfully. DaprRun run = startDaprApp( this.getClass().getSimpleName(), StatefulActorService.SUCCESS_MESSAGE, StatefulActorService.class, true, 60000); String message = "This is a message to be saved and retrieved."; String name = "Jon Doe"; byte[] bytes = new byte[] { 0x1 }; ActorId actorId = new ActorId( String.format("%d", System.currentTimeMillis())); String actorType = "StatefulActorTest"; logger.debug("Building proxy ..."); ActorProxyBuilder proxyBuilder = new ActorProxyBuilder(actorType, ActorProxy.class, deferClose(run.newActorClient())); ActorProxy proxy = proxyBuilder.build(actorId); // waiting for actor to be activated Thread.sleep(5000); // Validate conditional read works. callWithRetry(() -> { logger.debug("Invoking readMessage where data is not present yet ... "); String result = proxy.invokeMethod("readMessage", String.class).block(); assertNull(result); }, 10000); callWithRetry(() -> { logger.debug("Invoking writeMessage ... "); proxy.invokeMethod("writeMessage", message).block(); }, 5000); callWithRetry(() -> { logger.debug("Invoking readMessage where data is probably still cached ... "); String result = proxy.invokeMethod("readMessage", String.class).block(); assertEquals(message, result); }, 5000); // writeData uses an object instead of String to test serialization. StatefulActor.MyData mydata = new StatefulActor.MyData(); mydata.value = "My data value."; callWithRetry(() -> { logger.debug("Invoking writeData with object ... "); proxy.invokeMethod("writeData", mydata).block(); }, 5000); callWithRetry(() -> { logger.debug("Invoking readData where data is probably still cached ... "); StatefulActor.MyData result = proxy.invokeMethod("readData", StatefulActor.MyData.class).block(); assertEquals(mydata.value, result.value); }, 5000); callWithRetry(() -> { logger.debug("Invoking writeName ... "); proxy.invokeMethod("writeName", name).block(); }, 5000); callWithRetry(() -> { logger.debug("Invoking readName where data is probably still cached ... "); String result = proxy.invokeMethod("readName", String.class).block(); assertEquals(name, result); }, 5000); callWithRetry(() -> { logger.debug("Invoking writeName with empty content... "); proxy.invokeMethod("writeName", "").block(); }, 5000); callWithRetry(() -> { logger.debug("Invoking readName where empty content is probably still cached ... "); String result = proxy.invokeMethod("readName", String.class).block(); assertEquals("", result); }, 5000); callWithRetry(() -> { logger.debug("Invoking writeBytes ... "); proxy.invokeMethod("writeBytes", bytes).block(); }, 5000); callWithRetry(() -> { logger.debug("Invoking readBytes where data is probably still cached ... "); byte[] result = proxy.invokeMethod("readBytes", byte[].class).block(); assertArrayEquals(bytes, result); }, 5000); logger.debug("Waiting, so actor can be deactivated ..."); Thread.sleep(10000); logger.debug("Stopping service ..."); run.stop(); logger.debug("Starting service ..."); DaprRun run2 = startDaprApp( this.getClass().getSimpleName(), StatefulActorService.SUCCESS_MESSAGE, StatefulActorService.class, true, 60000); // Need new proxy builder because the proxy builder holds the channel. proxyBuilder = new ActorProxyBuilder(actorType, ActorProxy.class, deferClose(run2.newActorClient())); ActorProxy newProxy = proxyBuilder.build(actorId); // waiting for actor to be activated Thread.sleep(2000); callWithRetry(() -> { logger.debug("Invoking readMessage where data is not cached ... "); String result = newProxy.invokeMethod("readMessage", String.class).block(); assertEquals(message, result); }, 5000); callWithRetry(() -> { logger.debug("Invoking readData where data is not cached ... "); StatefulActor.MyData result = newProxy.invokeMethod("readData", StatefulActor.MyData.class).block(); assertEquals(mydata.value, result.value); }, 5000); logger.debug("Finished testing actor string state."); callWithRetry(() -> { logger.debug("Invoking readName where empty content is not cached ... "); String result = newProxy.invokeMethod("readName", String.class).block(); assertEquals("", result); }, 5000); callWithRetry(() -> { logger.debug("Invoking readBytes where content is not cached ... "); byte[] result = newProxy.invokeMethod("readBytes", byte[].class).block(); assertArrayEquals(bytes, result); }, 5000); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/ActorTimerRecoveryIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorProxy; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.it.AppRun; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.it.actors.app.MyActorService; import org.apache.commons.lang3.tuple.ImmutablePair; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; import java.util.UUID; import static io.dapr.it.Retry.callWithRetry; import static io.dapr.it.actors.MyActorTestUtils.fetchMethodCallLogs; import static io.dapr.it.actors.MyActorTestUtils.validateMessageContent; import static io.dapr.it.actors.MyActorTestUtils.validateMethodCalls; import static org.junit.jupiter.api.Assertions.assertNotEquals; public class ActorTimerRecoveryIT extends BaseIT { private static final Logger logger = LoggerFactory.getLogger(ActorTimerRecoveryIT.class); private static final String METHOD_NAME = "clock"; /** * Create an actor, register a timer, validates its content, restarts the Actor and confirms timer continues. * @throws Exception This test is not expected to throw. Thrown exceptions are bugs. */ @Test public void timerRecoveryTest() throws Exception { ImmutablePair runs = startSplitDaprAndApp( ActorTimerRecoveryIT.class.getSimpleName(), "Started MyActorService", MyActorService.class, true, 60000); Thread.sleep(3000); String actorType="MyActorTest"; logger.debug("Creating proxy builder"); ActorProxyBuilder proxyBuilder = new ActorProxyBuilder(actorType, ActorProxy.class, deferClose(runs.right.newActorClient())); logger.debug("Creating actorId"); ActorId actorId = new ActorId(UUID.randomUUID().toString()); logger.debug("Building proxy"); ActorProxy proxy = proxyBuilder.build(actorId); logger.debug("Invoking actor method 'startTimer' which will register a timer"); proxy.invokeMethod("startTimer", "myTimer").block(); logger.debug("Pausing 7 seconds to allow timer to fire"); Thread.sleep(7000); final List logs = new ArrayList<>(); callWithRetry(() -> { logs.clear(); logs.addAll(fetchMethodCallLogs(proxy)); validateMethodCalls(logs, METHOD_NAME, 3); validateMessageContent(logs, METHOD_NAME, "ping!"); }, 5000); // Restarts app only. runs.left.stop(); // Cannot sleep between app's stop and start since it can trigger unhealthy actor in runtime and lose timers. // Timers will survive only if the restart is "quick" and survives the runtime's actor health check. // Starting in 1.13, sidecar is more sensitive to an app restart and will not keep actors active for "too long". runs.left.start(); final List newLogs = new ArrayList<>(); callWithRetry(() -> { newLogs.clear(); newLogs.addAll(fetchMethodCallLogs(proxy)); validateMethodCalls(newLogs, METHOD_NAME, 3); }, 10000); // Check that the restart actually happened by confirming the old logs are not in the new logs. for (MethodEntryTracker oldLog: logs) { for (MethodEntryTracker newLog: newLogs) { assertNotEquals(oldLog.toString(), newLog.toString()); } } // call unregister logger.debug("Calling actor method 'stopTimer' to unregister timer"); proxy.invokeMethod("stopTimer", "myTimer").block(); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/ActorTurnBasedConcurrencyIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorProxy; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.actors.runtime.DaprClientHttpUtils; import io.dapr.config.Properties; import io.dapr.it.BaseIT; import io.dapr.it.actors.app.MyActorService; import io.dapr.utils.Version; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; import static io.dapr.it.actors.MyActorTestUtils.fetchMethodCallLogs; import static io.dapr.it.actors.MyActorTestUtils.validateMethodCalls; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; public class ActorTurnBasedConcurrencyIT extends BaseIT { private static final Logger logger = LoggerFactory.getLogger(ActorTurnBasedConcurrencyIT.class); private static final String TIMER_METHOD_NAME = "clock"; private static final String REMINDER_METHOD_NAME = "receiveReminder"; private static final String ACTOR_TYPE = "MyActorTest"; private static final String REMINDER_NAME = UUID.randomUUID().toString(); private static final String ACTOR_ID = "1"; @AfterEach public void cleanUpTestCase() { // Delete the reminder in case the test failed, otherwise it may interfere with future tests since it is persisted. var channel = buildManagedChannel(); try { System.out.println("Invoking during cleanup"); DaprClientHttpUtils.unregisterActorReminder(channel, ACTOR_TYPE, ACTOR_ID, REMINDER_NAME); } catch (Exception e) { e.printStackTrace(); } finally { channel.shutdown(); } } /** * Create an actor, register a timer and a reminder, then invoke additional actor method calls. * Validate turn-based concurrency by getting logs from the actor through an actor method, and asserting that: * - "Enter" and "Exit" calls alternate * - An entered actor method is exited before a subsequent actor method call. * Unregister the timer and reminder and verify they do not fire subsequently. Also verify the timer and reminder * did fire a reasonable (with delta) number of times when they were registered. * @throws Exception This test is not expected to throw. Thrown exceptions are bugs. */ @Test public void invokeOneActorMethodReminderAndTimer() throws Exception { System.out.println("Starting test 'actorTest1'"); var run = startDaprApp( ActorTurnBasedConcurrencyIT.class.getSimpleName(), MyActorService.SUCCESS_MESSAGE, MyActorService.class, true, 60000); Thread.sleep(5000); String actorType="MyActorTest"; logger.debug("Creating proxy builder"); ActorProxyBuilder proxyBuilder = new ActorProxyBuilder(actorType, ActorProxy.class, deferClose(run.newActorClient())); logger.debug("Creating actorId"); ActorId actorId1 = new ActorId(ACTOR_ID); logger.debug("Building proxy"); ActorProxy proxy = proxyBuilder.build(actorId1); final AtomicInteger expectedSayMethodInvocations = new AtomicInteger(); logger.debug("Invoking Say from Proxy"); String sayResponse = proxy.invokeMethod("say", "message", String.class).block(); logger.debug("asserting not null response: [" + sayResponse + "]"); assertNotNull(sayResponse); expectedSayMethodInvocations.incrementAndGet(); logger.debug("Invoking actor method 'startTimer' which will register a timer"); proxy.invokeMethod("startTimer", "myTimer").block(); // invoke a bunch of calls in parallel to validate turn-based concurrency logger.debug("Invoking an actor method 'say' in parallel"); List sayMessages = new ArrayList(); for (int i = 0; i < 10; i++) { sayMessages.add("hello" + i); } sayMessages.parallelStream().forEach( i -> { // the actor method called below should reverse the input String msg = "message" + i; String reversedString = new StringBuilder(msg).reverse().toString(); String output = proxy.invokeMethod("say", "message" + i, String.class).block(); assertTrue(reversedString.equals(output)); expectedSayMethodInvocations.incrementAndGet(); }); logger.debug("Calling method to register reminder named " + REMINDER_NAME); proxy.invokeMethod("startReminder", REMINDER_NAME).block(); logger.debug("Pausing 7 seconds to allow timer and reminders to fire"); Thread.sleep(7000); List logs = fetchMethodCallLogs(proxy); validateTurnBasedConcurrency(logs); validateMethodCalls(logs, TIMER_METHOD_NAME, 2); validateMethodCalls(logs, REMINDER_METHOD_NAME, 3); // call unregister logger.debug("Calling actor method 'stopTimer' to unregister timer"); proxy.invokeMethod("stopTimer", "myTimer").block(); logger.debug("Calling actor method 'stopReminder' to unregister reminder"); proxy.invokeMethod("stopReminder", REMINDER_NAME).block(); // make some more actor method calls and sleep a bit to see if the timer fires (it should not) sayMessages.parallelStream().forEach( i -> { proxy.invokeMethod("say", "message" + i, String.class).block(); expectedSayMethodInvocations.incrementAndGet(); }); logger.debug("Pausing 5 seconds to allow time for timer and reminders to fire if there is a bug. They should not since we have unregistered them."); Thread.sleep(5000); // get history again, we don't additional timer/reminder calls logs = fetchMethodCallLogs(proxy); validateEventNotObserved(logs, "stopTimer", TIMER_METHOD_NAME); validateEventNotObserved(logs, "stopReminder", REMINDER_METHOD_NAME); validateMethodCalls(logs, "say", expectedSayMethodInvocations.get()); } /** * Validate turn-based concurrency enter and exit logging - we should see "Enter" and "Exit" alternate since * our app implementation service logs that on actor methods. * @param logs logs with info about method entries and exits returned from the app */ void validateTurnBasedConcurrency(List logs) { if (logs.size() == 0) { logger.warn("No logs"); return; } String currentMethodName = ""; for (MethodEntryTracker s : logs) { if (s.getIsEnter()) { currentMethodName = s.getMethodName(); } else { assertTrue(currentMethodName.equals(s.getMethodName())); } } boolean flag = true; for (MethodEntryTracker s : logs) { if (s.getIsEnter() == flag) { flag = !flag; } else { String msg = "Error - Enter and Exit should alternate. Incorrect entry: " + s.toString(); System.out.println(msg); Assertions.fail(msg); } } } /** * Validates that after an event in "startingPointMethodName", the events in "methodNameThatShouldNotAppear" do not appear. * This can be used to validate that timers and reminders are stopped. * * @param logs Call logs from the actor service * @param startingPointMethodName The name of the method after which "methodNameThatShouldNotAppear" should not appear * @param methodNameThatShouldNotAppear The method which should not appear */ void validateEventNotObserved(List logs, String startingPointMethodName, String methodNameThatShouldNotAppear) { System.out.println("Validating event " + methodNameThatShouldNotAppear + " does not appear after event " + startingPointMethodName); int index = -1; for (int i = 0; i < logs.size(); i++) { if (logs.get(i).getMethodName().equals(startingPointMethodName)) { index = i; break; } } if (index == -1) { throw new RuntimeException("Did not find expected trace for " + startingPointMethodName + " actor method"); } List logsAfter = logs.subList(index, logs.size()); for (MethodEntryTracker m : logsAfter) { if (m.getMethodName().equals(methodNameThatShouldNotAppear)) { String errorMessage = "Timer method " + methodNameThatShouldNotAppear + " should not have been called after " + startingPointMethodName + ". Observed at " + m.toString(); System.out.println(errorMessage); System.out.println("Dumping all logs"); for(MethodEntryTracker l : logs) { System.out.println(" " + l.toString()); } throw new RuntimeException(errorMessage); } } } private static ManagedChannel buildManagedChannel() { int port = Properties.GRPC_PORT.get(); if (port <= 0) { throw new IllegalStateException("Invalid port."); } return ManagedChannelBuilder.forAddress(Properties.SIDECAR_IP.get(), port) .usePlaintext() .userAgent(Version.getSdkVersion()) .build(); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/MethodEntryTracker.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors; import java.util.Date; public class MethodEntryTracker { private boolean isEnter; private String methodName; private String message; private Date date; public MethodEntryTracker(boolean isEnter, String methodName, Date date) { this(isEnter, methodName, null, date); } public MethodEntryTracker(boolean isEnter, String methodName, String message, Date date) { this.isEnter = isEnter; this.methodName = methodName; this.message = message; this.date = date; } public boolean getIsEnter() { return this.isEnter; } public String getMethodName() { return this.methodName; } public String getMessage() { return this.message; } public Date getDate() { return this.date; } @Override public String toString() { return this.date + " " + this.isEnter + " " + (this.message != null? this.message + " ":"") + this.methodName; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/MyActorTestUtils.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors; import io.dapr.actors.client.ActorProxy; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; /** * Utility class for tests that use MyActor class. */ public class MyActorTestUtils { private MyActorTestUtils() {} /** * Count number of calls. * @param logs logs with info about method entries and exits returned from the app * @param methodName name of the method to be counted * @return number of successful invocations of reminder */ static int countMethodCalls(List logs, String methodName) { // Counts number of times reminder is invoked. // Events for each actor method call include "enter" and "exit" calls, so they are divided by 2. List calls = logs.stream().filter(x -> x.getMethodName().equals(methodName)).collect(Collectors.toList()); System.out.printf( "Size of %s count list is %d, which means it's been invoked half that many times.\n", methodName, calls.size()); return calls.size() / 2; } /** * Checks if all entries for a method call contain the same message. * @param logs logs with info about method entries and exits returned from the app * @param methodName name of the method to be validated * @param message expected message */ static void validateMessageContent(List logs, String methodName, String message) { List calls = logs.stream().filter(x -> x.getMethodName().equals(methodName)).collect(Collectors.toList()); for (MethodEntryTracker m : calls) { assertEquals(message, m.getMessage()); } } /** * Validate the number of call of a given method. * @param logs logs with info about method entries and exits returned from the app * @param methodName name of the method to be validated. * @param minimum minimum number of entries. */ static void validateMethodCalls(List logs, String methodName, int minimum) { int callsCount = countMethodCalls(logs, methodName); assertTrue(callsCount >= minimum); } /** * Fetches the call log for the given Actor. * @param proxy Actor proxy for the actor. * @return List of call log. */ static List fetchMethodCallLogs(ActorProxy proxy) { ArrayList logs = proxy.invokeMethod("getCallLog", ArrayList.class).block(); ArrayList trackers = new ArrayList(); for(String t : logs) { String[] toks = t.split("\\|"); if (toks.length == 3) { MethodEntryTracker m = new MethodEntryTracker( toks[0].equals("Enter") ? true : false, toks[1], new Date(toks[2])); trackers.add(m); } else if (toks.length == 4) { MethodEntryTracker m = new MethodEntryTracker( toks[0].equals("Enter") ? true : false, toks[1], toks[2], new Date(toks[3])); trackers.add(m); } else { fail("Invalid log entry"); } } return trackers; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/app/ActorReminderDataParam.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.app; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.utils.TypeRef; /** * This class is for passing string or binary data to the Actor for registering reminder later on during test. */ public class ActorReminderDataParam { private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); private String data; private byte[] binaryData; private String typeHint; public ActorReminderDataParam() { } public ActorReminderDataParam(String data, String typeHint) { this.data = data; this.typeHint = typeHint; } public ActorReminderDataParam(byte[] data, String typeHint) { this.binaryData = data; this.typeHint = typeHint; } public String getData() { return data; } public void setData(String data) { this.data = data; } public byte[] getBinaryData() { return binaryData; } public void setBinaryData(byte[] binaryData) { this.binaryData = binaryData; } public String getTypeHint() { return typeHint; } public void setTypeHint(String typeHint) { this.typeHint = typeHint; } public T asObject(TypeRef type) throws Exception { if (this.data != null) { return OBJECT_MAPPER.readValue(this.data, OBJECT_MAPPER.constructType(type.getType())); } else if (this.binaryData != null) { return OBJECT_MAPPER.readValue(this.binaryData, OBJECT_MAPPER.constructType(type.getType())); } return null; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/app/MyActor.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.app; import io.dapr.actors.ActorMethod; import java.util.ArrayList; import java.util.List; public interface MyActor { String say(String something); List retrieveActiveActors(); void setReminderData(ActorReminderDataParam param); void startReminder(String name) throws Exception; void stopReminder(String name); void startTimer(String name); void stopTimer(String name); void clock(String message); ArrayList getCallLog(); String getIdentifier(); void throwException(); @ActorMethod(name = "DotNetMethodAsync") boolean dotNetMethod(); } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/app/MyActorBase.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.app; import io.dapr.actors.ActorId; import io.dapr.actors.runtime.AbstractActor; import io.dapr.actors.runtime.ActorRuntimeContext; import io.dapr.actors.runtime.Remindable; import io.dapr.it.actors.MethodEntryTracker; import io.dapr.utils.TypeRef; import reactor.core.publisher.Mono; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.time.Duration; import java.util.ArrayList; import java.util.Base64; import java.util.Calendar; import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.TimeZone; import java.util.function.Function; public abstract class MyActorBase extends AbstractActor implements MyActor, Remindable { private final String TIMER_CALLBACK_METHOD = "clock"; public static final List ACTIVE_ACTOR = new ArrayList<>(); // this tracks method entries and is used to validate turn-based concurrency. public final ArrayList callLog = new ArrayList<>(); private ActorReminderDataParam actorReminderDataParam = new ActorReminderDataParam("36", String.class.getSimpleName()); private Function toStringFunc = Objects::toString; private final TypeRef reminderStateRef; public MyActorBase(ActorRuntimeContext runtimeContext, ActorId id, TypeRef reminderStateRef) { super(runtimeContext, id); this.reminderStateRef = reminderStateRef; } /** * Format to output date and time. */ private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); @Override public String say(String something) { String reversedString = ""; try { this.formatAndLog(true, "say"); reversedString = new StringBuilder(something).reverse().toString(); this.formatAndLog(false, "say"); } catch(Exception e) { // We don't throw, but the proxy side will know it failed because it expects a reversed input System.out.println("Caught " + e); } return reversedString; } @Override public List retrieveActiveActors() { return Collections.unmodifiableList(ACTIVE_ACTOR); } @Override public void setReminderData(ActorReminderDataParam param) { this.formatAndLog(true, "setReminderData"); System.out.println("Setting reminder data with type hint: " + param.getTypeHint()); this.actorReminderDataParam = param; this.formatAndLog(false, "setReminderData"); } @Override public void startReminder(String name) throws Exception { this.formatAndLog(true, "startReminder"); Object data = null; switch (this.actorReminderDataParam.getTypeHint()) { case "String": data = actorReminderDataParam.getData(); break; case "Binary": data = actorReminderDataParam.getBinaryData(); toStringFunc = t -> Base64.getEncoder().encodeToString((byte[])t); break; case "Object": data = actorReminderDataParam.asObject(TypeRef.get(MyObject.class)); break; default: throw new Exception("Invalid type hint: " + this.actorReminderDataParam.getTypeHint()); } try { super.registerReminder( name, data, Duration.ofSeconds(1), Duration.ofSeconds(2)).block(); } catch(Exception e) { // We don't throw, but the proxy side will know it failed because the reminder won't fire later System.out.println("Caught " + e); } this.formatAndLog(false, "startReminder"); } @Override public void stopReminder(String name) { this.formatAndLog(true, "stopReminder"); System.out.println("Enter stopReminder"); super.unregisterReminder(name).block(); this.formatAndLog(false, "stopReminder"); } @Override public void startTimer(String name) { this.formatAndLog(true, "startTimer"); System.out.println("Enter startTimer with timer name " + name); try { super.registerActorTimer( name, TIMER_CALLBACK_METHOD, "ping!", Duration.ofSeconds(2), Duration.ofSeconds(3)).block(); } catch (Exception e) { // We don't throw, but the proxy side will know it failed because the test looks for the timer to fire later System.out.println("startTimer caught " + e); } this.formatAndLog(false, "startTimer"); } @Override public void stopTimer(String name) { this.formatAndLog(true, "stopTimer"); System.out.println("Enter stopTimer with timer name " + name); try { super.unregisterTimer(name).block(); } catch (Exception e) { // We don't throw, but the proxy side will know it failed because the test validates the timer stops firing System.out.println("stopTimer caught " + e); } this.formatAndLog(false, "stopTimer"); } @Override protected Mono onActivate() { return Mono.fromRunnable(() -> ACTIVE_ACTOR.add(super.getId().toString())).then(super.onActivate()); } @Override protected Mono onDeactivate() { return Mono.fromRunnable(() -> ACTIVE_ACTOR.remove(super.getId().toString())).then(super.onDeactivate()); } @Override public Mono receiveReminder(String reminderName, T state, Duration dueTime, Duration period) { return Mono.fromRunnable(() -> { this.formatAndLog(true, "receiveReminder", toStringFunc.apply(state)); Calendar utcNow = Calendar.getInstance(TimeZone.getTimeZone("GMT")); String utcNowAsString = DATE_FORMAT.format(utcNow.getTime()); // Handles the request by printing message. System.out.println(String.format( "> Server reminded actor %s of: %s for %s @ %s hosted by instance id %s", this.getId(), reminderName, toStringFunc.apply(state), utcNowAsString, System.getenv("DAPR_HTTP_PORT"))); this.formatAndLog(false, "receiveReminder", toStringFunc.apply(state)); }); } @Override public TypeRef getStateType() { return reminderStateRef; } @Override public void clock(String message) { this.formatAndLog(true, TIMER_CALLBACK_METHOD, message); Calendar utcNow = Calendar.getInstance(TimeZone.getTimeZone("GMT")); String utcNowAsString = DATE_FORMAT.format(utcNow.getTime()); // Handles the request by printing message. String msg = ("Server timer for actor " + super.getId() + ": " + (message == null ? "" : message + " @ " + utcNowAsString)); this.formatAndLog(false, TIMER_CALLBACK_METHOD, message); } @Override public ArrayList getCallLog() { System.out.println("Enter getCallLog, size is " + this.callLog.size()); ArrayList stringList = new ArrayList(); try { for (MethodEntryTracker m : this.callLog) { String s = m.getIsEnter() ? "Enter" : "Exit"; s += "|" + m.getMethodName(); if (m.getMessage() != null) { s += "|" + m.getMessage(); } s += "|" + m.getDate().toString(); stringList.add(s); } } catch(Exception e) { System.out.println("Caught " + e); return new ArrayList(); } return stringList; } /* Return an identifier so we can tell the difference between apps hosting the actor if it moves. Here we use the dapr http port. Process id would be better but the available approaches do not appear portable. */ @Override public String getIdentifier() { System.out.println("Enter getIdentifier"); return System.getenv("DAPR_HTTP_PORT"); } @Override public void throwException() { throw new ArithmeticException(); } @Override public boolean dotNetMethod() { return true; } private void formatAndLog(boolean isEnter, String methodName) { this.formatAndLog(isEnter, methodName, null); } private void formatAndLog(boolean isEnter, String methodName, String message) { Calendar utcNow = Calendar.getInstance(TimeZone.getTimeZone("GMT")); MethodEntryTracker entry = new MethodEntryTracker(isEnter, methodName, message, utcNow.getTime()); this.callLog.add(entry); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/app/MyActorBinaryImpl.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.app; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import io.dapr.actors.runtime.ActorRuntimeContext; import io.dapr.actors.runtime.Remindable; import io.dapr.utils.TypeRef; @ActorType(name = "MyActorBinaryTest") public class MyActorBinaryImpl extends MyActorBase implements MyActor, Remindable { public MyActorBinaryImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id, TypeRef.BYTE_ARRAY); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/app/MyActorObjectImpl.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.app; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import io.dapr.actors.runtime.ActorRuntimeContext; import io.dapr.actors.runtime.Remindable; import io.dapr.utils.TypeRef; @ActorType(name = "MyActorObjectTest") public class MyActorObjectImpl extends MyActorBase implements MyActor, Remindable { public MyActorObjectImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id, TypeRef.get(MyObject.class)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/app/MyActorService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.app; import io.dapr.actors.runtime.ActorRuntime; import io.dapr.it.DaprRunConfig; // Enable dapr-api-token once runtime supports it in standalone mode. @DaprRunConfig(enableDaprApiToken = false) public class MyActorService { public static final String SUCCESS_MESSAGE = "dapr initialized. Status: Running"; /** * Starts the service. * @param args Expects the port: -p PORT * @throws Exception If cannot start service. */ public static void main(String[] args) throws Exception { System.out.println("Hello from main() MyActorService"); long port = Long.parseLong(args[0]); ActorRuntime.getInstance().registerActor(MyActorStringImpl.class); ActorRuntime.getInstance().registerActor(MyActorBinaryImpl.class); ActorRuntime.getInstance().registerActor(MyActorObjectImpl.class); TestApplication.start(port); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/app/MyActorStringImpl.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.app; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import io.dapr.actors.runtime.ActorRuntimeContext; import io.dapr.actors.runtime.Remindable; import io.dapr.utils.TypeRef; @ActorType(name = "MyActorTest") public class MyActorStringImpl extends MyActorBase implements MyActor, Remindable { public MyActorStringImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id, TypeRef.STRING); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/app/MyObject.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.app; /** * This class is for passing string or binary data to the Actor for registering reminder later on during test. */ public class MyObject { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String toString() { return this.name + "," + this.age; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/app/TestApplication.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.app; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Dapr's HTTP callback implementation via SpringBoot. */ @SpringBootApplication public class TestApplication { /** * Starts Dapr's callback in a given port. * @param port Port to listen to. */ public static void start(long port) { SpringApplication.run(TestApplication.class, String.format("--server.port=%d", port)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/services/springboot/DaprApplication.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.services.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Dapr's HTTP callback implementation via SpringBoot. */ @SpringBootApplication public class DaprApplication { /** * Starts Dapr's callback in a given port. * * @param port Port to listen to. */ public static void start(long port) { SpringApplication app = new SpringApplication(DaprApplication.class); app.run(String.format("--server.port=%d", port)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/services/springboot/DemoActor.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.services.springboot; import io.dapr.actors.ActorType; import java.util.List; @ActorType(name = "DemoActorTest") public interface DemoActor { String say(String something); List retrieveActiveActors(); void writeMessage(String something); String readMessage(); } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/services/springboot/DemoActorImpl.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.services.springboot; import io.dapr.actors.ActorId; import io.dapr.actors.runtime.AbstractActor; import io.dapr.actors.runtime.ActorRuntimeContext; import reactor.core.publisher.Mono; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.List; import java.util.TimeZone; public class DemoActorImpl extends AbstractActor implements DemoActor { public static final List ACTIVE_ACTOR = new ArrayList<>(); public DemoActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); } /** * Format to output date and time. */ private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); @Override public String say(String something) { Calendar utcNow = Calendar.getInstance(TimeZone.getTimeZone("GMT")); String utcNowAsString = DATE_FORMAT.format(utcNow.getTime()); // Handles the request by printing message. System.out.println("Server say method for actor " + super.getId() + ": " + (something == null ? "" : something + " @ " + utcNowAsString)); // Now respond with current timestamp. return utcNowAsString; } @Override public List retrieveActiveActors() { return Collections.unmodifiableList(ACTIVE_ACTOR); } @Override public void writeMessage(String something) { super.getActorStateManager().set("message", something).block(); } @Override public String readMessage() { if (super.getActorStateManager().contains("message").block()) { return super.getActorStateManager().get("message", String.class).block(); } return null; } @Override protected Mono onActivate() { return Mono.fromRunnable(() -> ACTIVE_ACTOR.add(super.getId().toString())).then(super.onActivate()); } @Override protected Mono onDeactivate() { return Mono.fromRunnable(() -> ACTIVE_ACTOR.remove(super.getId().toString())).then(super.onDeactivate()); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/services/springboot/DemoActorService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.services.springboot; import io.dapr.actors.runtime.ActorRuntime; import java.time.Duration; public class DemoActorService { public static final String SUCCESS_MESSAGE = "dapr initialized. Status: Running"; /** * Starts the service. * * @param args Expects the port as only argument. * @throws Exception If cannot start service. */ public static void main(String[] args) throws Exception { // If port string is not valid, it will throw an exception. long port = Long.parseLong(args[0]); ActorRuntime.getInstance().getConfig().setActorIdleTimeout(Duration.ofSeconds(5)); ActorRuntime.getInstance().getConfig().setActorScanInterval(Duration.ofSeconds(2)); ActorRuntime.getInstance().getConfig().setDrainOngoingCallTimeout(Duration.ofSeconds(10)); ActorRuntime.getInstance().getConfig().setDrainBalancedActors(true); ActorRuntime.getInstance().registerActor(DemoActorImpl.class); DaprApplication.start(port); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/services/springboot/StatefulActor.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.services.springboot; public interface StatefulActor { void writeMessage(String something); String readMessage(); void writeName(String something); String readName(); void writeData(MyData something); MyData readData(); void writeBytes(byte[] something); byte[] readBytes(); class MyData { public String value; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/services/springboot/StatefulActorImpl.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.services.springboot; import io.dapr.actors.ActorId; import io.dapr.actors.ActorType; import io.dapr.actors.runtime.AbstractActor; import io.dapr.actors.runtime.ActorRuntimeContext; @ActorType(name = "StatefulActorTest") public class StatefulActorImpl extends AbstractActor implements StatefulActor { public StatefulActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); } @Override public void writeMessage(String something) { super.getActorStateManager().set("message", something).block(); } @Override public String readMessage() { if (super.getActorStateManager().contains("message").block()) { return super.getActorStateManager().get("message", String.class).block(); } return null; } @Override public void writeName(String something) { super.getActorStateManager().set("name", something).block(); } @Override public String readName() { if (super.getActorStateManager().contains("name").block()) { return super.getActorStateManager().get("name", String.class).block(); } return null; } @Override public void writeData(MyData something) { super.getActorStateManager().set("mydata", something).block(); } @Override public MyData readData() { if (super.getActorStateManager().contains("mydata").block()) { return super.getActorStateManager().get("mydata", MyData.class).block(); } return null; } @Override public void writeBytes(byte[] something) { super.getActorStateManager().set("bytes", something).block(); } @Override public byte[] readBytes() { if (super.getActorStateManager().contains("bytes").block()) { return super.getActorStateManager().get("bytes", byte[].class).block(); } return null; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/actors/services/springboot/StatefulActorService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.actors.services.springboot; import io.dapr.actors.runtime.ActorRuntime; import io.dapr.it.DaprRunConfig; import io.dapr.serializer.DefaultObjectSerializer; import java.time.Duration; @DaprRunConfig(enableDaprApiToken = false) public class StatefulActorService { public static final String SUCCESS_MESSAGE = "dapr initialized. Status: Running"; /** * Starts the service. * * @param args Expects the port as only argument. * @throws Exception If cannot start service. */ public static void main(String[] args) throws Exception { // If port string is not valid, it will throw an exception. long port = Long.parseLong(args[0]); ActorRuntime.getInstance().getConfig().setActorIdleTimeout(Duration.ofSeconds(5)); ActorRuntime.getInstance().getConfig().setActorScanInterval(Duration.ofSeconds(2)); ActorRuntime.getInstance().getConfig().setDrainOngoingCallTimeout(Duration.ofSeconds(10)); ActorRuntime.getInstance().getConfig().setDrainBalancedActors(true); ActorRuntime.getInstance().registerActor( StatefulActorImpl.class, new DefaultObjectSerializer(), new DefaultObjectSerializer()); DaprApplication.start(port); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/api/ApiIT.java ================================================ package io.dapr.it.api; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ApiIT extends BaseIT { private static final Logger logger = LoggerFactory.getLogger(ApiIT.class); private static final int DEFAULT_TIMEOUT = 60000; @Test public void testShutdownAPI() throws Exception { DaprRun run = startDaprApp(this.getClass().getSimpleName(), DEFAULT_TIMEOUT); // TODO(artursouza): change this to wait for the sidecar to be healthy (new method needed in DaprClient). Thread.sleep(3000); try (DaprClient client = run.newDaprClientBuilder().build()) { logger.info("Sending shutdown request."); client.shutdown().block(); logger.info("Ensuring dapr has stopped."); run.checkRunState(DEFAULT_TIMEOUT, false); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/binding/http/BindingIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.binding.http; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.HttpExtension; import io.dapr.exceptions.DaprException; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import org.junit.jupiter.api.Test; import java.util.Collections; import java.util.List; import java.util.Map; import static io.dapr.it.Retry.callWithRetry; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; /** * Service for input and output binding example. */ public class BindingIT extends BaseIT { @Test public void httpOutputBindingError() throws Exception { var run = startDaprApp( this.getClass().getSimpleName() + "-httpoutputbinding-exception", 60000); try(DaprClient client = run.newDaprClientBuilder().build()) { // Validate error message callWithRetry(() -> { System.out.println("Checking exception handling for output binding ..."); try { client.invokeBinding("github-http-binding-404", "get", "").block(); fail("Should throw an exception"); } catch (DaprException e) { assertEquals(404, e.getHttpStatusCode()); // This HTTP binding did not set `errorIfNot2XX` to false in component metadata, so the error payload is not // consistent between HTTP and gRPC. assertTrue(new String(e.getPayload()).contains( "error invoking output binding github-http-binding-404: received status code 404")); } }, 10000); } } @Test public void httpOutputBindingErrorIgnoredByComponent() throws Exception { var run = startDaprApp( this.getClass().getSimpleName() + "-httpoutputbinding-ignore-error", 60000); try(DaprClient client = run.newDaprClientBuilder().build()) { // Validate error message callWithRetry(() -> { System.out.println("Checking exception handling for output binding ..."); try { client.invokeBinding("github-http-binding-404-success", "get", "").block(); fail("Should throw an exception"); } catch (DaprException e) { assertEquals(404, e.getHttpStatusCode()); // The HTTP binding must set `errorIfNot2XX` to false in component metadata for the error payload to be // consistent between HTTP and gRPC. assertTrue(new String(e.getPayload()).contains("message")); assertTrue(new String(e.getPayload()).contains("Not Found")); assertTrue(new String(e.getPayload()).contains("documentation_url")); assertTrue(new String(e.getPayload()).contains("https://docs.github.com/rest")); } }, 10000); } } @Test public void inputOutputBinding() throws Exception { DaprRun daprRun = startDaprApp( this.getClass().getSimpleName() + "-grpc", InputBindingService.SUCCESS_MESSAGE, InputBindingService.class, true, 60000); var bidingName = "sample123"; try(DaprClient client = daprRun.newDaprClientBuilder().build()) { callWithRetry(() -> { System.out.println("Checking if input binding is up before publishing events ..."); client.invokeBinding( bidingName, "create", "ping").block(); try { Thread.sleep(1000); } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new RuntimeException(e); } client.invokeMethod(daprRun.getAppName(), "initialized", "", HttpExtension.GET).block(); }, 120000); // This is an example of sending data in a user-defined object. The input binding will receive: // {"message":"hello"} MyClass myClass = new MyClass(); myClass.message = "hello"; System.out.println("sending first message"); client.invokeBinding( bidingName, "create", myClass, Map.of("MyMetadata", "MyValue"), Void.class).block(); // This is an example of sending a plain string. The input binding will receive // cat final String m = "cat"; System.out.println("sending " + m); client.invokeBinding( bidingName, "create", m, Map.of("MyMetadata", "MyValue"), Void.class).block(); // Metadata is not used by Kafka component, so it is not possible to validate. callWithRetry(() -> { System.out.println("Checking results ..."); final List messages = client.invokeMethod( daprRun.getAppName(), "messages", null, HttpExtension.GET, List.class).block(); assertEquals(2, messages.size()); MyClass resultClass = null; try { resultClass = new ObjectMapper().readValue(messages.get(0), MyClass.class); } catch (Exception ex) { ex.printStackTrace(); fail("Error on decode message 1"); } try { assertEquals("cat", new ObjectMapper().readValue(messages.get(1), String.class)); } catch (Exception ex) { ex.printStackTrace(); fail("Error on decode message 2"); } assertEquals("hello", resultClass.message); }, 8000); } } public static class MyClass { public MyClass() { } public String message; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/binding/http/InputBindingController.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.binding.http; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; /** * SpringBoot Controller to handle input binding. */ @RestController public class InputBindingController { private static final List messagesReceived = Collections.synchronizedList(new ArrayList()); private static final AtomicBoolean initialized = new AtomicBoolean(false); @PostMapping(path = "/sample123") @PutMapping(path = "/sample123") public void handleInputBinding(@RequestBody(required = false) String body) { if ("\"ping\"".equals(body)) { // Initialization messages are useful to detect if input binding is up. initialized.set(true); System.out.println("Input binding is up: " + body); return; } messagesReceived.add(body); System.out.println("Received message through binding: " + (body == null ? "" : body)); } @GetMapping(path = "/messages") public List getMessages() { return messagesReceived; } @GetMapping(path = "/") public String hello() { return "hello"; } @GetMapping(path = "/health") public void health() { } @GetMapping(path = "/initialized") public void initialized() { if (!initialized.get()) { throw new RuntimeException("Input binding is not initialized yet."); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/binding/http/InputBindingService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.binding.http; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class InputBindingService { public static final String SUCCESS_MESSAGE = "Completed initialization in"; public static void main(String[] args) throws Exception { // If port string is not valid, it will throw an exception. int port = Integer.parseInt(args[0]); System.out.printf("Service starting on port %d ...\n", port); // Start Dapr's callback endpoint. start(port); } /** * Starts Dapr's callback in a given port. * * @param port Port to listen to. */ private static void start(int port) { SpringApplication app = new SpringApplication(InputBindingService.class); app.run(String.format("--server.port=%d", port)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/configuration/ConfigurationClientIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.configuration; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.ConfigurationItem; import io.dapr.client.domain.SubscribeConfigurationResponse; import io.dapr.client.domain.UnsubscribeConfigurationResponse; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import reactor.core.Disposable; import reactor.core.publisher.Flux; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicReference; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; public class ConfigurationClientIT extends BaseIT { private static final String CONFIG_STORE_NAME = "redisconfigstore"; private static DaprRun daprRun; private static DaprClient daprClient; private static String key = "myconfig1"; private static List keys = new ArrayList<>(Arrays.asList("myconfig1", "myconfig2", "myconfig3")); private static String[] insertCmd = new String[] { "docker", "exec", "dapr_redis", "redis-cli", "MSET", "myconfigkey1", "myconfigvalue1||1", "myconfigkey2", "myconfigvalue2||1", "myconfigkey3", "myconfigvalue3||1" }; private static String[] updateCmd = new String[] { "docker", "exec", "dapr_redis", "redis-cli", "MSET", "myconfigkey1", "update_myconfigvalue1||2", "myconfigkey2", "update_myconfigvalue2||2", "myconfigkey3", "update_myconfigvalue3||2" }; @BeforeAll public static void init() throws Exception { daprRun = startDaprApp(ConfigurationClientIT.class.getSimpleName(), 5000); daprClient = daprRun.newDaprClientBuilder().build(); daprClient.waitForSidecar(10000).block(); } @AfterAll public static void tearDown() throws Exception { daprClient.close(); } @BeforeEach public void setupConfigStore() { executeDockerCommand(insertCmd); } @Test public void getConfiguration() { ConfigurationItem ci = daprClient.getConfiguration(CONFIG_STORE_NAME, "myconfigkey1").block(); assertEquals(ci.getValue(), "myconfigvalue1"); } @Test public void getConfigurations() { Map cis = daprClient.getConfiguration(CONFIG_STORE_NAME, "myconfigkey1", "myconfigkey2").block(); assertTrue(cis.size() == 2); assertTrue(cis.containsKey("myconfigkey1")); assertTrue(cis.containsKey("myconfigkey2")); assertEquals(cis.get("myconfigkey2").getValue(), "myconfigvalue2"); } @Test public void subscribeConfiguration() { Runnable subscribeTask = () -> { Flux outFlux = daprClient .subscribeConfiguration(CONFIG_STORE_NAME, "myconfigkey1", "myconfigkey2"); outFlux.subscribe(update -> { if (update.getItems().size() == 0 ) { assertTrue(update.getSubscriptionId().length() > 0); } else { String value = update.getItems().entrySet().stream().findFirst().get().getValue().getValue(); assertEquals(update.getItems().size(), 1); assertTrue(value.contains("update_")); } }); }; Thread subscribeThread = new Thread(subscribeTask); subscribeThread.start(); try { // To ensure that subscribeThread gets scheduled Thread.sleep(0); } catch (InterruptedException e) { e.printStackTrace(); } Runnable updateKeys = () -> { executeDockerCommand(updateCmd); }; new Thread(updateKeys).start(); try { // To ensure main thread does not die before outFlux subscribe gets called Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } } @Test public void unsubscribeConfigurationItems() { List updatedValues = new ArrayList<>(); AtomicReference disposableAtomicReference = new AtomicReference<>(); AtomicReference subscriptionId = new AtomicReference<>(); Runnable subscribeTask = () -> { Flux outFlux = daprClient .subscribeConfiguration(CONFIG_STORE_NAME, "myconfigkey1"); disposableAtomicReference.set(outFlux .subscribe(update -> { subscriptionId.set(update.getSubscriptionId()); updatedValues.add(update.getItems().entrySet().stream().findFirst().get().getValue().getValue()); } )); }; new Thread(subscribeTask).start(); // To ensure that subscribeThread gets scheduled inducingSleepTime(0); Runnable updateKeys = () -> { int i = 1; while (i <= 5) { String[] command = new String[] { "docker", "exec", "dapr_redis", "redis-cli", "SET", "myconfigkey1", "update_myconfigvalue" + i + "||2" }; executeDockerCommand(command); i++; } }; new Thread(updateKeys).start(); // To ensure key starts getting updated inducingSleepTime(1000); UnsubscribeConfigurationResponse res = daprClient.unsubscribeConfiguration( subscriptionId.get(), CONFIG_STORE_NAME ).block(); assertTrue(res != null); assertTrue(res.getIsUnsubscribed()); int listSize = updatedValues.size(); // To ensure main thread does not die inducingSleepTime(1000); new Thread(updateKeys).start(); // To ensure main thread does not die inducingSleepTime(2000); assertTrue(updatedValues.size() == listSize); } private static void inducingSleepTime(int timeInMillis) { try { Thread.sleep(timeInMillis); } catch (InterruptedException e) { e.printStackTrace(); } } private static void executeDockerCommand(String[] command) { ProcessBuilder processBuilder = new ProcessBuilder(command); Process process = null; try { process = processBuilder.start(); process.waitFor(); if (process.exitValue() != 0) { throw new RuntimeException("Not zero exit code for Redis command: " + process.exitValue()); } } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/methodinvoke/grpc/MethodInvokeIT.java ================================================ package io.dapr.it.methodinvoke.grpc; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.resiliency.ResiliencyOptions; import io.dapr.it.AppRun; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.it.MethodInvokeServiceGrpc; import io.grpc.Status; import io.grpc.StatusRuntimeException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.time.Duration; import java.util.Map; import static io.dapr.it.MethodInvokeServiceProtos.DeleteMessageRequest; import static io.dapr.it.MethodInvokeServiceProtos.GetMessagesRequest; import static io.dapr.it.MethodInvokeServiceProtos.PostMessageRequest; import static io.dapr.it.MethodInvokeServiceProtos.SleepRequest; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; public class MethodInvokeIT extends BaseIT { //Number of messages to be sent: 10 private static final int NUM_MESSAGES = 10; private static final int TIMEOUT_MS = 100; private static final ResiliencyOptions RESILIENCY_OPTIONS = new ResiliencyOptions() .setTimeout(Duration.ofMillis(TIMEOUT_MS)); /** * Run of a Dapr application. */ private DaprRun daprRun = null; @BeforeEach public void init() throws Exception { daprRun = startDaprApp( MethodInvokeIT.class.getSimpleName() + "grpc", MethodInvokeService.SUCCESS_MESSAGE, MethodInvokeService.class, AppRun.AppProtocol.GRPC, // appProtocol 60000); daprRun.waitForAppHealth(40000); } @Test public void testInvoke() throws Exception { try (DaprClient client = daprRun.newDaprClientBuilder().build()) { client.waitForSidecar(10000).block(); daprRun.waitForAppHealth(10000); MethodInvokeServiceGrpc.MethodInvokeServiceBlockingStub stub = createGrpcStub(client); for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d", i); PostMessageRequest req = PostMessageRequest.newBuilder().setId(i).setMessage(message).build(); stub.postMessage(req); System.out.println("Invoke method messages : " + message); } Map messages = stub.getMessages(GetMessagesRequest.newBuilder().build()).getMessagesMap(); assertEquals(NUM_MESSAGES, messages.size()); // Delete one message. stub.deleteMessage(DeleteMessageRequest.newBuilder().setId(1).build()); messages = stub.getMessages(GetMessagesRequest.newBuilder().build()).getMessagesMap(); assertEquals(NUM_MESSAGES - 1, messages.size()); // Now update one message. stub.postMessage(PostMessageRequest.newBuilder().setId(2).setMessage("updated message").build()); messages = stub.getMessages(GetMessagesRequest.newBuilder().build()).getMessagesMap(); assertEquals("updated message", messages.get(2)); } } @Test public void testInvokeTimeout() throws Exception { try (DaprClient client = daprRun.newDaprClientBuilder().withResiliencyOptions(RESILIENCY_OPTIONS).build()) { client.waitForSidecar(10000).block(); daprRun.waitForAppHealth(10000); MethodInvokeServiceGrpc.MethodInvokeServiceBlockingStub stub = createGrpcStub(client); long started = System.currentTimeMillis(); SleepRequest req = SleepRequest.newBuilder().setSeconds(1).build(); StatusRuntimeException exception = assertThrows(StatusRuntimeException.class, () -> stub.sleep(req)); long delay = System.currentTimeMillis() - started; Status.Code code = exception.getStatus().getCode(); assertTrue(delay >= TIMEOUT_MS, "Delay: " + delay + " is not greater than timeout: " + TIMEOUT_MS); assertEquals(Status.DEADLINE_EXCEEDED.getCode(), code, "Expected timeout error"); } } @Test public void testInvokeException() throws Exception { try (DaprClient client = daprRun.newDaprClientBuilder().build()) { client.waitForSidecar(10000).block(); daprRun.waitForAppHealth(10000); MethodInvokeServiceGrpc.MethodInvokeServiceBlockingStub stub = createGrpcStub(client); SleepRequest req = SleepRequest.newBuilder().setSeconds(-9).build(); StatusRuntimeException exception = assertThrows(StatusRuntimeException.class, () -> stub.sleep(req)); // The error messages should be improved once runtime has standardized error serialization in the API. // This message is not ideal but last time it was improved, there was side effects reported by users. // If this test fails, there might be a regression in runtime (like we had in 1.10.0). // The expectations below are as per 1.9 release and (later on) hotfixed in 1.10. assertEquals(Status.UNKNOWN.getCode(), exception.getStatus().getCode()); // The error message below is added starting in Dapr 1.15.0 assertEquals("Application error processing RPC", exception.getStatus().getDescription()); } } private MethodInvokeServiceGrpc.MethodInvokeServiceBlockingStub createGrpcStub(DaprClient client) { return client.newGrpcStub(daprRun.getAppName(), MethodInvokeServiceGrpc::newBlockingStub); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/methodinvoke/grpc/MethodInvokeService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.methodinvoke.grpc; import io.dapr.grpc.GrpcHealthCheckService; import io.dapr.it.DaprRunConfig; import io.dapr.it.MethodInvokeServiceGrpc; import io.grpc.Server; import io.grpc.ServerBuilder; import java.io.IOException; import java.util.Collections; import java.util.HashMap; import java.util.Map; import static io.dapr.it.MethodInvokeServiceProtos.GetMessagesResponse; import static io.dapr.it.MethodInvokeServiceProtos.SleepRequest; import static io.dapr.it.MethodInvokeServiceProtos.SleepResponse; @DaprRunConfig( enableAppHealthCheck = true ) public class MethodInvokeService { private static final long STARTUP_DELAY_SECONDS = 10; public static final String SUCCESS_MESSAGE = "application discovered on port "; /** * Server mode: class that encapsulates all server-side logic for Grpc. */ private static class MyDaprService extends MethodInvokeServiceGrpc.MethodInvokeServiceImplBase { private final Map messages = Collections.synchronizedMap(new HashMap<>()); /** * Server mode: Grpc server. */ private Server server; /** * Server mode: starts listening on given port. * * @param port Port to listen on. * @throws IOException Errors while trying to start service. */ private void start(int port) throws IOException { this.server = ServerBuilder .forPort(port) .addService(this) .addService(new GrpcHealthCheckService()) .build() .start(); System.out.printf("Server: started listening on port %d\n", port); // Now we handle ctrl+c (or any other JVM shutdown) Runtime.getRuntime().addShutdownHook(new Thread(() -> { System.out.println("Server: shutting down gracefully ..."); MyDaprService.this.server.shutdown(); System.out.println("Server: Bye."); })); } /** * Server mode: waits for shutdown trigger. * * @throws InterruptedException Propagated interrupted exception. */ private void awaitTermination() throws InterruptedException { if (this.server != null) { this.server.awaitTermination(); } } /** * {@inheritDoc} */ public void postMessage(io.dapr.it.MethodInvokeServiceProtos.PostMessageRequest request, io.grpc.stub.StreamObserver responseObserver) { this.messages.put(request.getId(), request.getMessage()); io.dapr.it.MethodInvokeServiceProtos.PostMessageResponse.Builder responseBuilder = io.dapr.it.MethodInvokeServiceProtos.PostMessageResponse.newBuilder(); responseObserver.onNext(responseBuilder.build()); responseObserver.onCompleted(); } /** * {@inheritDoc} */ public void deleteMessage(io.dapr.it.MethodInvokeServiceProtos.DeleteMessageRequest request, io.grpc.stub.StreamObserver responseObserver) { this.messages.remove(request.getId()); io.dapr.it.MethodInvokeServiceProtos.DeleteMessageResponse.Builder responseBuilder = io.dapr.it.MethodInvokeServiceProtos.DeleteMessageResponse.newBuilder(); responseObserver.onNext(responseBuilder.build()); responseObserver.onCompleted(); } /** * {@inheritDoc} */ public void getMessages(io.dapr.it.MethodInvokeServiceProtos.GetMessagesRequest request, io.grpc.stub.StreamObserver responseObserver) { GetMessagesResponse res = GetMessagesResponse.newBuilder().putAllMessages(this.messages).build(); io.dapr.it.MethodInvokeServiceProtos.GetMessagesResponse.Builder responseBuilder = io.dapr.it.MethodInvokeServiceProtos.GetMessagesResponse.newBuilder(); responseObserver.onNext(res); responseObserver.onCompleted(); } /** * {@inheritDoc} */ public void sleep(io.dapr.it.MethodInvokeServiceProtos.SleepRequest request, io.grpc.stub.StreamObserver responseObserver) { SleepResponse res = this.sleep(request); io.dapr.it.MethodInvokeServiceProtos.SleepResponse.Builder responseBuilder = io.dapr.it.MethodInvokeServiceProtos.SleepResponse.newBuilder(); responseObserver.onNext(responseBuilder.build()); responseObserver.onCompleted(); } public SleepResponse sleep(SleepRequest request) { if (request.getSeconds() < 0) { throw new IllegalArgumentException("Sleep time cannot be negative."); } try { Thread.sleep(request.getSeconds() * 1000); } catch (InterruptedException e) { Thread.currentThread().interrupt(); new RuntimeException(e); } // Now respond with current timestamp. return SleepResponse.newBuilder().build(); } } /** * This is the main method of this app. * @param args The port to listen on. * @throws Exception An Exception. */ public static void main(String[] args) throws Exception { int port = Integer.parseInt(args[0]); System.out.printf("Service to start on port %d ...\n", port); // The artificial delay is useful to detect bugs in app health, where the app is invoked too soon. System.out.printf("Artificial delay of %d seconds ...\n", STARTUP_DELAY_SECONDS); Thread.sleep(STARTUP_DELAY_SECONDS * 1000); System.out.printf("Now starting ...\n", STARTUP_DELAY_SECONDS); final MyDaprService service = new MyDaprService(); service.start(port); service.awaitTermination(); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/MethodInvokeController.java ================================================ package io.dapr.it.methodinvoke.http; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; /** * SpringBoot Controller to handle input binding. */ @RestController public class MethodInvokeController { private static final Map messagesReceived = new HashMap<>(); private static final List persons= new ArrayList<>(); @PostMapping("/messages") public void postMessages(@RequestBody String message){ System.out.println("Controller got message: " + message); final Optional maxKey = messagesReceived.keySet().stream().max(Integer::compareTo); final Integer key = maxKey.orElse(-1)+1; messagesReceived.put(key,message); System.out.println("Controller save the message: " + message); } @PutMapping(path = "/messages/{messageId}") public void putMessages(@PathVariable("messageId") Integer messageId, @RequestBody String message){ messagesReceived.put(messageId,message); } @DeleteMapping(path = "/messages/{messageId}") public void deleteMessages(@PathVariable("messageId") Integer messageId){ messagesReceived.remove(messageId); } @GetMapping(path = "/messages") public Map getMessages() { return messagesReceived; } @PostMapping("/persons") public void postPerson(@RequestBody Person person){ System.out.println("Controller get person: " + person); final Optional max = persons.stream().map(person1 -> person1.getId()).max(Integer::compareTo); final Integer key = max.orElse(-1)+1; person.setId(key); persons.add(person); System.out.println("Controller save the person: " + person); } @PutMapping(path = "/persons/{personId}") public void putPerson(@PathVariable("personId") Integer personId, @RequestBody Person person){ final Optional auxPerson = persons.stream().filter(person1 -> person1.getId() == personId).findFirst(); if(auxPerson.isPresent()){ auxPerson.get().setName(person.getName()); auxPerson.get().setLastName(person.getLastName()); auxPerson.get().setBirthDate(person.getBirthDate()); } } @DeleteMapping(path = "/persons/{personId}") public void deletePerson(@PathVariable("personId") Integer personId){ final Optional auxPerson = persons.stream().filter(person1 -> person1.getId() == personId).findFirst(); if(auxPerson.isPresent()) { persons.remove(auxPerson.get()); } } @GetMapping(path = "/persons") public List getPersons() { return persons; } @PostMapping(path = "/sleep") public void sleep(@RequestBody int seconds) throws InterruptedException { if (seconds < 0) { throw new IllegalArgumentException("Sleep time cannot be negative."); } Thread.sleep(seconds * 1000); } @GetMapping(path = "/query") public Map getQuery(@RequestParam("uri") String uri) { return Map.of("uri", uri); } @GetMapping(path = "/health") public void health() { } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/MethodInvokeIT.java ================================================ package io.dapr.it.methodinvoke.http; import com.fasterxml.jackson.databind.JsonNode; import io.dapr.client.DaprClient; import io.dapr.client.DaprHttp; import io.dapr.client.domain.HttpExtension; import io.dapr.exceptions.DaprException; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.it.MethodInvokeServiceProtos; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.time.Duration; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @SuppressWarnings("deprecation") public class MethodInvokeIT extends BaseIT { //Number of messages to be sent: 10 private static final int NUM_MESSAGES = 10; /** * Run of a Dapr application. */ private DaprRun daprRun = null; @BeforeEach public void init() throws Exception { daprRun = startDaprApp( MethodInvokeIT.class.getSimpleName() + "http", MethodInvokeService.SUCCESS_MESSAGE, MethodInvokeService.class, true, 30000); daprRun.waitForAppHealth(20000); } @Test public void testInvoke() throws Exception { // At this point, it is guaranteed that the service above is running and all ports being listened to. try (DaprClient client = daprRun.newDaprClientBuilder().build()) { client.waitForSidecar(10000).block(); for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d", i); //Publishing messages client.invokeMethod(daprRun.getAppName(), "messages", message.getBytes(), HttpExtension.POST).block(); System.out.println("Invoke method messages : " + message); } Map messages = client.invokeMethod(daprRun.getAppName(), "messages", null, HttpExtension.GET, Map.class).block(); assertEquals(10, messages.size()); client.invokeMethod(daprRun.getAppName(), "messages/1", null, HttpExtension.DELETE).block(); messages = client.invokeMethod(daprRun.getAppName(), "messages", null, HttpExtension.GET, Map.class).block(); assertEquals(9, messages.size()); client.invokeMethod(daprRun.getAppName(), "messages/2", "updated message".getBytes(), HttpExtension.PUT).block(); messages = client.invokeMethod(daprRun.getAppName(), "messages", null, HttpExtension.GET, Map.class).block(); assertEquals("updated message", messages.get("2")); } } @Test public void testInvokeWithObjects() throws Exception { try (DaprClient client = daprRun.newDaprClientBuilder().build()) { client.waitForSidecar(10000).block(); for (int i = 0; i < NUM_MESSAGES; i++) { Person person = new Person(); person.setName(String.format("Name %d", i)); person.setLastName(String.format("Last Name %d", i)); person.setBirthDate(new Date()); //Publishing messages client.invokeMethod(daprRun.getAppName(), "persons", person, HttpExtension.POST).block(); System.out.println("Invoke method persons with parameter : " + person); } List persons = Arrays.asList(client.invokeMethod(daprRun.getAppName(), "persons", null, HttpExtension.GET, Person[].class).block()); assertEquals(10, persons.size()); client.invokeMethod(daprRun.getAppName(), "persons/1", null, HttpExtension.DELETE).block(); persons = Arrays.asList(client.invokeMethod(daprRun.getAppName(), "persons", null, HttpExtension.GET, Person[].class).block()); assertEquals(9, persons.size()); Person person = new Person(); person.setName("John"); person.setLastName("Smith"); person.setBirthDate(Calendar.getInstance().getTime()); client.invokeMethod(daprRun.getAppName(), "persons/2", person, HttpExtension.PUT).block(); persons = Arrays.asList(client.invokeMethod(daprRun.getAppName(), "persons", null, HttpExtension.GET, Person[].class).block()); Person resultPerson = persons.get(1); assertEquals("John", resultPerson.getName()); assertEquals("Smith", resultPerson.getLastName()); } } @Test public void testInvokeTimeout() throws Exception { try (DaprClient client = daprRun.newDaprClientBuilder().build()) { client.waitForSidecar(10000).block(); long started = System.currentTimeMillis(); String message = assertThrows(IllegalStateException.class, () -> { client.invokeMethod(daprRun.getAppName(), "sleep", 1, HttpExtension.POST) .block(Duration.ofMillis(10)); }).getMessage(); long delay = System.currentTimeMillis() - started; assertTrue(delay <= 200, "Delay: " + delay + " is not less than timeout: 200"); assertEquals("Timeout on blocking read for 10000000 NANOSECONDS", message); } } @Test public void testInvokeException() throws Exception { try (DaprClient client = daprRun.newDaprClientBuilder().build()) { client.waitForSidecar(10000).block(); MethodInvokeServiceProtos.SleepRequest req = MethodInvokeServiceProtos.SleepRequest.newBuilder().setSeconds(-9).build(); DaprException exception = assertThrows(DaprException.class, () -> client.invokeMethod(daprRun.getAppName(), "sleep", -9, HttpExtension.POST).block()); // TODO(artursouza): change this to INTERNAL once runtime is fixed. assertEquals("UNKNOWN", exception.getErrorCode()); assertNotNull(exception.getMessage()); assertTrue(exception.getMessage().contains("HTTP status code: 500")); assertTrue(new String(exception.getPayload()).contains("Internal Server Error")); } } @Test public void testInvokeQueryParamEncoding() throws Exception { try (DaprClient client = daprRun.newDaprClientBuilder().build()) { client.waitForSidecar(10000).block(); String uri = "abc/pqr"; Map> queryParams = Map.of("uri", List.of(uri)); HttpExtension httpExtension = new HttpExtension(DaprHttp.HttpMethods.GET, queryParams, Map.of()); JsonNode result = client.invokeMethod( daprRun.getAppName(), "/query", null, httpExtension, JsonNode.class ).block(); assertEquals(uri, result.get("uri").asText()); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/MethodInvokeService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.methodinvoke.http; import io.dapr.it.DaprRunConfig; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Service for subscriber. */ @DaprRunConfig( enableAppHealthCheck = true ) @SpringBootApplication public class MethodInvokeService { private static final long STARTUP_DELAY_SECONDS = 10; public static final String SUCCESS_MESSAGE = "Completed initialization in"; public static void main(String[] args) throws InterruptedException { int port = Integer.parseInt(args[0]); System.out.printf("Service to start on port %d ...\n", port); System.out.printf("Artificial delay of %d seconds ...\n", STARTUP_DELAY_SECONDS); Thread.sleep(STARTUP_DELAY_SECONDS * 1000); System.out.printf("Now starting ...\n", STARTUP_DELAY_SECONDS); // Start Dapr's callback endpoint. start(port); } /** * Starts Dapr's callback in a given port. * * @param port Port to listen to. */ private static void start(int port) { SpringApplication app = new SpringApplication(MethodInvokeService.class); app.run(String.format("--server.port=%d", port)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/Person.java ================================================ package io.dapr.it.methodinvoke.http; import java.util.Date; public class Person { private int id; private String name; private String lastName; private Date birthDate; @Override public String toString() { return "Person{" + "id=" + id + ", name='" + name + '\'' + ", lastName='" + lastName + '\'' + ", birthDate=" + birthDate + '}'; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public Date getBirthDate() { return birthDate; } public void setBirthDate(Date birthDate) { this.birthDate = birthDate; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/pubsub/http/PubSubIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.pubsub.http; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.BulkPublishEntry; import io.dapr.client.domain.BulkPublishRequest; import io.dapr.client.domain.BulkPublishResponse; import io.dapr.client.domain.BulkSubscribeAppResponse; import io.dapr.client.domain.BulkSubscribeAppResponseEntry; import io.dapr.client.domain.BulkSubscribeAppResponseStatus; import io.dapr.client.domain.CloudEvent; import io.dapr.client.domain.HttpExtension; import io.dapr.client.domain.Metadata; import io.dapr.client.domain.PublishEventRequest; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Random; import java.util.Set; import static io.dapr.it.Retry.callWithRetry; import static io.dapr.it.TestUtils.assertThrowsDaprException; import static io.dapr.it.TestUtils.assertThrowsDaprExceptionWithReason; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; public class PubSubIT extends BaseIT { private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); private static final TypeRef> CLOUD_EVENT_LIST_TYPE_REF = new TypeRef<>() {}; private static final TypeRef>> CLOUD_EVENT_LONG_LIST_TYPE_REF = new TypeRef<>() {}; private static final TypeRef>> CLOUD_EVENT_MYOBJECT_LIST_TYPE_REF = new TypeRef<>() {}; //Number of messages to be sent: 10 private static final int NUM_MESSAGES = 10; private static final String PUBSUB_NAME = "messagebus"; //The title of the topic to be used for publishing private static final String TOPIC_NAME = "testingtopic"; private static final String TOPIC_BULK = "testingbulktopic"; private static final String TYPED_TOPIC_NAME = "typedtestingtopic"; private static final String ANOTHER_TOPIC_NAME = "anothertopic"; // Topic used for TTL test private static final String TTL_TOPIC_NAME = "ttltopic"; // Topic to test binary data private static final String BINARY_TOPIC_NAME = "binarytopic"; private static final String LONG_TOPIC_NAME = "testinglongvalues"; // Topic to test bulk subscribe. private static final String BULK_SUB_TOPIC_NAME = "topicBulkSub"; private final List runs = new ArrayList<>(); private DaprRun closeLater(DaprRun run) { this.runs.add(run); return run; } @AfterEach public void tearDown() throws Exception { for (DaprRun run : runs) { run.stop(); } } @Test public void publishPubSubNotFound() throws Exception { DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName(), 60000)); try (DaprClient client = daprRun.newDaprClientBuilder().build()) { assertThrowsDaprExceptionWithReason( "INVALID_ARGUMENT", "INVALID_ARGUMENT: pubsub unknown pubsub is not found", "DAPR_PUBSUB_NOT_FOUND", () -> client.publishEvent("unknown pubsub", "mytopic", "payload").block()); } } @Test public void testBulkPublishPubSubNotFound() throws Exception { DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName(), 60000)); try (DaprClient client = daprRun.newDaprClientBuilder().build()) { assertThrowsDaprException( "INVALID_ARGUMENT", "INVALID_ARGUMENT: pubsub unknown pubsub is not found", () -> client.publishEvents("unknown pubsub", "mytopic","text/plain", "message").block()); } } @Test public void testBulkPublish() throws Exception { final DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName(), SubscriberService.SUCCESS_MESSAGE, SubscriberService.class, true, 60000)); DaprObjectSerializer serializer = new DaprObjectSerializer() { @Override public byte[] serialize(Object o) throws JsonProcessingException { return OBJECT_MAPPER.writeValueAsBytes(o); } @Override public T deserialize(byte[] data, TypeRef type) throws IOException { return (T) OBJECT_MAPPER.readValue(data, OBJECT_MAPPER.constructType(type.getType())); } @Override public String getContentType() { return "application/json"; } }; try (DaprClient client = daprRun.newDaprClientBuilder().withObjectSerializer(serializer).build()) { // Only for the gRPC test // Send a multiple messages on one topic in messagebus pubsub via publishEvents API. List messages = new ArrayList<>(); for (int i = 0; i < NUM_MESSAGES; i++) { messages.add(String.format("This is message #%d on topic %s", i, TOPIC_BULK)); } //Publishing 10 messages BulkPublishResponse response = client.publishEvents(PUBSUB_NAME, TOPIC_BULK, "", messages).block(); System.out.println(String.format("Published %d messages to topic '%s' pubsub_name '%s'", NUM_MESSAGES, TOPIC_BULK, PUBSUB_NAME)); assertNotNull(response, "expected not null bulk publish response"); assertEquals( 0, response.getFailedEntries().size(), "expected no failures in the response"); //Publishing an object. MyObject object = new MyObject(); object.setId("123"); response = client.publishEvents(PUBSUB_NAME, TOPIC_BULK, "application/json", Collections.singletonList(object)).block(); System.out.println("Published one object."); assertNotNull(response, "expected not null bulk publish response"); assertEquals(0, response.getFailedEntries().size(), "expected no failures in the response"); //Publishing a single byte: Example of non-string based content published client.publishEvents(PUBSUB_NAME, TOPIC_BULK, "", Collections.singletonList(new byte[]{1})).block(); System.out.println("Published one byte."); assertNotNull(response, "expected not null bulk publish response"); assertEquals(0, response.getFailedEntries().size(), "expected no failures in the response"); CloudEvent cloudEvent = new CloudEvent(); cloudEvent.setId("1234"); cloudEvent.setData("message from cloudevent"); cloudEvent.setSource("test"); cloudEvent.setSpecversion("1"); cloudEvent.setType("myevent"); cloudEvent.setDatacontenttype("text/plain"); BulkPublishRequest req = new BulkPublishRequest<>(PUBSUB_NAME, TOPIC_BULK, Collections.singletonList( new BulkPublishEntry<>("1", cloudEvent, "application/cloudevents+json", null) )); //Publishing a cloud event. client.publishEvents(req).block(); assertNotNull(response, "expected not null bulk publish response"); assertEquals(0, response.getFailedEntries().size(), "expected no failures in the response"); System.out.println("Published one cloud event."); // Introduce sleep Thread.sleep(10000); // Check messagebus subscription for topic testingbulktopic since it is populated only by publishEvents API call callWithRetry(() -> { System.out.println("Checking results for topic " + TOPIC_BULK + " in pubsub " + PUBSUB_NAME); // Validate text payload. final List cloudEventMessages = client.invokeMethod( daprRun.getAppName(), "messages/redis/testingbulktopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF).block(); assertEquals(13, cloudEventMessages.size(), "expected 13 messages to be received on subscribe"); for (int i = 0; i < NUM_MESSAGES; i++) { final int messageId = i; assertTrue(cloudEventMessages .stream() .filter(m -> m.getData() != null) .map(m -> m.getData()) .filter(m -> m.equals(String.format("This is message #%d on topic %s", messageId, TOPIC_BULK))) .count() == 1, "expected data content to match"); } // Validate object payload. assertTrue(cloudEventMessages .stream() .filter(m -> m.getData() != null) .filter(m -> m.getData() instanceof LinkedHashMap) .map(m -> (LinkedHashMap) m.getData()) .filter(m -> "123".equals(m.get("id"))) .count() == 1, "expected data content 123 to match"); // Validate byte payload. assertTrue(cloudEventMessages .stream() .filter(m -> m.getData() != null) .map(m -> m.getData()) .filter(m -> "AQ==".equals(m)) .count() == 1, "expected bin data to match"); // Validate cloudevent payload. assertTrue( cloudEventMessages .stream() .filter(m -> m.getData() != null) .map(m -> m.getData()) .filter(m -> "message from cloudevent".equals(m)) .count() == 1, "expected data to match"); }, 2000); } } @Test public void testPubSub() throws Exception { final DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName(), SubscriberService.SUCCESS_MESSAGE, SubscriberService.class, true, 60000)); DaprObjectSerializer serializer = new DaprObjectSerializer() { @Override public byte[] serialize(Object o) throws JsonProcessingException { return OBJECT_MAPPER.writeValueAsBytes(o); } @Override public T deserialize(byte[] data, TypeRef type) throws IOException { return (T) OBJECT_MAPPER.readValue(data, OBJECT_MAPPER.constructType(type.getType())); } @Override public String getContentType() { return "application/json"; } }; // Send a batch of messages on one topic try (DaprClient client = daprRun.newDaprClientBuilder().withObjectSerializer(serializer).build()) { for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d on topic %s", i, TOPIC_NAME); //Publishing messages client.publishEvent(PUBSUB_NAME, TOPIC_NAME, message).block(); System.out.println(String.format("Published message: '%s' to topic '%s' pubsub_name '%s'", message, TOPIC_NAME, PUBSUB_NAME)); } // Send a batch of different messages on the other. for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d on topic %s", i, ANOTHER_TOPIC_NAME); //Publishing messages client.publishEvent(PUBSUB_NAME, ANOTHER_TOPIC_NAME, message).block(); System.out.println(String.format("Published message: '%s' to topic '%s' pubsub_name '%s'", message, ANOTHER_TOPIC_NAME, PUBSUB_NAME)); } //Publishing an object. MyObject object = new MyObject(); object.setId("123"); client.publishEvent(PUBSUB_NAME, TOPIC_NAME, object).block(); System.out.println("Published one object."); client.publishEvent(PUBSUB_NAME, TYPED_TOPIC_NAME, object).block(); System.out.println("Published another object."); //Publishing a single byte: Example of non-string based content published client.publishEvent( PUBSUB_NAME, TOPIC_NAME, new byte[]{1}).block(); System.out.println("Published one byte."); CloudEvent cloudEvent = new CloudEvent(); cloudEvent.setId("1234"); cloudEvent.setData("message from cloudevent"); cloudEvent.setSource("test"); cloudEvent.setSpecversion("1"); cloudEvent.setType("myevent"); cloudEvent.setDatacontenttype("text/plain"); //Publishing a cloud event. client.publishEvent(new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEvent) .setContentType("application/cloudevents+json")).block(); System.out.println("Published one cloud event."); { CloudEvent cloudEventV2 = new CloudEvent(); cloudEventV2.setId("2222"); cloudEventV2.setData("message from cloudevent v2"); cloudEventV2.setSource("test"); cloudEventV2.setSpecversion("1"); cloudEventV2.setType("myevent.v2"); cloudEventV2.setDatacontenttype("text/plain"); client.publishEvent( new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEventV2) .setContentType("application/cloudevents+json")).block(); System.out.println("Published one cloud event for v2."); } { CloudEvent cloudEventV3 = new CloudEvent(); cloudEventV3.setId("3333"); cloudEventV3.setData("message from cloudevent v3"); cloudEventV3.setSource("test"); cloudEventV3.setSpecversion("1"); cloudEventV3.setType("myevent.v3"); cloudEventV3.setDatacontenttype("text/plain"); client.publishEvent( new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEventV3) .setContentType("application/cloudevents+json")).block(); System.out.println("Published one cloud event for v3."); } Thread.sleep(2000); callWithRetry(() -> { System.out.println("Checking results for topic " + TOPIC_NAME); // Validate text payload. final List messages = client.invokeMethod( daprRun.getAppName(), "messages/testingtopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF).block(); assertEquals(13, messages.size()); for (int i = 0; i < NUM_MESSAGES; i++) { final int messageId = i; assertTrue(messages .stream() .filter(m -> m.getData() != null) .map(m -> m.getData()) .filter(m -> m.equals(String.format("This is message #%d on topic %s", messageId, TOPIC_NAME))) .count() == 1); } // Validate object payload. assertTrue(messages .stream() .filter(m -> m.getData() != null) .filter(m -> m.getData() instanceof LinkedHashMap) .map(m -> (LinkedHashMap)m.getData()) .filter(m -> "123".equals(m.get("id"))) .count() == 1); // Validate byte payload. assertTrue(messages .stream() .filter(m -> m.getData() != null) .map(m -> m.getData()) .filter(m -> "AQ==".equals(m)) .count() == 1); // Validate cloudevent payload. assertTrue(messages .stream() .filter(m -> m.getData() != null) .map(m -> m.getData()) .filter(m -> "message from cloudevent".equals(m)) .count() == 1); }, 2000); callWithRetry(() -> { System.out.println("Checking results for topic " + TOPIC_NAME + " V2"); // Validate text payload. final List messages = client.invokeMethod( daprRun.getAppName(), "messages/testingtopicV2", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF).block(); assertEquals(1, messages.size()); }, 2000); callWithRetry(() -> { System.out.println("Checking results for topic " + TOPIC_NAME + " V3"); // Validate text payload. final List messages = client.invokeMethod( daprRun.getAppName(), "messages/testingtopicV3", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF).block(); assertEquals(1, messages.size()); }, 2000); callWithRetry(() -> { System.out.println("Checking results for topic " + TYPED_TOPIC_NAME); // Validate object payload. final List> messages = client.invokeMethod( daprRun.getAppName(), "messages/typedtestingtopic", null, HttpExtension.GET, CLOUD_EVENT_MYOBJECT_LIST_TYPE_REF).block(); assertTrue(messages .stream() .filter(m -> m.getData() != null) .filter(m -> m.getData() instanceof MyObject) .map(m -> (MyObject)m.getData()) .filter(m -> "123".equals(m.getId())) .count() == 1); }, 2000); callWithRetry(() -> { System.out.println("Checking results for topic " + ANOTHER_TOPIC_NAME); final List messages = client.invokeMethod( daprRun.getAppName(), "messages/anothertopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF).block(); assertEquals(10, messages.size()); for (int i = 0; i < NUM_MESSAGES; i++) { final int messageId = i; assertTrue(messages .stream() .filter(m -> m.getData() != null) .map(m -> m.getData()) .filter(m -> m.equals(String.format("This is message #%d on topic %s", messageId, ANOTHER_TOPIC_NAME))) .count() == 1); } }, 2000); } } @Test public void testPubSubBinary() throws Exception { final DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName(), SubscriberService.SUCCESS_MESSAGE, SubscriberService.class, true, 60000)); DaprObjectSerializer serializer = new DaprObjectSerializer() { @Override public byte[] serialize(Object o) { return (byte[])o; } @Override public T deserialize(byte[] data, TypeRef type) { return (T) data; } @Override public String getContentType() { return "application/octet-stream"; } }; try (DaprClient client = daprRun.newDaprClientBuilder().withObjectSerializer(serializer).build()) { client.publishEvent( PUBSUB_NAME, BINARY_TOPIC_NAME, new byte[]{1}).block(); System.out.println("Published one byte."); } Thread.sleep(3000); try (DaprClient client = daprRun.newDaprClientBuilder().build()) { callWithRetry(() -> { System.out.println("Checking results for topic " + BINARY_TOPIC_NAME); final List messages = client.invokeMethod( daprRun.getAppName(), "messages/binarytopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF).block(); assertEquals(1, messages.size()); assertNull(messages.get(0).getData()); assertArrayEquals(new byte[]{1}, messages.get(0).getBinaryData()); }, 2000); } } @Test public void testPubSubTTLMetadata() throws Exception { DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName(), 60000)); // Send a batch of messages on one topic, all to be expired in 1 second. try (DaprClient client = daprRun.newDaprClientBuilder().build()) { for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d on topic %s", i, TTL_TOPIC_NAME); //Publishing messages client.publishEvent( PUBSUB_NAME, TTL_TOPIC_NAME, message, Map.of(Metadata.TTL_IN_SECONDS, "1")).block(); System.out.println(String.format("Published message: '%s' to topic '%s' pubsub_name '%s'", message, TOPIC_NAME, PUBSUB_NAME)); } } daprRun.stop(); // Sleeps for two seconds to let them expire. Thread.sleep(2000); daprRun = closeLater(startDaprApp( this.getClass().getSimpleName(), SubscriberService.SUCCESS_MESSAGE, SubscriberService.class, true, 60000)); // Sleeps for five seconds to give subscriber a chance to receive messages. Thread.sleep(5000); final String appId = daprRun.getAppName(); try (DaprClient client = daprRun.newDaprClientBuilder().build()) { callWithRetry(() -> { System.out.println("Checking results for topic " + TTL_TOPIC_NAME); final List messages = client.invokeMethod(appId, "messages/" + TTL_TOPIC_NAME, null, HttpExtension.GET, List.class).block(); assertEquals(0, messages.size()); }, 2000); } daprRun.stop(); } @Test public void testPubSubBulkSubscribe() throws Exception { DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName(), SubscriberService.SUCCESS_MESSAGE, SubscriberService.class, true, 60000)); // Send a batch of messages on one topic. try (DaprClient client = daprRun.newDaprClientBuilder().build()) { for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d on topic %s", i, BULK_SUB_TOPIC_NAME); // Publishing messages client.publishEvent(PUBSUB_NAME, BULK_SUB_TOPIC_NAME, message).block(); System.out.printf("Published message: '%s' to topic '%s' pubSub_name '%s'\n", message, BULK_SUB_TOPIC_NAME, PUBSUB_NAME); } } // Sleeps for five seconds to give subscriber a chance to receive messages. Thread.sleep(5000); final String appId = daprRun.getAppName(); try (DaprClient client = daprRun.newDaprClientBuilder().build()) { callWithRetry(() -> { System.out.println("Checking results for topic " + BULK_SUB_TOPIC_NAME); @SuppressWarnings("unchecked") Class> clazz = (Class) List.class; final List messages = client.invokeMethod( appId, "messages/" + BULK_SUB_TOPIC_NAME, null, HttpExtension.GET, clazz).block(); assertNotNull(messages); BulkSubscribeAppResponse response = OBJECT_MAPPER.convertValue(messages.get(0), BulkSubscribeAppResponse.class); // There should be a single bulk response. assertEquals(1, messages.size()); // The bulk response should contain NUM_MESSAGES entries. assertEquals(NUM_MESSAGES, response.getStatuses().size()); // All the entries should be SUCCESS. for (BulkSubscribeAppResponseEntry entry : response.getStatuses()) { assertEquals(entry.getStatus(), BulkSubscribeAppResponseStatus.SUCCESS); } }, 2000); } daprRun.stop(); } @Test public void testLongValues() throws Exception { final DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName(), SubscriberService.SUCCESS_MESSAGE, SubscriberService.class, true, 60000)); Random random = new Random(590518626939830271L); Set values = new HashSet<>(); values.add(new ConvertToLong().setVal(590518626939830271L)); ConvertToLong val; for (int i = 0; i < NUM_MESSAGES - 1; i++) { do { val = new ConvertToLong().setVal(random.nextLong()); } while (values.contains(val)); values.add(val); } Iterator valuesIt = values.iterator(); try (DaprClient client = daprRun.newDaprClientBuilder().build()) { for (int i = 0; i < NUM_MESSAGES; i++) { ConvertToLong value = valuesIt.next(); System.out.println("The long value sent " + value.getValue()); //Publishing messages client.publishEvent( PUBSUB_NAME, LONG_TOPIC_NAME, value, Map.of(Metadata.TTL_IN_SECONDS, "30")).block(); try { Thread.sleep((long) (1000 * Math.random())); } catch (InterruptedException e) { e.printStackTrace(); Thread.currentThread().interrupt(); return; } } } Set actual = new HashSet<>(); try (DaprClient client = daprRun.newDaprClientBuilder().build()) { callWithRetry(() -> { System.out.println("Checking results for topic " + LONG_TOPIC_NAME); final List> messages = client.invokeMethod( daprRun.getAppName(), "messages/testinglongvalues", null, HttpExtension.GET, CLOUD_EVENT_LONG_LIST_TYPE_REF).block(); assertNotNull(messages); for (CloudEvent message : messages) { actual.add(message.getData()); } Assertions.assertEquals(values, actual); }, 2000); } } public static class MyObject { private String id; public String getId() { return this.id; } public void setId(String id) { this.id = id; } } public static class ConvertToLong { private Long value; public ConvertToLong setVal(Long value) { this.value = value; return this; } public Long getValue() { return value; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ConvertToLong that = (ConvertToLong) o; return Objects.equals(value, that.value); } @Override public int hashCode() { return Objects.hash(value); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/pubsub/http/SubscriberController.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.pubsub.http; import io.dapr.Rule; import io.dapr.Topic; import io.dapr.client.domain.BulkSubscribeAppResponse; import io.dapr.client.domain.BulkSubscribeAppResponseEntry; import io.dapr.client.domain.BulkSubscribeAppResponseStatus; import io.dapr.client.domain.BulkSubscribeMessage; import io.dapr.client.domain.BulkSubscribeMessageEntry; import io.dapr.client.domain.CloudEvent; import io.dapr.springboot.annotations.BulkSubscribe; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.BiFunction; /** * SpringBoot Controller to handle input binding. */ @RestController public class SubscriberController { private final Map>> messagesByTopic = Collections.synchronizedMap(new HashMap<>()); @GetMapping(path = "/messages/{topic}") public List> getMessagesByTopic(@PathVariable("topic") String topic) { return messagesByTopic.getOrDefault(topic, Collections.emptyList()); } private static final List messagesReceivedBulkPublishTopic = new ArrayList(); private static final List messagesReceivedTestingTopic = new ArrayList(); private static final List messagesReceivedTestingTopicV2 = new ArrayList(); private static final List messagesReceivedTestingTopicV3 = new ArrayList(); private static final List responsesReceivedTestingTopicBulkSub = new ArrayList<>(); @GetMapping(path = "/messages/redis/testingbulktopic") public List getMessagesReceivedBulkTopic() { return messagesReceivedBulkPublishTopic; } @GetMapping(path = "/messages/testingtopic") public List getMessagesReceivedTestingTopic() { return messagesReceivedTestingTopic; } @GetMapping(path = "/messages/testingtopicV2") public List getMessagesReceivedTestingTopicV2() { return messagesReceivedTestingTopicV2; } @GetMapping(path = "/messages/testingtopicV3") public List getMessagesReceivedTestingTopicV3() { return messagesReceivedTestingTopicV3; } @GetMapping(path = "/messages/topicBulkSub") public List getMessagesReceivedTestingTopicBulkSub() { return responsesReceivedTestingTopicBulkSub; } @Topic(name = "testingtopic", pubsubName = "messagebus") @PostMapping("/route1") public Mono handleMessage(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); System.out.println("Testing topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedTestingTopic.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testingbulktopic", pubsubName = "messagebus") @PostMapping("/route1_redis") public Mono handleBulkTopicMessage(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); System.out.println("Testing bulk publish topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedBulkPublishTopic.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testingtopic", pubsubName = "messagebus", rule = @Rule(match = "event.type == 'myevent.v2'", priority = 2)) @PostMapping(path = "/route1_v2") public Mono handleMessageV2(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); System.out.println("Testing topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedTestingTopicV2.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testingtopic", pubsubName = "messagebus", rule = @Rule(match = "event.type == 'myevent.v3'", priority = 1)) @PostMapping(path = "/route1_v3") public Mono handleMessageV3(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); System.out.println("Testing topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedTestingTopicV3.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "typedtestingtopic", pubsubName = "messagebus") @PostMapping(path = "/route1b") public Mono handleMessageTyped(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String id = envelope.getData() == null ? "" : envelope.getData().getId(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); System.out.println("Testing typed topic Subscriber got message with ID: " + id + "; Content-type: " + contentType); messagesByTopic.compute("typedtestingtopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "binarytopic", pubsubName = "messagebus") @PostMapping(path = "/route2") public Mono handleBinaryMessage(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); System.out.println("Binary topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesByTopic.compute("binarytopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "#{'another'.concat('topic')}", pubsubName = "${pubsubName:messagebus}") @PostMapping(path = "/route3") public Mono handleMessageAnotherTopic(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); System.out.println("Another topic Subscriber got message: " + message); messagesByTopic.compute("anothertopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "ttltopic", pubsubName = "messagebus") @PostMapping(path = "/route4") public Mono handleMessageTTLTopic(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); System.out.println("TTL topic Subscriber got message: " + message); messagesByTopic.compute("ttltopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testinglongvalues", pubsubName = "messagebus") @PostMapping(path = "/testinglongvalues") public Mono handleMessageLongValues(@RequestBody(required = false) CloudEvent cloudEvent) { return Mono.fromRunnable(() -> { try { Long message = cloudEvent.getData().getValue(); System.out.println("Subscriber got: " + message); messagesByTopic.compute("testinglongvalues", merge(cloudEvent)); } catch (Exception e) { throw new RuntimeException(e); } }); } /** * Receive messages using the bulk subscribe API. * The maxBulkSubCount and maxBulkSubAwaitDurationMs are adjusted to ensure * that all the test messages arrive in a single batch. * * @param bulkMessage incoming bulk of messages from the message bus. * @return status for each message received. */ @BulkSubscribe(maxMessagesCount = 100, maxAwaitDurationMs = 5000) @Topic(name = "topicBulkSub", pubsubName = "messagebus") @PostMapping(path = "/routeBulkSub") public Mono handleMessageBulk( @RequestBody(required = false) BulkSubscribeMessage> bulkMessage) { return Mono.fromCallable(() -> { if (bulkMessage.getEntries().size() == 0) { BulkSubscribeAppResponse response = new BulkSubscribeAppResponse(new ArrayList<>()); responsesReceivedTestingTopicBulkSub.add(response); return response; } List entries = new ArrayList<>(); for (BulkSubscribeMessageEntry entry: bulkMessage.getEntries()) { try { System.out.printf("Bulk Subscriber got entry ID: %s\n", entry.getEntryId()); entries.add(new BulkSubscribeAppResponseEntry(entry.getEntryId(), BulkSubscribeAppResponseStatus.SUCCESS)); } catch (Exception e) { entries.add(new BulkSubscribeAppResponseEntry(entry.getEntryId(), BulkSubscribeAppResponseStatus.RETRY)); } } BulkSubscribeAppResponse response = new BulkSubscribeAppResponse(entries); responsesReceivedTestingTopicBulkSub.add(response); return response; }); } private BiFunction>, List>> merge(final CloudEvent item) { return (key, value) -> { final List> list = value == null ? new ArrayList<>() : value; list.add(item); return list; }; } @GetMapping(path = "/health") public void health() { } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/pubsub/http/SubscriberService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.pubsub.http; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Service for subscriber. */ @SpringBootApplication public class SubscriberService { public static final String SUCCESS_MESSAGE = "Completed initialization in"; public static void main(String[] args) throws Exception { int port = Integer.parseInt(args[0]); System.out.printf("Service starting on port %d ...\n", port); // Start Dapr's callback endpoint. start(port); } /** * Starts Dapr's callback in a given port. * * @param port Port to listen to. */ private static void start(int port) { SpringApplication app = new SpringApplication(SubscriberService.class); app.run(String.format("--server.port=%d", port)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/pubsub/stream/PubSubStreamIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.pubsub.stream; import io.dapr.client.DaprClient; import io.dapr.client.DaprPreviewClient; import io.dapr.client.SubscriptionListener; import io.dapr.client.domain.CloudEvent; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Random; import java.util.Set; import java.util.UUID; import static io.dapr.it.Retry.callWithRetry; import static org.junit.jupiter.api.Assertions.assertEquals; public class PubSubStreamIT extends BaseIT { // Must be a large enough number, so we validate that we get more than the initial batch // sent by the runtime. When this was first added, the batch size in runtime was set to 10. private static final int NUM_MESSAGES = 100; private static final String TOPIC_NAME = "stream-topic"; private static final String TOPIC_NAME_FLUX = "stream-topic-flux"; private static final String TOPIC_NAME_CLOUDEVENT = "stream-topic-cloudevent"; private static final String TOPIC_NAME_RAWPAYLOAD = "stream-topic-rawpayload"; private static final String PUBSUB_NAME = "messagebus"; private final List runs = new ArrayList<>(); private DaprRun closeLater(DaprRun run) { this.runs.add(run); return run; } @AfterEach public void tearDown() throws Exception { for (DaprRun run : runs) { run.stop(); } } @Test public void testPubSub() throws Exception { final DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName(), 60000)); var runId = UUID.randomUUID().toString(); try (DaprClient client = daprRun.newDaprClient(); DaprPreviewClient previewClient = daprRun.newDaprPreviewClient()) { for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d on topic %s for run %s", i, TOPIC_NAME, runId); //Publishing messages client.publishEvent(PUBSUB_NAME, TOPIC_NAME, message).block(); System.out.println( String.format("Published message: '%s' to topic '%s' pubsub_name '%s'", message, TOPIC_NAME, PUBSUB_NAME)); } System.out.println("Starting subscription for " + TOPIC_NAME); Set messages = Collections.synchronizedSet(new HashSet<>()); Set errors = Collections.synchronizedSet(new HashSet<>()); var random = new Random(37); // predictable random. var listener = new SubscriptionListener() { @Override public Mono onEvent(CloudEvent event) { return Mono.fromCallable(() -> { // Useful to avoid false negatives running locally multiple times. if (event.getData().contains(runId)) { // 5% failure rate. var decision = random.nextInt(100); if (decision < 5) { if (decision % 2 == 0) { throw new RuntimeException("artificial exception on message " + event.getId()); } return Status.RETRY; } messages.add(event.getId()); return Status.SUCCESS; } return Status.DROP; }); } @Override public void onError(RuntimeException exception) { errors.add(exception.getMessage()); } }; try(var subscription = previewClient.subscribeToEvents(PUBSUB_NAME, TOPIC_NAME, listener, TypeRef.STRING)) { callWithRetry(() -> { var messageCount = messages.size(); System.out.println( String.format("Got %d messages out of %d for topic %s.", messageCount, NUM_MESSAGES, TOPIC_NAME)); assertEquals(NUM_MESSAGES, messages.size()); assertEquals(4, errors.size()); }, 120000); // Time for runtime to retry messages. subscription.close(); subscription.awaitTermination(); } } } @Test public void testPubSubFlux() throws Exception { final DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName() + "-flux", 60000)); var runId = UUID.randomUUID().toString(); try (DaprClient client = daprRun.newDaprClient(); DaprPreviewClient previewClient = daprRun.newDaprPreviewClient()) { // Publish messages for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("Flux message #%d for run %s", i, runId); client.publishEvent(PUBSUB_NAME, TOPIC_NAME_FLUX, message).block(); System.out.println( String.format("Published flux message: '%s' to topic '%s'", message, TOPIC_NAME_FLUX)); } System.out.println("Starting Flux subscription for " + TOPIC_NAME_FLUX); Set messages = Collections.synchronizedSet(new HashSet<>()); // subscribeToTopic returns Flux directly (raw data) var disposable = previewClient.subscribeToTopic(PUBSUB_NAME, TOPIC_NAME_FLUX, TypeRef.STRING) .doOnNext(rawMessage -> { // rawMessage is String directly if (rawMessage.contains(runId)) { messages.add(rawMessage); System.out.println("Received raw message: " + rawMessage); } }) .subscribe(); callWithRetry(() -> { var messageCount = messages.size(); System.out.println( String.format("Got %d flux messages out of %d for topic %s.", messageCount, NUM_MESSAGES, TOPIC_NAME_FLUX)); assertEquals(NUM_MESSAGES, messages.size()); }, 60000); disposable.dispose(); } } @Test public void testPubSubCloudEvent() throws Exception { final DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName() + "-cloudevent", 60000)); var runId = UUID.randomUUID().toString(); try (DaprClient client = daprRun.newDaprClient(); DaprPreviewClient previewClient = daprRun.newDaprPreviewClient()) { // Publish messages for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("CloudEvent message #%d for run %s", i, runId); client.publishEvent(PUBSUB_NAME, TOPIC_NAME_CLOUDEVENT, message).block(); System.out.println( String.format("Published CloudEvent message: '%s' to topic '%s'", message, TOPIC_NAME_CLOUDEVENT)); } System.out.println("Starting CloudEvent subscription for " + TOPIC_NAME_CLOUDEVENT); Set messageIds = Collections.synchronizedSet(new HashSet<>()); // Use TypeRef> to receive full CloudEvent with metadata var disposable = previewClient.subscribeToTopic(PUBSUB_NAME, TOPIC_NAME_CLOUDEVENT, new TypeRef>(){}) .doOnNext(cloudEvent -> { if (cloudEvent.getData() != null && cloudEvent.getData().contains(runId)) { messageIds.add(cloudEvent.getId()); System.out.println("Received CloudEvent with ID: " + cloudEvent.getId() + ", topic: " + cloudEvent.getTopic() + ", data: " + cloudEvent.getData()); } }) .subscribe(); callWithRetry(() -> { var messageCount = messageIds.size(); System.out.println( String.format("Got %d CloudEvent messages out of %d for topic %s.", messageCount, NUM_MESSAGES, TOPIC_NAME_CLOUDEVENT)); assertEquals(NUM_MESSAGES, messageIds.size()); }, 60000); disposable.dispose(); } } @Test public void testPubSubRawPayload() throws Exception { final DaprRun daprRun = closeLater(startDaprApp( this.getClass().getSimpleName() + "-rawpayload", 60000)); var runId = UUID.randomUUID().toString(); try (DaprClient client = daprRun.newDaprClient(); DaprPreviewClient previewClient = daprRun.newDaprPreviewClient()) { // Publish messages with rawPayload metadata for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("RawPayload message #%d for run %s", i, runId); client.publishEvent(PUBSUB_NAME, TOPIC_NAME_RAWPAYLOAD, message, Map.of("rawPayload", "true")).block(); System.out.println( String.format("Published raw payload message: '%s' to topic '%s'", message, TOPIC_NAME_RAWPAYLOAD)); } System.out.println("Starting raw payload subscription for " + TOPIC_NAME_RAWPAYLOAD); Set messages = Collections.synchronizedSet(new HashSet<>()); Map metadata = Map.of("rawPayload", "true"); // Use subscribeToTopic with rawPayload metadata var disposable = previewClient.subscribeToTopic(PUBSUB_NAME, TOPIC_NAME_RAWPAYLOAD, TypeRef.STRING, metadata) .doOnNext(rawMessage -> { if (rawMessage.contains(runId)) { messages.add(rawMessage); System.out.println("Received raw payload message: " + rawMessage); } }) .subscribe(); callWithRetry(() -> { var messageCount = messages.size(); System.out.println( String.format("Got %d raw payload messages out of %d for topic %s.", messageCount, NUM_MESSAGES, TOPIC_NAME_RAWPAYLOAD)); assertEquals(NUM_MESSAGES, messages.size()); }, 60000); disposable.dispose(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/resiliency/SdkResiliencyIT.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.resiliency; import com.github.tomakehurst.wiremock.client.WireMock; import com.github.tomakehurst.wiremock.junit5.WireMockTest; import eu.rekawek.toxiproxy.Proxy; import eu.rekawek.toxiproxy.ToxiproxyClient; import eu.rekawek.toxiproxy.model.ToxicDirection; import eu.rekawek.toxiproxy.model.toxic.Latency; import eu.rekawek.toxiproxy.model.toxic.Timeout; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.resiliency.ResiliencyOptions; import io.dapr.config.Properties; import io.dapr.exceptions.DaprException; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Tags; import org.junit.jupiter.api.Test; import org.slf4j.LoggerFactory; import org.testcontainers.containers.Network; import org.testcontainers.containers.ToxiproxyContainer; import org.testcontainers.containers.output.Slf4jLogConsumer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.shaded.org.awaitility.Awaitility; import org.testcontainers.shaded.org.awaitility.core.ConditionTimeoutException; import java.io.IOException; import java.time.Duration; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.any; import static com.github.tomakehurst.wiremock.client.WireMock.configureFor; import static com.github.tomakehurst.wiremock.client.WireMock.get; import static com.github.tomakehurst.wiremock.client.WireMock.post; import static com.github.tomakehurst.wiremock.client.WireMock.postRequestedFor; import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; import static com.github.tomakehurst.wiremock.client.WireMock.verify; import static io.dapr.it.resiliency.SdkResiliencyIT.WIREMOCK_PORT; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static io.dapr.it.testcontainers.ContainerConstants.TOXI_PROXY_IMAGE_TAG; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; @Testcontainers @WireMockTest(httpPort = WIREMOCK_PORT) @Tags({@Tag("testcontainers"), @Tag("resiliency")}) public class SdkResiliencyIT { public static final int WIREMOCK_PORT = 8888; private static final Network NETWORK = Network.newNetwork(); private static final String STATE_STORE_NAME = "kvstore"; private static final int INFINITE_RETRY = -1; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withAppPort(WIREMOCK_PORT) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(new Slf4jLogConsumer(LoggerFactory.getLogger("dapr-logs"))) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .withNetworkAliases("dapr") .withNetwork(NETWORK); @Container private static final ToxiproxyContainer TOXIPROXY = new ToxiproxyContainer(TOXI_PROXY_IMAGE_TAG) .withNetwork(NETWORK); private static Proxy proxy; private void configStub() { stubFor(any(urlMatching("/actuator/health")) .willReturn(aResponse().withBody("[]").withStatus(200))); stubFor(any(urlMatching("/dapr/subscribe")) .willReturn(aResponse().withBody("[]").withStatus(200))); stubFor(get(urlMatching("/dapr/config")) .willReturn(aResponse().withBody("[]").withStatus(200))); // create a stub for simulating dapr sidecar with timeout of 1000 ms stubFor(post(urlEqualTo("/dapr.proto.runtime.v1.Dapr/SaveState")) .willReturn(aResponse().withStatus(204).withFixedDelay(1000))); stubFor(any(urlMatching("/([a-z1-9]*)")) .willReturn(aResponse().withBody("[]").withStatus(200))); configureFor("localhost", WIREMOCK_PORT); } @BeforeAll static void configure() throws IOException { ToxiproxyClient toxiproxyClient = new ToxiproxyClient(TOXIPROXY.getHost(), TOXIPROXY.getControlPort()); proxy = toxiproxyClient.createProxy("dapr", "0.0.0.0:8666", "dapr:3500"); } @AfterAll static void afterAll() { WireMock.shutdownServer(); } @BeforeEach public void beforeEach() { configStub(); org.testcontainers.Testcontainers.exposeHostPorts(WIREMOCK_PORT); } @Test @DisplayName("should throw exception when the configured timeout exceeding waitForSidecar's timeout") public void testSidecarWithoutTimeout() { Assertions.assertThrows(RuntimeException.class, () -> { try (DaprClient client = createDaprClientBuilder().build()) { Timeout timeout = proxy.toxics().timeout("timeout", ToxicDirection.DOWNSTREAM, 3000); client.waitForSidecar(2000).block(); timeout.remove(); } }); } @Test @DisplayName("should fail when resiliency options has 900ms and the latency is 950ms") public void shouldFailDueToLatencyExceedingConfiguration() throws Exception { Latency latency = proxy.toxics().latency("latency", ToxicDirection.DOWNSTREAM, Duration.ofMillis(950).toMillis()); DaprClient client = createDaprClientBuilder().withResiliencyOptions(new ResiliencyOptions().setTimeout(Duration.ofMillis(900))) .build(); String errorMessage = assertThrows(DaprException.class, () -> { client.saveState(STATE_STORE_NAME, "users", "[]").block(); }).getMessage(); assertThat(errorMessage).contains("DEADLINE_EXCEEDED"); latency.remove(); client.close(); } @Test @DisplayName("should fail when resiliency's options has infinite retry with time 900ms and the latency is 950ms") public void shouldFailDueToLatencyExceedingConfigurationWithInfiniteRetry() throws Exception { Duration ms900 = Duration.ofMillis(900); Duration ms950 = Duration.ofMillis(950); Latency latency = proxy.toxics().latency("latency-infinite-retry", ToxicDirection.DOWNSTREAM, ms950.toMillis()); DaprClient client = createDaprClientBuilder().withResiliencyOptions(new ResiliencyOptions().setTimeout(ms900).setMaxRetries( INFINITE_RETRY)) .build(); Assertions.assertThrows(ConditionTimeoutException.class, () -> { Awaitility.await("10 seconds because the retry should be infinite") .atMost(Duration.ofSeconds(10)) .until(() -> { boolean finished = true; client.saveState(STATE_STORE_NAME, "users", "[]").block(); return finished; }); }); latency.remove(); client.close(); } @Test @DisplayName("should fail due to latency exceeding configuration with once retry") public void shouldFailDueToLatencyExceedingConfigurationWithOnceRetry() throws Exception { DaprClient client = new DaprClientBuilder().withPropertyOverride(Properties.HTTP_ENDPOINT, "http://localhost:" + WIREMOCK_PORT) .withPropertyOverride(Properties.GRPC_ENDPOINT, "http://localhost:" + WIREMOCK_PORT) .withResiliencyOptions(new ResiliencyOptions().setTimeout(Duration.ofMillis(900)) .setMaxRetries(1)) .build(); try { client.saveState(STATE_STORE_NAME, "users", "[]").block(); } catch (Exception ignored) { } verify(2, postRequestedFor(urlEqualTo("/dapr.proto.runtime.v1.Dapr/SaveState"))); client.close(); } private static DaprClientBuilder createDaprClientBuilder() { return new DaprClientBuilder() .withPropertyOverride(Properties.HTTP_ENDPOINT, "http://localhost:" + TOXIPROXY.getMappedPort(8666)) .withPropertyOverride(Properties.GRPC_ENDPOINT, "http://localhost:" + TOXIPROXY.getMappedPort(8666)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/resiliency/WaitForSidecarIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.resiliency; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.it.ToxiProxyRun; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import java.time.Duration; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; /** * Test SDK resiliency. */ public class WaitForSidecarIT extends BaseIT { // Use a number large enough to make sure it will respect the entire timeout. private static final Duration LATENCY = Duration.ofSeconds(5); private static final Duration JITTER = Duration.ofSeconds(0); private static DaprRun daprRun; private static ToxiProxyRun toxiProxyRun; private static DaprRun daprNotRunning; @BeforeAll public static void init() throws Exception { daprRun = startDaprApp(WaitForSidecarIT.class.getSimpleName(), 5000); daprNotRunning = startDaprApp(WaitForSidecarIT.class.getSimpleName() + "NotRunning", 5000); daprNotRunning.stop(); toxiProxyRun = new ToxiProxyRun(daprRun, LATENCY, JITTER); toxiProxyRun.start(); } @Test public void waitSucceeds() throws Exception { try(var client = daprRun.newDaprClient()) { client.waitForSidecar(5000).block(); } } @Test public void waitTimeout() { int timeoutInMillis = (int)LATENCY.minusMillis(100).toMillis(); long started = System.currentTimeMillis(); assertThrows(RuntimeException.class, () -> { try(var client = toxiProxyRun.newDaprClientBuilder().build()) { client.waitForSidecar(timeoutInMillis).block(); } }); long duration = System.currentTimeMillis() - started; assertThat(duration).isGreaterThanOrEqualTo(timeoutInMillis); } @Test public void waitSlow() throws Exception { int timeoutInMillis = (int)LATENCY.plusMillis(100).toMillis(); long started = System.currentTimeMillis(); try(var client = toxiProxyRun.newDaprClientBuilder().build()) { client.waitForSidecar(timeoutInMillis).block(); } long duration = System.currentTimeMillis() - started; assertThat(duration).isGreaterThanOrEqualTo(LATENCY.toMillis()); } @Test public void waitNotRunningTimeout() { // Does not make this number too smaller since bug does not repro when <= 2.5s. // This has to do with a previous bug in the implementation. int timeoutMilliseconds = 5000; long started = System.currentTimeMillis(); assertThrows(RuntimeException.class, () -> { try(var client = daprNotRunning.newDaprClientBuilder().build()) { client.waitForSidecar(timeoutMilliseconds).block(); } }); long duration = System.currentTimeMillis() - started; assertThat(duration).isGreaterThanOrEqualTo(timeoutMilliseconds); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/secrets/SecretsClientIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.secrets; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import org.apache.commons.io.IOUtils; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.UUID; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; /** * Test Secrets Store APIs using local file. * * 1. create secret file locally: */ public class SecretsClientIT extends BaseIT { /** * JSON Serializer to print output. */ private static final ObjectMapper JSON_SERIALIZER = new ObjectMapper(); private static final String SECRETS_STORE_NAME = "localSecretStore"; private static final String LOCAL_SECRET_FILE_PATH = "./components/secret.json"; private static final String KEY1 = UUID.randomUUID().toString(); private static final String KYE2 = UUID.randomUUID().toString(); private static DaprRun daprRun; private DaprClient daprClient; private static File localSecretFile; @BeforeAll public static void init() throws Exception { localSecretFile = new File(LOCAL_SECRET_FILE_PATH); boolean existed = localSecretFile.exists(); assertTrue(existed); initSecretFile(); daprRun = startDaprApp(SecretsClientIT.class.getSimpleName(), 5000); } @BeforeEach public void setup() { this.daprClient = daprRun.newDaprClientBuilder().build(); } @AfterEach public void tearDown() throws Exception { daprClient.close(); clearSecretFile(); } @Test public void getSecret() throws Exception { Map data = daprClient.getSecret(SECRETS_STORE_NAME, KEY1).block(); assertEquals(2, data.size()); assertEquals("The Metrics IV", data.get("title")); assertEquals("2020", data.get("year")); } @Test public void getBulkSecret() throws Exception { Map> data = daprClient.getBulkSecret(SECRETS_STORE_NAME).block(); // There can be other keys from other runs or test cases, so we are good with at least two. assertTrue(data.size() >= 2); assertEquals(2, data.get(KEY1).size()); assertEquals("The Metrics IV", data.get(KEY1).get("title")); assertEquals("2020", data.get(KEY1).get("year")); assertEquals(1, data.get(KYE2).size()); assertEquals("Jon Doe", data.get(KYE2).get("name")); } @Test public void getSecretKeyNotFound() { assertThrows(RuntimeException.class, () -> daprClient.getSecret(SECRETS_STORE_NAME, "unknownKey").block()); } @Test public void getSecretStoreNotFound() { assertThrows(RuntimeException.class, () -> daprClient.getSecret("unknownStore", "unknownKey").block()); } private static void initSecretFile() throws Exception { Map key2 = new HashMap(){{ put("name", "Jon Doe"); }}; Map key1 = new HashMap(){{ put("title", "The Metrics IV"); put("year", "2020"); }}; Map> secret = new HashMap<>(){{ put(KEY1, key1); put(KYE2, key2); }}; try (FileOutputStream fos = new FileOutputStream(localSecretFile)) { JSON_SERIALIZER.writeValue(fos, secret); } } private static void clearSecretFile() throws IOException { try (FileOutputStream fos = new FileOutputStream(localSecretFile)) { IOUtils.write("{}", fos); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/spring/data/CustomMySQLContainer.java ================================================ package io.dapr.it.spring.data; import org.testcontainers.containers.MySQLContainer; import org.testcontainers.utility.DockerImageName; public class CustomMySQLContainer> extends MySQLContainer { public CustomMySQLContainer(String dockerImageName) { super(DockerImageName.parse(dockerImageName)); } protected void waitUntilContainerStarted() { this.getWaitStrategy().waitUntilReady(this); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/spring/data/DaprKeyValueRepositoryIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.spring.data; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.testcontainers.containers.Network; import org.testcontainers.containers.PostgreSQLContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.it.spring.data.DaprSpringDataConstants.BINDING_NAME; import static io.dapr.it.spring.data.DaprSpringDataConstants.STATE_STORE_NAME; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; /** * Integration tests for {@link DaprKeyValueRepositoryIT}. */ @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = TestDaprSpringDataConfiguration.class) @Testcontainers @Tag("testcontainers") public class DaprKeyValueRepositoryIT { private static final String CONNECTION_STRING = "host=postgres-repository user=postgres password=password port=5432 connect_timeout=10 database=dapr_db_repository"; private static final Map STATE_STORE_PROPERTIES = createStateStoreProperties(); private static final Map BINDING_PROPERTIES = Map.of("connectionString", CONNECTION_STRING); private static final Network DAPR_NETWORK = Network.newNetwork(); @Container private static final PostgreSQLContainer POSTGRE_SQL_CONTAINER = new PostgreSQLContainer<>("postgres:16-alpine") .withNetworkAliases("postgres-repository") .withDatabaseName("dapr_db_repository") .withUsername("postgres") .withPassword("password") .withNetwork(DAPR_NETWORK); @Container @ServiceConnection private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("postgresql-repository-dapr-app") .withNetwork(DAPR_NETWORK) .withComponent(new Component(STATE_STORE_NAME, "state.postgresql", "v1", STATE_STORE_PROPERTIES)) .withComponent(new Component(BINDING_NAME, "bindings.postgresql", "v1", BINDING_PROPERTIES)) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .dependsOn(POSTGRE_SQL_CONTAINER); private static Map createStateStoreProperties() { Map result = new HashMap<>(); result.put("keyPrefix", "name"); result.put("actorStateStore", String.valueOf(true)); result.put("connectionString", CONNECTION_STRING); return result; } @Autowired private TestTypeRepository repository; @BeforeEach public void setUp() { repository.deleteAll(); } @Test public void testFindById() { TestType saved = repository.save(new TestType(3, "test")); TestType byId = repository.findById(3).get(); assertEquals(saved, byId); } @Test public void testExistsById() { repository.save(new TestType(3, "test")); boolean existsById = repository.existsById(3); assertTrue(existsById); boolean existsById2 = repository.existsById(4); assertFalse(existsById2); } @Test public void testFindAll() { repository.save(new TestType(3, "test")); repository.save(new TestType(4, "test2")); Iterable all = repository.findAll(); assertEquals(2, all.spliterator().getExactSizeIfKnown()); } @Test public void testFinUsingQuery() { repository.save(new TestType(3, "test")); repository.save(new TestType(4, "test2")); List byContent = repository.findByContent("test2"); assertEquals(1, byContent.size()); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/spring/data/DaprSpringDataConstants.java ================================================ package io.dapr.it.spring.data; public class DaprSpringDataConstants { private DaprSpringDataConstants() { } public static final String STATE_STORE_NAME = "kvstore"; public static final String BINDING_NAME = "kvbinding"; } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/spring/data/MySQLDaprKeyValueTemplateIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.spring.data; import io.dapr.client.DaprClient; import io.dapr.spring.data.DaprKeyValueTemplate; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.data.keyvalue.core.query.KeyValueQuery; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.testcontainers.containers.MySQLContainer; import org.testcontainers.containers.Network; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.containers.wait.strategy.WaitStrategy; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.time.Duration; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; import static io.dapr.it.spring.data.DaprSpringDataConstants.STATE_STORE_NAME; import static io.dapr.it.spring.data.DaprSpringDataConstants.BINDING_NAME; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; /** * Integration tests for {@link MySQLDaprKeyValueTemplateIT}. */ @SuppressWarnings("AbbreviationAsWordInName") @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = TestDaprSpringDataConfiguration.class) @Testcontainers @Tag("testcontainers") public class MySQLDaprKeyValueTemplateIT { private static final String STATE_STORE_DSN = "mysql:password@tcp(mysql:3306)/"; private static final String BINDING_DSN = "mysql:password@tcp(mysql:3306)/dapr_db"; private static final Map STATE_STORE_PROPERTIES = createStateStoreProperties(); private static final Map BINDING_PROPERTIES = Map.of("url", BINDING_DSN); private static final Network DAPR_NETWORK = Network.newNetwork(); private static final WaitStrategy MYSQL_WAIT_STRATEGY = Wait .forLogMessage(".*port: 3306 MySQL Community Server \\(GPL\\).*", 1) .withStartupTimeout(Duration.of(60, ChronoUnit.SECONDS)); @Container private static final MySQLContainer MY_SQL_CONTAINER = new CustomMySQLContainer<>("mysql:5.7.34") .withNetworkAliases("mysql") .withDatabaseName("dapr_db") .withUsername("mysql") .withPassword("password") .withNetwork(DAPR_NETWORK) .waitingFor(MYSQL_WAIT_STRATEGY); @Container @ServiceConnection private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("mysql-dapr-app") .withNetwork(DAPR_NETWORK) .withComponent(new Component(STATE_STORE_NAME, "state.mysql", "v1", STATE_STORE_PROPERTIES)) .withComponent(new Component(BINDING_NAME, "bindings.mysql", "v1", BINDING_PROPERTIES)) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .dependsOn(MY_SQL_CONTAINER); private static Map createStateStoreProperties() { Map result = new HashMap<>(); result.put("keyPrefix", "name"); result.put("schemaName", "dapr_db"); result.put("actorStateStore", "true"); result.put("connectionString", STATE_STORE_DSN); return result; } @Autowired private DaprClient daprClient; @Autowired private DaprKeyValueTemplate keyValueTemplate; /** * Cleans up the state store after each test. */ @AfterEach public void tearDown() { var meta = Map.of("sql", "delete from state"); daprClient.invokeBinding(BINDING_NAME, "exec", null, meta).block(); } @Test public void testInsertAndQueryDaprKeyValueTemplate() { int itemId = 3; TestType savedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(savedType).isNotNull(); Optional findById = keyValueTemplate.findById(itemId, TestType.class); assertThat(findById.isEmpty()).isFalse(); assertThat(findById.get()).isEqualTo(savedType); KeyValueQuery keyValueQuery = new KeyValueQuery<>("content == 'test'"); Iterable myTypes = keyValueTemplate.find(keyValueQuery, TestType.class); assertThat(myTypes.iterator().hasNext()).isTrue(); TestType item = myTypes.iterator().next(); assertThat(item.getId()).isEqualTo(Integer.valueOf(itemId)); assertThat(item.getContent()).isEqualTo("test"); keyValueQuery = new KeyValueQuery<>("content == 'asd'"); myTypes = keyValueTemplate.find(keyValueQuery, TestType.class); assertThat(!myTypes.iterator().hasNext()).isTrue(); } @Test public void testInsertMoreThan10AndQueryDaprKeyValueTemplate() { int count = 10; List items = new ArrayList<>(); for (int i = 0; i < count; i++) { items.add(keyValueTemplate.insert(new TestType(i, "test"))); } KeyValueQuery keyValueQuery = new KeyValueQuery<>("content == 'test'"); keyValueQuery.setRows(100); keyValueQuery.setOffset(0); Iterable foundItems = keyValueTemplate.find(keyValueQuery, TestType.class); assertThat(foundItems.iterator().hasNext()).isTrue(); int index = 0; for (TestType foundItem : foundItems) { TestType item = items.get(index); assertEquals(item.getId(), foundItem.getId()); assertEquals(item.getContent(), foundItem.getContent()); index++; } assertEquals(index, items.size()); } @Test public void testUpdateDaprKeyValueTemplate() { int itemId = 2; TestType insertedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(insertedType).isNotNull(); TestType updatedType = keyValueTemplate.update(new TestType(itemId, "test2")); assertThat(updatedType).isNotNull(); } @Test public void testDeleteAllOfDaprKeyValueTemplate() { int itemId = 1; TestType insertedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(insertedType).isNotNull(); keyValueTemplate.delete(TestType.class); Optional result = keyValueTemplate.findById(itemId, TestType.class); assertThat(result).isEmpty(); } @Test public void testGetAllOfDaprKeyValueTemplate() { int itemId = 1; TestType insertedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(insertedType).isNotNull(); Iterable result = keyValueTemplate.findAll(TestType.class); assertThat(result.iterator().hasNext()).isTrue(); } @Test public void testCountDaprKeyValueTemplate() { int itemId = 1; TestType insertedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(insertedType).isNotNull(); long result = keyValueTemplate.count(TestType.class); assertThat(result).isEqualTo(1); } @Test public void testCountWithQueryDaprKeyValueTemplate() { int itemId = 1; TestType insertedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(insertedType).isNotNull(); KeyValueQuery keyValueQuery = new KeyValueQuery<>("content == 'test'"); keyValueQuery.setRows(100); keyValueQuery.setOffset(0); long result = keyValueTemplate.count(keyValueQuery, TestType.class); assertThat(result).isEqualTo(1); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/spring/data/PostgreSQLDaprKeyValueTemplateIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.spring.data; import io.dapr.client.DaprClient; import io.dapr.spring.data.DaprKeyValueTemplate; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.data.keyvalue.core.query.KeyValueQuery; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.testcontainers.containers.Network; import org.testcontainers.containers.PostgreSQLContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; import static io.dapr.it.spring.data.DaprSpringDataConstants.BINDING_NAME; import static io.dapr.it.spring.data.DaprSpringDataConstants.STATE_STORE_NAME; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; /** * Integration tests for {@link PostgreSQLDaprKeyValueTemplateIT}. */ @SuppressWarnings("AbbreviationAsWordInName") @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = TestDaprSpringDataConfiguration.class) @Testcontainers @Tag("testcontainers") public class PostgreSQLDaprKeyValueTemplateIT { private static final String CONNECTION_STRING = "host=postgres user=postgres password=password port=5432 connect_timeout=10 database=dapr_db"; private static final Map STATE_STORE_PROPERTIES = createStateStoreProperties(); private static final Map BINDING_PROPERTIES = Map.of("connectionString", CONNECTION_STRING); private static final Network DAPR_NETWORK = Network.newNetwork(); @Container private static final PostgreSQLContainer POSTGRE_SQL_CONTAINER = new PostgreSQLContainer<>("postgres:16-alpine") .withNetworkAliases("postgres") .withDatabaseName("dapr_db") .withUsername("postgres") .withPassword("password") .withNetwork(DAPR_NETWORK); @Container @ServiceConnection private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("postgresql-dapr-app") .withNetwork(DAPR_NETWORK) .withComponent(new Component(STATE_STORE_NAME, "state.postgresql", "v1", STATE_STORE_PROPERTIES)) .withComponent(new Component(BINDING_NAME, "bindings.postgresql", "v1", BINDING_PROPERTIES)) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .dependsOn(POSTGRE_SQL_CONTAINER); private static Map createStateStoreProperties() { Map result = new HashMap<>(); result.put("keyPrefix", "name"); result.put("actorStateStore", String.valueOf(true)); result.put("connectionString", CONNECTION_STRING); return result; } @Autowired private DaprClient daprClient; @Autowired private DaprKeyValueTemplate keyValueTemplate; @BeforeEach public void setUp() { var meta = Map.of("sql", "delete from state"); daprClient.invokeBinding(BINDING_NAME, "exec", null, meta).block(); } @Test public void testInsertAndQueryDaprKeyValueTemplate() { int itemId = 3; TestType savedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(savedType).isNotNull(); Optional findById = keyValueTemplate.findById(itemId, TestType.class); assertThat(findById.isEmpty()).isFalse(); assertThat(findById.get()).isEqualTo(savedType); KeyValueQuery keyValueQuery = new KeyValueQuery<>("content == 'test'"); Iterable myTypes = keyValueTemplate.find(keyValueQuery, TestType.class); assertThat(myTypes.iterator().hasNext()).isTrue(); TestType item = myTypes.iterator().next(); assertThat(item.getId()).isEqualTo(Integer.valueOf(itemId)); assertThat(item.getContent()).isEqualTo("test"); keyValueQuery = new KeyValueQuery<>("content == 'asd'"); myTypes = keyValueTemplate.find(keyValueQuery, TestType.class); assertThat(!myTypes.iterator().hasNext()).isTrue(); } @Test public void testInsertMoreThan10AndQueryDaprKeyValueTemplate() { int count = 10; List items = new ArrayList<>(); for (int i = 0; i < count; i++) { items.add(keyValueTemplate.insert(new TestType(i, "test"))); } KeyValueQuery keyValueQuery = new KeyValueQuery<>("content == 'test'"); keyValueQuery.setRows(100); keyValueQuery.setOffset(0); Iterable foundItems = keyValueTemplate.find(keyValueQuery, TestType.class); assertThat(foundItems.iterator().hasNext()).isTrue(); int index = 0; for (TestType foundItem : foundItems) { TestType item = items.get(index); assertEquals(item.getId(), foundItem.getId()); assertEquals(item.getContent(), foundItem.getContent()); index++; } assertEquals(index, items.size()); } @Test public void testUpdateDaprKeyValueTemplate() { int itemId = 2; TestType insertedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(insertedType).isNotNull(); TestType updatedType = keyValueTemplate.update(new TestType(itemId, "test2")); assertThat(updatedType).isNotNull(); } @Test public void testDeleteAllOfDaprKeyValueTemplate() { int itemId = 1; TestType insertedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(insertedType).isNotNull(); keyValueTemplate.delete(TestType.class); Optional result = keyValueTemplate.findById(itemId, TestType.class); assertThat(result).isEmpty(); } @Test public void testGetAllOfDaprKeyValueTemplate() { int itemId = 1; TestType insertedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(insertedType).isNotNull(); Iterable result = keyValueTemplate.findAll(TestType.class); assertThat(result.iterator().hasNext()).isTrue(); } @Test public void testCountDaprKeyValueTemplate() { int itemId = 1; TestType insertedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(insertedType).isNotNull(); long result = keyValueTemplate.count(TestType.class); assertThat(result).isEqualTo(1); } @Test public void testCountWithQueryDaprKeyValueTemplate() { int itemId = 1; TestType insertedType = keyValueTemplate.insert(new TestType(itemId, "test")); assertThat(insertedType).isNotNull(); KeyValueQuery keyValueQuery = new KeyValueQuery<>("content == 'test'"); keyValueQuery.setRows(100); keyValueQuery.setOffset(0); long result = keyValueTemplate.count(keyValueQuery, TestType.class); assertThat(result).isEqualTo(1); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/spring/data/TestDaprSpringDataConfiguration.java ================================================ package io.dapr.it.spring.data; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.spring.boot.autoconfigure.client.DaprClientAutoConfiguration; import io.dapr.spring.data.DaprKeyValueAdapterResolver; import io.dapr.spring.data.DaprKeyValueTemplate; import io.dapr.spring.data.KeyValueAdapterResolver; import io.dapr.spring.data.repository.config.EnableDaprRepositories; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @Configuration @EnableDaprRepositories @Import(DaprClientAutoConfiguration.class) public class TestDaprSpringDataConfiguration { @Bean public ObjectMapper mapper() { return new ObjectMapper(); } @Bean public KeyValueAdapterResolver keyValueAdapterResolver(DaprClient daprClient, ObjectMapper mapper) { String storeName = DaprSpringDataConstants.STATE_STORE_NAME; String bindingName = DaprSpringDataConstants.BINDING_NAME; return new DaprKeyValueAdapterResolver(daprClient, mapper, storeName, bindingName); } @Bean public DaprKeyValueTemplate daprKeyValueTemplate(KeyValueAdapterResolver keyValueAdapterResolver) { return new DaprKeyValueTemplate(keyValueAdapterResolver); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/spring/data/TestType.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.spring.data; import org.springframework.data.annotation.Id; import java.util.Objects; public class TestType { @Id private Integer id; private String content; public TestType() { } public TestType(Integer id, String content) { this.id = id; this.content = content; } public String getContent() { return content; } public Integer getId() { return id; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } TestType testType = (TestType) o; return Objects.equals(id, testType.id) && Objects.equals(content, testType.content); } @Override public int hashCode() { return Objects.hash(id, content); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/spring/data/TestTypeRepository.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.spring.data; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface TestTypeRepository extends CrudRepository { List findByContent(String content); } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/spring/messaging/DaprSpringMessagingIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.spring.messaging; import io.dapr.client.domain.CloudEvent; import io.dapr.spring.boot.autoconfigure.client.DaprClientAutoConfiguration; import io.dapr.spring.messaging.DaprMessagingTemplate; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.testcontainers.wait.strategy.DaprWait; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.util.Collections; import java.util.List; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest( webEnvironment = WebEnvironment.DEFINED_PORT, classes = { DaprClientAutoConfiguration.class, TestApplication.class }, properties = {"dapr.pubsub.name=pubsub"} ) @Testcontainers @Tag("testcontainers") public class DaprSpringMessagingIT { private static final Logger logger = LoggerFactory.getLogger(DaprSpringMessagingIT.class); private static final String PUBSUB_NAME = "pubsub"; private static final String TOPIC = "mockTopic"; private static final Network DAPR_NETWORK = Network.newNetwork(); private static final int APP_PORT = 8080; @Container @ServiceConnection private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("messaging-dapr-app") .withNetwork(DAPR_NETWORK) .withComponent(new Component("pubsub", "pubsub.in-memory", "v1", Collections.emptyMap())) .withAppPort(APP_PORT) .withAppHealthCheckPath("/ready") .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal"); @Autowired private DaprMessagingTemplate messagingTemplate; @Autowired private TestRestController testRestController; @BeforeAll public static void beforeAll(){ org.testcontainers.Testcontainers.exposeHostPorts(APP_PORT); } @BeforeEach public void beforeEach() { DaprWait.forSubscription(PUBSUB_NAME, TOPIC).waitUntilReady(DAPR_CONTAINER); } @Test public void testDaprMessagingTemplate() throws InterruptedException { for (int i = 0; i < 10; i++) { var msg = "ProduceAndReadWithPrimitiveMessageType:" + i; messagingTemplate.send(TOPIC, msg); logger.info("++++++PRODUCE {}------", msg); } // Wait for the messages to arrive Thread.sleep(1000); List> events = testRestController.getEvents(); assertThat(events.size()).isEqualTo(10); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/spring/messaging/TestApplication.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.spring.messaging; import io.dapr.client.DaprClient; import io.dapr.spring.boot.properties.pubsub.DaprPubSubProperties; import io.dapr.spring.messaging.DaprMessagingTemplate; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @SpringBootApplication public class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); } @Configuration @EnableConfigurationProperties(DaprPubSubProperties.class) static class DaprSpringMessagingConfiguration { @Bean public DaprMessagingTemplate messagingTemplate(DaprClient daprClient, DaprPubSubProperties daprPubSubProperties) { String pubsubName = daprPubSubProperties.getName(); boolean observationEnabled = daprPubSubProperties.isObservationEnabled(); return new DaprMessagingTemplate<>(daprClient, pubsubName, observationEnabled); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/spring/messaging/TestRestController.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.spring.messaging; import io.dapr.Topic; import io.dapr.client.domain.CloudEvent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @RestController public class TestRestController { public static final String pubSubName = "pubsub"; public static final String topicName = "mockTopic"; private static final Logger LOG = LoggerFactory.getLogger(TestRestController.class); private final List> events = new ArrayList<>(); @GetMapping("/ready") public String ok() { return "OK"; } @Topic(name = topicName, pubsubName = pubSubName) @PostMapping("/subscribe") public void handleMessages(@RequestBody CloudEvent event) { LOG.info("++++++CONSUME {}------", event); events.add(event); } public List> getEvents() { return events; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/state/AbstractStateClientIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.state; import com.fasterxml.jackson.core.JsonProcessingException; import io.dapr.client.DaprClient; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.QueryStateItem; import io.dapr.client.domain.QueryStateRequest; import io.dapr.client.domain.QueryStateResponse; import io.dapr.client.domain.SaveStateRequest; import io.dapr.client.domain.State; import io.dapr.client.domain.StateOptions; import io.dapr.client.domain.TransactionalStateOperation; import io.dapr.client.domain.query.Query; import io.dapr.client.domain.query.Sorting; import io.dapr.client.domain.query.filters.EqFilter; import io.dapr.exceptions.DaprException; import io.dapr.it.BaseIT; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import java.util.logging.Logger; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; /** * Common test cases for Dapr client (GRPC and HTTP). */ public abstract class AbstractStateClientIT extends BaseIT { private static final Logger logger = Logger.getLogger(AbstractStateClientIT.class.getName()); @Test public void saveAndGetState() { //The key use to store the state final String stateKey = "myKey"; //create the http client DaprClient daprClient = buildDaprClient(); //creation of a dummy data MyData data = new MyData(); data.setPropertyA("data in property A"); data.setPropertyB("data in property B"); //create of the deferred call to DAPR to store the state Mono saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, null, data, null); //execute the save action saveResponse.block(); //create of the deferred call to DAPR to get the state Mono> response = daprClient.getState(STATE_STORE_NAME, new State(stateKey), MyData.class); //retrieve the state State myDataResponse = response.block(); //Assert that the response is the correct one assertNotNull(myDataResponse.getEtag()); assertNotNull(myDataResponse.getKey()); assertNotNull(myDataResponse.getValue()); assertEquals("data in property A", myDataResponse.getValue().getPropertyA()); assertEquals("data in property B", myDataResponse.getValue().getPropertyB()); } @Test public void getStateKeyNotFound() { final String stateKey = "unknownKey"; DaprClient daprClient = buildDaprClient(); State state = (State) daprClient.getState(STATE_STORE_NAME, new State(stateKey), String.class).block(); assertNotNull(state); assertEquals("unknownKey", state.getKey()); assertNull(state.getValue()); assertNull(state.getEtag()); } @Test public void saveAndGetBulkState() { final String stateKeyOne = UUID.randomUUID().toString(); final String stateKeyTwo = UUID.randomUUID().toString(); final String stateKeyThree = "NotFound"; DaprClient daprClient = buildDaprClient(); MyData data = new MyData(); data.setPropertyA("data in property A"); data.setPropertyB("data in property B"); //saves the states. daprClient.saveState(STATE_STORE_NAME, stateKeyOne, "1", data, null).block(); daprClient.saveState(STATE_STORE_NAME, stateKeyTwo, null, null, null).block(); //retrieves states in bulk. Mono>> response = daprClient.getBulkState(STATE_STORE_NAME, Arrays.asList(stateKeyOne, stateKeyTwo, stateKeyThree), MyData.class); List> result = response.block(); //Assert that the response is the correct one assertEquals(3, result.size()); assertEquals(stateKeyOne, result.stream().findFirst().get().getKey()); assertEquals(data, result.stream().findFirst().get().getValue()); assertEquals("1", result.stream().findFirst().get().getEtag()); assertNull(result.stream().findFirst().get().getError()); assertEquals(stateKeyTwo, result.stream().skip(1).findFirst().get().getKey()); assertNull(result.stream().skip(1).findFirst().get().getValue()); assertEquals("1", result.stream().skip(1).findFirst().get().getEtag()); assertNull(result.stream().skip(1).findFirst().get().getError()); assertEquals(stateKeyThree, result.stream().skip(2).findFirst().get().getKey()); assertNull(result.stream().skip(2).findFirst().get().getValue()); assertNull(result.stream().skip(2).findFirst().get().getEtag()); assertNull(result.stream().skip(2).findFirst().get().getError()); } @Test public void saveAndQueryAndDeleteState() throws JsonProcessingException { final String stateKeyOne = UUID.randomUUID().toString(); final String stateKeyTwo = UUID.randomUUID().toString(); final String stateKeyThree = UUID.randomUUID().toString(); final String commonSearchValue = UUID.randomUUID().toString(); Map meta = new HashMap<>(); meta.put("contentType", "application/json"); DaprClient daprClient = buildDaprClient(); DaprPreviewClient previewApiClient = (DaprPreviewClient) daprClient; //saves the states. MyData data = new MyData(); data.setPropertyA(commonSearchValue); data.setPropertyB("query"); State state = new State<>(stateKeyOne, data, null, meta, null ); SaveStateRequest request = new SaveStateRequest(QUERY_STATE_STORE).setStates(state); daprClient.saveBulkState(request).block(); data = new MyData(); data.setPropertyA(commonSearchValue); data.setPropertyB("query"); state = new State<>(stateKeyTwo, data, null, meta, null ); request = new SaveStateRequest(QUERY_STATE_STORE).setStates(state); daprClient.saveBulkState(request).block(); data = new MyData(); data.setPropertyA("CA"); data.setPropertyB("no query"); state = new State<>(stateKeyThree, data, null, meta, null ); request = new SaveStateRequest(QUERY_STATE_STORE).setStates(state); daprClient.saveBulkState(request).block(); QueryStateRequest queryStateRequest = new QueryStateRequest(QUERY_STATE_STORE); Query query = new Query().setFilter(new EqFilter<>("propertyA", commonSearchValue)) .setSort(Arrays.asList(new Sorting("propertyB", Sorting.Order.ASC))); queryStateRequest.setQuery(query).setMetadata(meta); Mono> response = previewApiClient.queryState(queryStateRequest, MyData.class); QueryStateResponse result = response.block(); // Assert that the response is not null assertNotNull(result); List> items = result.getResults(); assertNotNull(items); QueryStateItem item; //Assert that the response is the correct one assertEquals(2, items.size()); assertTrue(items.stream().anyMatch(f -> f.getKey().equals(stateKeyOne))); item = items.stream().filter(f -> f.getKey().equals(stateKeyOne)).findFirst().get(); assertNotNull(item); assertEquals(commonSearchValue, item.getValue().getPropertyA()); assertEquals("query", item.getValue().getPropertyB()); assertNull(item.getError()); assertTrue(items.stream().anyMatch(f -> f.getKey().equals(stateKeyTwo))); item = items.stream().filter(f -> f.getKey().equals(stateKeyTwo)).findFirst().get(); assertEquals(commonSearchValue, item.getValue().getPropertyA()); assertEquals("query", item.getValue().getPropertyB()); assertNull(item.getError()); assertFalse(items.stream().anyMatch(f -> f.getKey().equals(stateKeyThree))); assertEquals(2L, items.stream().filter(f -> f.getValue().getPropertyB().equals("query")).count()); //delete all states daprClient.deleteState(QUERY_STATE_STORE, stateKeyOne).block(); daprClient.deleteState(QUERY_STATE_STORE, stateKeyTwo).block(); daprClient.deleteState(QUERY_STATE_STORE, stateKeyThree).block(); } @Test public void saveUpdateAndGetState() { //The key use to store the state and be updated final String stateKey = "keyToBeUpdated"; //create http DAPR client DaprClient daprClient = buildDaprClient(); //Create dummy data to be store MyData data = new MyData(); data.setPropertyA("data in property A"); data.setPropertyB("data in property B"); //Create deferred action to save the sate Mono saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, null, data, null); //execute save action to DAPR saveResponse.block(); //change data properties data.setPropertyA("data in property A"); data.setPropertyB("data in property B2"); //create deferred action to update the sate without any etag or options saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, null, data, null); //execute the update action to DAPR saveResponse.block(); //Create deferred action to retrieve the action Mono> response = daprClient.getState(STATE_STORE_NAME, new State<>(stateKey, (MyData) null, null), MyData.class); //execute the retrieve of the state State myDataResponse = response.block(); //review that the update was success action assertNotNull(myDataResponse, "expected non null response"); assertEquals("data in property A", myDataResponse.getValue().getPropertyA()); assertEquals("data in property B2", myDataResponse.getValue().getPropertyB()); } @Test public void saveAndDeleteState() { //The key use to store the state and be deleted final String stateKey = "myeKeyToBeDeleted"; //create DAPR client DaprClient daprClient = buildDaprClient(); //Create dummy data to be store MyData data = new MyData(); data.setPropertyA("data in property A"); data.setPropertyB("data in property B"); //Create deferred action to save the sate Mono saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, null, data, null); //execute the save state action saveResponse.block(); //Create deferred action to retrieve the state Mono> response = daprClient.getState(STATE_STORE_NAME, new State<>(stateKey, (MyData) null, null), MyData.class); //execute the retrieve of the state State myDataResponse = response.block(); //review that the state was saved correctly assertEquals("data in property A", myDataResponse.getValue().getPropertyA()); assertEquals("data in property B", myDataResponse.getValue().getPropertyB()); //create deferred action to delete the state Mono deleteResponse = daprClient.deleteState(STATE_STORE_NAME, stateKey, null, null); //execute the delete action deleteResponse.block(); //Create deferred action to retrieve the state response = daprClient.getState(STATE_STORE_NAME, new State<>(stateKey, (MyData) null, null), MyData.class); //execute the retrieve of the state myDataResponse = response.block(); //review that the action does not return any value, because the state was deleted assertNull(myDataResponse.getValue()); } @Test public void saveUpdateAndGetStateWithEtag() { //The key use to store the state and be updated using etags final String stateKey = "keyToBeUpdatedWithEtag"; //create DAPR client DaprClient daprClient = buildDaprClient(); //Create dummy data to be store MyData data = new MyData(); data.setPropertyA("data in property A"); data.setPropertyB("data in property B"); //Create deferred action to save the sate Mono saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, null, data, null); //execute the save state action saveResponse.block(); //Create deferred action to retrieve the state Mono> response = daprClient.getState(STATE_STORE_NAME, new State<>(stateKey, (MyData) null, null), MyData.class); //execute the action for retrieve the state and the etag State myDataResponse = response.block(); //review that the etag is not empty assertNotNull(myDataResponse.getEtag()); assertNotNull(myDataResponse.getKey()); assertNotNull(myDataResponse.getValue()); assertEquals("data in property A", myDataResponse.getValue().getPropertyA()); assertEquals("data in property B", myDataResponse.getValue().getPropertyB()); String firstETag = myDataResponse.getEtag(); //change the data in order to update the state data.setPropertyA("data in property A2"); data.setPropertyB("data in property B2"); //Create deferred action to update the data using the correct etag saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, myDataResponse.getEtag(), data, null); saveResponse.block(); response = daprClient.getState(STATE_STORE_NAME, new State<>(stateKey, (MyData) null, null), MyData.class); //retrieve the data without any etag myDataResponse = response.block(); //review that state value changes assertNotNull(myDataResponse.getEtag()); //review that the etag changes after an update assertNotEquals(firstETag, myDataResponse.getEtag()); assertNotNull(myDataResponse.getKey()); assertNotNull(myDataResponse.getValue()); assertEquals("data in property A2", myDataResponse.getValue().getPropertyA()); assertEquals("data in property B2", myDataResponse.getValue().getPropertyB()); } @Test public void saveUpdateAndGetNullStateWithEtag() { // The key use to store the state and be updated using etags final String stateKey = UUID.randomUUID().toString(); DaprClient daprClient = buildDaprClient(); MyData data = new MyData(); data.setPropertyA("data in property A"); data.setPropertyB("data in property B"); // Get state to validate case for key not found. State stateNotFound = daprClient.getState(STATE_STORE_NAME, stateKey, MyData.class).block(); assertEquals(stateKey, stateNotFound.getKey()); assertNull(stateNotFound.getValue()); assertNull(stateNotFound.getEtag()); assertNull(stateNotFound.getOptions()); assertNull(stateNotFound.getError()); assertEquals(0, stateNotFound.getMetadata().size()); // Set non null value daprClient.saveState(STATE_STORE_NAME, stateKey, null, data, null).block(); // Get state to validate case for key with value. State stateFound = daprClient.getState(STATE_STORE_NAME, stateKey, MyData.class).block(); assertEquals(stateKey, stateFound.getKey()); assertNotNull(stateFound.getValue()); assertEquals("data in property A", stateFound.getValue().getPropertyA()); assertEquals("data in property B", stateFound.getValue().getPropertyB()); assertNotNull(stateFound.getEtag()); assertFalse(stateFound.getEtag().isEmpty()); assertNull(stateFound.getOptions()); assertNull(stateFound.getError()); assertEquals(0, stateFound.getMetadata().size()); // Set to null value daprClient.saveState(STATE_STORE_NAME, stateKey, null, null, null).block(); // Get state to validate case for key not found. State stateNullValue = daprClient.getState(STATE_STORE_NAME, stateKey, MyData.class).block(); assertEquals(stateKey, stateNullValue.getKey()); assertNull(stateNullValue.getValue()); assertNotNull(stateNullValue.getEtag()); assertFalse(stateNullValue.getEtag().isEmpty()); assertNull(stateNullValue.getOptions()); assertNull(stateNullValue.getError()); assertEquals(0, stateNullValue.getMetadata().size()); } @Test public void saveUpdateAndGetStateWithWrongEtag() { final String stateKey = "keyToBeUpdatedWithWrongEtag"; //create DAPR client DaprClient daprClient = buildDaprClient(); //Create dummy data to be store MyData data = new MyData(); data.setPropertyA("data in property A"); data.setPropertyB("data in property B"); //Create deferred action to save the state Mono saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, null, data, null); //execute the save state action saveResponse.block(); //Create deferred action to retrieve the state Mono> response = daprClient.getState(STATE_STORE_NAME, new State<>(stateKey, (MyData) null, null), MyData.class); //execute the action for retrieve the state and the etag State myDataResponse = response.block(); //review that the etag is not empty assertNotNull(myDataResponse.getEtag()); assertNotNull(myDataResponse.getKey()); assertNotNull(myDataResponse.getValue()); assertEquals("data in property A", myDataResponse.getValue().getPropertyA()); assertEquals("data in property B", myDataResponse.getValue().getPropertyB()); String firstETag = myDataResponse.getEtag(); //change the data in order to update the state data.setPropertyA("data in property A2"); data.setPropertyB("data in property B2"); //Create deferred action to update the data using the incorrect etag saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, "99999999999999", data, null); Mono finalSaveResponse = saveResponse; assertThrows(RuntimeException.class, finalSaveResponse::block); } @Test public void saveAndDeleteStateWithEtag() { final String stateKey = "myeKeyToBeDeletedWithEtag"; //create DAPR client DaprClient daprClient = buildDaprClient(); //Create dummy data to be store MyData data = new MyData(); data.setPropertyA("data in property A"); data.setPropertyB("data in property B"); //Create deferred action to save the sate Mono saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, null, data, null); //execute the save state action saveResponse.block(); //Create deferred action to get the state with the etag Mono> response = daprClient.getState(STATE_STORE_NAME, new State<>(stateKey, (MyData) null, null), MyData.class); //execute the get state State myDataResponse = response.block(); assertNotNull(myDataResponse.getEtag()); assertNotNull(myDataResponse.getKey()); assertNotNull(myDataResponse.getValue()); assertEquals("data in property A", myDataResponse.getValue().getPropertyA()); assertEquals("data in property B", myDataResponse.getValue().getPropertyB()); //Create deferred action to delete an state sending the etag Mono deleteResponse = daprClient.deleteState(STATE_STORE_NAME, stateKey, myDataResponse.getEtag(), null); //execute the delete of the state deleteResponse.block(); //Create deferred action to get the sate without an etag response = daprClient.getState(STATE_STORE_NAME, new State(stateKey), MyData.class); myDataResponse = response.block(); //Review that the response is null, because the state was deleted assertNull(myDataResponse.getValue()); } @Test public void saveAndDeleteStateWithWrongEtag() { final String stateKey = "myeKeyToBeDeletedWithWrongEtag"; //create DAPR client DaprClient daprClient = buildDaprClient(); //Create dummy data to be store MyData data = new MyData(); data.setPropertyA("data in property A"); data.setPropertyB("data in property B"); //Create deferred action to save the sate Mono saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, null, data, null); //execute the save state action saveResponse.block(); //Create deferred action to get the state with the etag Mono> response = daprClient.getState(STATE_STORE_NAME, new State<>(stateKey, (MyData) null, null), MyData.class); //execute the get state State myDataResponse = response.block(); assertNotNull(myDataResponse.getEtag()); assertNotNull(myDataResponse.getKey()); assertNotNull(myDataResponse.getValue()); assertEquals("data in property A", myDataResponse.getValue().getPropertyA()); assertEquals("data in property B", myDataResponse.getValue().getPropertyB()); //Create deferred action to delete an state sending the incorrect etag Mono deleteResponse = daprClient.deleteState(STATE_STORE_NAME, stateKey, "99999999999", null); //execute the delete of the state, this should throw an exception assertThrows(RuntimeException.class, deleteResponse::block); } @Test public void saveUpdateAndGetStateWithEtagAndStateOptionsFirstWrite() { final String stateKey = "keyToBeUpdatedWithEtagAndOptions"; //create option with concurrency with first write and consistency of strong StateOptions stateOptions = new StateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.FIRST_WRITE); //create dapr client DaprClient daprClient = buildDaprClient(); //create Dummy data MyData data = new MyData(); data.setPropertyA("data in property A"); data.setPropertyB("data in property B"); //create state using stateOptions Mono saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, null, data, stateOptions); //execute the save state saveResponse.block(); //create deferred action to retrieve the state Mono> response = daprClient.getState(STATE_STORE_NAME, new State(stateKey, null, stateOptions), MyData.class); //execute the retrieve of the state using options State myDataResponse = response.block(); assertNotNull(myDataResponse.getEtag()); assertNotNull(myDataResponse.getKey()); assertNotNull(myDataResponse.getValue()); assertEquals("data in property A", myDataResponse.getValue().getPropertyA()); assertEquals("data in property B", myDataResponse.getValue().getPropertyB()); //change data to be updated data.setPropertyA("data in property A2"); data.setPropertyB("data in property B2"); //create deferred action to update the action with options saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, myDataResponse.getEtag(), data, stateOptions); //update the state saveResponse.block(); data.setPropertyA("last write"); data.setPropertyB("data in property B2"); //create deferred action to update the action with the same etag saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, myDataResponse.getEtag(), data, stateOptions); //throws an exception, the state was already updated Mono finalSaveResponse2 = saveResponse; assertThrows(RuntimeException.class, () -> finalSaveResponse2.block()); response = daprClient.getState(STATE_STORE_NAME, new State(stateKey, null, stateOptions), MyData.class); State myLastDataResponse = response.block(); assertNotNull(myLastDataResponse.getEtag()); assertNotNull(myLastDataResponse.getKey()); assertNotNull(myLastDataResponse.getValue()); assertNotNull(myDataResponse.getEtag(), myLastDataResponse.getEtag()); assertEquals("data in property A2", myLastDataResponse.getValue().getPropertyA()); assertEquals("data in property B2", myLastDataResponse.getValue().getPropertyB()); } @Test() public void saveUpdateAndGetStateWithEtagAndStateOptionsLastWrite() { final String stateKey = "keyToBeUpdatedWithEtagAndOptions"; //create option with concurrency with first write and consistency of strong StateOptions stateOptions = new StateOptions(StateOptions.Consistency.STRONG, StateOptions.Concurrency.LAST_WRITE); //create dapr client DaprClient daprClient = buildDaprClient(); //create Dummy data MyData data = new MyData(); data.setPropertyA("data in property A"); data.setPropertyB("data in property B"); //create state using stateOptions Mono saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, null, data, stateOptions); //execute the save state saveResponse.block(); //crate deferred action to retrieve the state Mono> response = daprClient.getState(STATE_STORE_NAME, new State(stateKey, null, stateOptions), MyData.class); //execute the retrieve of the state using options State myDataResponse = response.block(); assertNotNull(myDataResponse.getEtag()); assertNotNull(myDataResponse.getKey()); assertNotNull(myDataResponse.getValue()); assertEquals("data in property A", myDataResponse.getValue().getPropertyA()); assertEquals("data in property B", myDataResponse.getValue().getPropertyB()); //change data to be updated data.setPropertyA("data in property A2"); data.setPropertyB("data in property B2"); //create deferred action to update the action with options saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, myDataResponse.getEtag(), data, stateOptions); //update the state saveResponse.block(); data.setPropertyA("last write"); data.setPropertyB("data in property B2"); //create deferred action to update the action with the same etag saveResponse = daprClient.saveState(STATE_STORE_NAME, stateKey, myDataResponse.getEtag(), data, stateOptions); //update the state without an error saveResponse.block(); response = daprClient.getState(STATE_STORE_NAME, new State(stateKey, null, stateOptions), MyData.class); State myLastDataResponse = response.block(); assertNotNull(myLastDataResponse.getEtag()); assertNotNull(myLastDataResponse.getKey()); assertNotNull(myLastDataResponse.getValue()); assertNotNull(myDataResponse.getEtag(), myLastDataResponse.getEtag()); assertEquals("last write", myLastDataResponse.getValue().getPropertyA()); assertEquals("data in property B2", myLastDataResponse.getValue().getPropertyB()); } @Test public void saveVerifyAndDeleteTransactionalStateString() { //create dapr client DaprClient daprClient = buildDaprClient(); //The key use to store the state final String stateKey = "myTKey"; //creation of a dummy data String data = "my state 3"; TransactionalStateOperation operation = createTransactionalStateOperation( TransactionalStateOperation.OperationType.UPSERT, createState(stateKey, null, null, data)); //create of the deferred call to DAPR to execute the transaction Mono saveResponse = daprClient.executeStateTransaction(STATE_STORE_NAME, Collections.singletonList(operation)); //execute the save action saveResponse.block(); //create of the deferred call to DAPR to get the state Mono> response = daprClient.getState(STATE_STORE_NAME, new State(stateKey), String.class); //retrieve the state State myDataResponse = response.block(); //Assert that the response is the correct one assertNotNull(myDataResponse.getEtag()); assertNotNull(myDataResponse.getKey()); assertNotNull(myDataResponse.getValue()); assertEquals("my state 3", myDataResponse.getValue()); operation = createTransactionalStateOperation( TransactionalStateOperation.OperationType.DELETE, createState(stateKey, null, null, data)); //create of the deferred call to DAPR to execute the transaction Mono deleteResponse = daprClient.executeStateTransaction(STATE_STORE_NAME, Collections.singletonList(operation)); //execute the delete action deleteResponse.block(); response = daprClient.getState(STATE_STORE_NAME, new State(stateKey), String.class); State deletedData = response.block(); //Review that the response is null, because the state was deleted assertNull(deletedData.getValue()); } @Test public void saveVerifyAndDeleteTransactionalState() { //create dapr client DaprClient daprClient = buildDaprClient(); //The key use to store the state final String stateKey = "myTKey"; //creation of a dummy data MyData data = new MyData(); data.setPropertyA("data in property AA"); data.setPropertyB("data in property BA"); TransactionalStateOperation operation = createTransactionalStateOperation( TransactionalStateOperation.OperationType.UPSERT, createState(stateKey, null, null, data)); assertNotNull(daprClient); //create of the deferred call to DAPR to execute the transaction Mono saveResponse = daprClient.executeStateTransaction(STATE_STORE_NAME, Collections.singletonList(operation)); //execute the save action saveResponse.block(); //create of the deferred call to DAPR to get the state Mono> response = daprClient.getState(STATE_STORE_NAME, new State(stateKey), MyData.class); //retrieve the state State myDataResponse = response.block(); //Assert that the response is the correct one assertNotNull(myDataResponse.getEtag()); assertNotNull(myDataResponse.getKey()); assertNotNull(myDataResponse.getValue()); assertEquals("data in property AA", myDataResponse.getValue().getPropertyA()); assertEquals("data in property BA", myDataResponse.getValue().getPropertyB()); operation = createTransactionalStateOperation( TransactionalStateOperation.OperationType.DELETE, createState(stateKey, null, null, data)); //create of the deferred call to DAPR to execute the transaction Mono deleteResponse = daprClient.executeStateTransaction(STATE_STORE_NAME, Collections.singletonList(operation)); //execute the delete action deleteResponse.block(); response = daprClient.getState(STATE_STORE_NAME, new State(stateKey), MyData.class); State deletedData = response.block(); //Review that the response is null, because the state was deleted assertNull(deletedData.getValue()); } @Test public void testInvalidEtag() { DaprClient daprClient = buildDaprClient(); DaprException exception = assertThrows(DaprException.class, () -> daprClient.saveState(STATE_STORE_NAME, "myKey", "badEtag", "value", null).block()); assertNotNull(exception.getMessage()); // This will assert that eTag is parsed correctly and is not corrupted. The quotation from runtime helps here. assertTrue(exception.getMessage().contains("\"badEtag\"")); } private TransactionalStateOperation createTransactionalStateOperation( TransactionalStateOperation.OperationType type, State state) { return new TransactionalStateOperation<>(type, state); } private State createState(String stateKey, String etag, StateOptions options, T data) { return new State<>(stateKey, data, etag, options); } protected abstract DaprClient buildDaprClient(); } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/state/GRPCStateClientIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.state; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.State; import io.dapr.it.DaprRun; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import java.util.Collections; import static io.dapr.it.TestUtils.assertThrowsDaprException; /** * Test State GRPC DAPR capabilities using a DAPR instance with an empty service running */ public class GRPCStateClientIT extends AbstractStateClientIT { private static DaprRun daprRun; private static DaprClient daprClient; @BeforeAll public static void init() throws Exception { daprRun = startDaprApp(GRPCStateClientIT.class.getSimpleName(), 5000); daprClient = daprRun.newDaprClientBuilder().build(); } @AfterAll public static void tearDown() throws Exception { daprClient.close(); } @Override protected DaprClient buildDaprClient() { return daprClient; } /** Tests where HTTP and GRPC behavior differ in Dapr runtime. **/ @Test public void getStateStoreNotFound() { final String stateKey = "key"; DaprClient daprClient = buildDaprClient(); // DaprException is guaranteed in the Dapr SDK but getCause() is null in HTTP while present in GRPC implementation. assertThrowsDaprException( "INVALID_ARGUMENT", "INVALID_ARGUMENT: state store unknown state store is not found", () -> daprClient.getState("unknown state store", new State(stateKey), byte[].class).block()); } @Test public void getStatesStoreNotFound() { final String stateKey = "key"; DaprClient daprClient = buildDaprClient(); // DaprException is guaranteed in the Dapr SDK but getCause() is null in HTTP while present in GRPC implementation. assertThrowsDaprException( "INVALID_ARGUMENT", "INVALID_ARGUMENT: state store unknown state store is not found", () -> daprClient.getBulkState( "unknown state store", Collections.singletonList(stateKey), byte[].class).block()); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/state/HelloWorldClientIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.state; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.v1.DaprGrpc; import io.dapr.v1.DaprStateProtos; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class HelloWorldClientIT extends BaseIT { @Test public void testHelloWorldState() throws Exception { DaprRun daprRun = startDaprApp( HelloWorldClientIT.class.getSimpleName(), HelloWorldGrpcStateService.SUCCESS_MESSAGE, HelloWorldGrpcStateService.class, false, 2000 ); try (var client = daprRun.newDaprClientBuilder().build()) { var stub = client.newGrpcStub("n/a", DaprGrpc::newBlockingStub); String key = "mykey"; { DaprStateProtos.GetStateRequest req = DaprStateProtos.GetStateRequest .newBuilder() .setStoreName(STATE_STORE_NAME) .setKey(key) .build(); DaprStateProtos.GetStateResponse response = stub.getState(req); String value = response.getData().toStringUtf8(); System.out.println("Got: " + value); Assertions.assertEquals("Hello World", value); } // Then, delete it. { DaprStateProtos.DeleteStateRequest req = DaprStateProtos.DeleteStateRequest .newBuilder() .setStoreName(STATE_STORE_NAME) .setKey(key) .build(); stub.deleteState(req); System.out.println("Deleted!"); } { DaprStateProtos.GetStateRequest req = DaprStateProtos.GetStateRequest .newBuilder() .setStoreName(STATE_STORE_NAME) .setKey(key) .build(); DaprStateProtos.GetStateResponse response = stub.getState(req); String value = response.getData().toStringUtf8(); System.out.println("Got: " + value); Assertions.assertEquals("", value); } } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/state/HelloWorldGrpcStateService.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.state; import com.google.protobuf.ByteString; import io.dapr.client.DaprClientBuilder; import io.dapr.config.Properties; import io.dapr.internal.grpc.DaprClientGrpcInterceptors; import io.dapr.v1.CommonProtos.StateItem; import io.dapr.v1.DaprGrpc; import io.dapr.v1.DaprGrpc.DaprBlockingStub; import io.dapr.v1.DaprStateProtos.SaveStateRequest; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; /** * Simple example. * To run manually, from repo root: * 1. mvn clean install * 2. dapr run --resources-path ./components --dapr-grpc-port 50001 -- mvn exec:java -Dexec.mainClass=io.dapr.it.state.HelloWorldGrpcStateService -Dexec.classpathScope="test" -pl=sdk */ public class HelloWorldGrpcStateService { public static final String SUCCESS_MESSAGE = "Hello from " + HelloWorldGrpcStateService.class.getSimpleName(); public static void main(String[] args) { String grpcPort = System.getenv("DAPR_GRPC_PORT"); // If port string is not valid, it will throw an exception. int grpcPortInt = Integer.parseInt(grpcPort); ManagedChannel channel = ManagedChannelBuilder.forAddress( Properties.SIDECAR_IP.get(), grpcPortInt).usePlaintext().build(); DaprClientGrpcInterceptors interceptors = new DaprClientGrpcInterceptors( Properties.API_TOKEN.get(), null); DaprBlockingStub client = interceptors.intercept(DaprGrpc.newBlockingStub(channel)); String key = "mykey"; // First, write key-value pair. String value = "Hello World"; StateItem req = StateItem .newBuilder() .setKey(key) .setValue(ByteString.copyFromUtf8(value)) .build(); SaveStateRequest state = SaveStateRequest.newBuilder() .setStoreName("statestore") .addStates(req) .build(); client.saveState(state); System.out.println("Saved!"); channel.shutdown(); System.out.println(SUCCESS_MESSAGE); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/state/MyData.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.state; import java.util.Objects; public class MyData { /// Gets or sets the value for PropertyA. private String propertyA; /// Gets or sets the value for PropertyB. private String propertyB; public String getPropertyB() { return propertyB; } public void setPropertyB(String propertyB) { this.propertyB = propertyB; } public String getPropertyA() { return propertyA; } public void setPropertyA(String propertyA) { this.propertyA = propertyA; } @Override public String toString() { return "MyData{" + "propertyA='" + propertyA + '\'' + ", propertyB='" + propertyB + '\'' + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; MyData myData = (MyData) o; return Objects.equals(propertyA, myData.propertyA) && Objects.equals(propertyB, myData.propertyB); } @Override public int hashCode() { return Objects.hash(propertyA, propertyB); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/ContainerConstants.java ================================================ package io.dapr.it.testcontainers; import io.dapr.testcontainers.DaprContainerConstants; public interface ContainerConstants { String DAPR_RUNTIME_IMAGE_TAG = DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; String DAPR_PLACEMENT_IMAGE_TAG = DaprContainerConstants.DAPR_PLACEMENT_IMAGE_TAG; String DAPR_SCHEDULER_IMAGE_TAG = DaprContainerConstants.DAPR_SCHEDULER_IMAGE_TAG; String TOXI_PROXY_IMAGE_TAG = "ghcr.io/shopify/toxiproxy:2.5.0"; String JDK_17_TEMURIN_JAMMY = "eclipse-temurin:17-jdk-jammy"; } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/DaprClientConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.config.Properties; import io.dapr.config.Property; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Map; @Configuration public class DaprClientConfiguration { @Bean public DaprClient daprClient( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map, String> overrides = Map.of( Properties.HTTP_ENDPOINT, daprHttpEndpoint, Properties.GRPC_ENDPOINT, daprGrpcEndpoint ); return new DaprClientBuilder().withPropertyOverrides(overrides).build(); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/DaprClientFactory.java ================================================ package io.dapr.it.testcontainers; import io.dapr.client.DaprClientBuilder; import io.dapr.config.Properties; import io.dapr.testcontainers.DaprContainer; public interface DaprClientFactory { static DaprClientBuilder createDaprClientBuilder(DaprContainer daprContainer) { return new DaprClientBuilder() .withPropertyOverride(Properties.HTTP_ENDPOINT, "http://localhost:" + daprContainer.getHttpPort()) .withPropertyOverride(Properties.GRPC_ENDPOINT, "http://localhost:" + daprContainer.getGrpcPort()); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/DaprPreviewClientConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.config.Properties; import io.dapr.config.Property; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Map; @Configuration public class DaprPreviewClientConfiguration { @Bean public DaprPreviewClient daprPreviewClient( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map, String> overrides = Map.of( Properties.HTTP_ENDPOINT, daprHttpEndpoint, Properties.GRPC_ENDPOINT, daprGrpcEndpoint ); return new DaprClientBuilder().withPropertyOverrides(overrides).buildPreviewClient(); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/SubscriptionsRestController.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers; import io.dapr.client.domain.CloudEvent; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @RestController public class SubscriptionsRestController { private final List> events = new ArrayList<>(); @PostMapping(path = "/events", consumes = "application/cloudevents+json") public void receiveEvents(@RequestBody CloudEvent event) { events.add(event); } @GetMapping(path = "/events", produces = "application/cloudevents+json") public List> getAllEvents() { return events; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/actors/DaprActorsIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorClient; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.actors.runtime.ActorRuntime; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.testcontainers.internal.DaprContainerFactory; import io.dapr.testcontainers.internal.DaprSidecarContainer; import io.dapr.testcontainers.internal.spring.DaprSpringBootTest; import io.dapr.testcontainers.wait.strategy.DaprWait; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import java.util.Map; import java.util.UUID; import static org.junit.jupiter.api.Assertions.assertEquals; @DaprSpringBootTest(classes = {TestActorsApplication.class, TestDaprActorsConfiguration.class}) @Tag("testcontainers") public class DaprActorsIT { @DaprSidecarContainer private static final DaprContainer DAPR_CONTAINER = DaprContainerFactory.createForSpringBootTest("actor-dapr-app") .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())); @Autowired private ActorClient daprActorClient; @Autowired private ActorRuntime daprActorRuntime; @BeforeEach public void setUp() { org.testcontainers.Testcontainers.exposeHostPorts(DAPR_CONTAINER.getAppPort()); daprActorRuntime.registerActor(TestActorImpl.class); DaprWait.forActors().waitUntilReady(DAPR_CONTAINER); } @Test public void testActors() { ActorProxyBuilder builder = new ActorProxyBuilder<>(TestActor.class, daprActorClient); ActorId actorId = ActorId.createRandom(); TestActor actor = builder.build(actorId); String message = UUID.randomUUID().toString(); String echoedMessage = actor.echo(message); assertEquals(echoedMessage, message); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/actors/TestActor.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.actors; import io.dapr.actors.ActorMethod; import io.dapr.actors.ActorType; @ActorType(name = "TestActor") public interface TestActor { @ActorMethod(name = "echo_message") String echo(String message); } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/actors/TestActorImpl.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.actors; import io.dapr.actors.ActorId; import io.dapr.actors.runtime.AbstractActor; import io.dapr.actors.runtime.ActorRuntimeContext; public class TestActorImpl extends AbstractActor implements TestActor { public TestActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); } @Override public String echo(String message) { return message; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/actors/TestActorsApplication.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.actors; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class TestActorsApplication { public static void main(String[] args) { SpringApplication.run(TestActorsApplication.class, args); } //Mocking the actuator health endpoint for the sidecar health check @GetMapping("/actuator/health") public String health(){ return "OK"; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/actors/TestDaprActorsConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.actors; import java.util.Map; import io.dapr.actors.runtime.ActorRuntime; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import io.dapr.actors.client.ActorClient; import io.dapr.config.Properties; @Configuration public class TestDaprActorsConfiguration { @Bean public ActorClient daprActorClient( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map overrides = Map.of( "dapr.http.endpoint", daprHttpEndpoint, "dapr.grpc.endpoint", daprGrpcEndpoint ); return new ActorClient(new Properties(overrides)); } @Bean public ActorRuntime daprActorRuntime( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map overrides = Map.of( "dapr.http.endpoint", daprHttpEndpoint, "dapr.grpc.endpoint", daprGrpcEndpoint ); return ActorRuntime.getInstance(new Properties(overrides)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/conversations/DaprConversationAlpha2IT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.conversations; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.AssistantMessage; import io.dapr.client.domain.ConversationInputAlpha2; import io.dapr.client.domain.ConversationMessage; import io.dapr.client.domain.ConversationMessageContent; import io.dapr.client.domain.ConversationRequestAlpha2; import io.dapr.client.domain.ConversationResponseAlpha2; import io.dapr.client.domain.ConversationResultAlpha2; import io.dapr.client.domain.ConversationResultChoices; import io.dapr.client.domain.ConversationToolCalls; import io.dapr.client.domain.ConversationToolCallsOfFunction; import io.dapr.client.domain.ConversationTools; import io.dapr.client.domain.ConversationToolsFunction; import io.dapr.client.domain.DeveloperMessage; import io.dapr.client.domain.SystemMessage; import io.dapr.client.domain.ToolMessage; import io.dapr.client.domain.UserMessage; import io.dapr.it.testcontainers.DaprPreviewClientConfiguration; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @SpringBootTest( webEnvironment = WebEnvironment.RANDOM_PORT, classes = { DaprPreviewClientConfiguration.class, TestConversationApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprConversationAlpha2IT { private static final Network DAPR_NETWORK = Network.newNetwork(); private static final Random RANDOM = new Random(); private static final int PORT = RANDOM.nextInt(1000) + 8000; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("conversation-alpha2-dapr-app") .withComponent(new Component("echo", "conversation.echo", "v1", new HashMap<>())) .withNetwork(DAPR_NETWORK) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .withAppPort(PORT); /** * Expose the Dapr port to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); registry.add("server.port", () -> PORT); } @Autowired private DaprPreviewClient daprPreviewClient; @BeforeEach public void setUp() { org.testcontainers.Testcontainers.exposeHostPorts(PORT); } @Test public void testConverseAlpha2WithUserMessage() { // Create a user message UserMessage userMessage = new UserMessage(List.of(new ConversationMessageContent("Hello, how are you?"))); userMessage.setName("TestUser"); // Create input with the message ConversationInputAlpha2 input = new ConversationInputAlpha2(List.of(userMessage)); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertEquals(1, response.getOutputs().size()); ConversationResultAlpha2 result = response.getOutputs().get(0); assertNotNull(result.getChoices()); assertTrue(result.getChoices().size() > 0); ConversationResultChoices choice = result.getChoices().get(0); assertNotNull(choice.getMessage()); assertNotNull(choice.getMessage().getContent()); } @Test public void testConverseAlpha2WithAllMessageTypes() { List messages = new ArrayList<>(); // System message SystemMessage systemMsg = new SystemMessage(List.of(new ConversationMessageContent("You are a helpful assistant."))); systemMsg.setName("system"); messages.add(systemMsg); // User message UserMessage userMsg = new UserMessage(List.of(new ConversationMessageContent("Hello!"))); userMsg.setName("user"); messages.add(userMsg); // Assistant message AssistantMessage assistantMsg = new AssistantMessage(List.of(new ConversationMessageContent("Hi there!")), List.of(new ConversationToolCalls( new ConversationToolCallsOfFunction("get_weather", "{\"location\": \"New York\"}")))); assistantMsg.setName("assistant"); messages.add(assistantMsg); // Tool message ToolMessage toolMsg = new ToolMessage(List.of(new ConversationMessageContent("Weather data: 72F"))); toolMsg.setName("tool"); messages.add(toolMsg); // Developer message DeveloperMessage devMsg = new DeveloperMessage(List.of(new ConversationMessageContent("Debug info"))); devMsg.setName("developer"); messages.add(devMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); } @Test public void testConverseAlpha2WithScrubPII() { // Create a user message with PII UserMessage userMessage = new UserMessage(List.of(new ConversationMessageContent("My email is test@example.com and phone is +1234567890"))); ConversationInputAlpha2 input = new ConversationInputAlpha2(List.of(userMessage)); input.setScrubPii(true); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); request.setScrubPii(true); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); // Verify response structure (actual PII scrubbing depends on echo component implementation) ConversationResultChoices choice = response.getOutputs().get(0).getChoices().get(0); assertNotNull(choice.getMessage()); assertNotNull(choice.getMessage().getContent()); } @Test public void testConverseAlpha2WithTools() { // Create a tool function Map parameters = new HashMap<>(); parameters.put("location", "string"); parameters.put("unit", "celsius"); ConversationToolsFunction function = new ConversationToolsFunction("get_weather", parameters); function.setDescription("Get current weather information"); ConversationTools tool = new ConversationTools(function); // Create user message UserMessage userMessage = new UserMessage(List.of(new ConversationMessageContent("What's the weather like?"))); ConversationInputAlpha2 input = new ConversationInputAlpha2(List.of(userMessage)); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); request.setTools(List.of(tool)); request.setToolChoice("auto"); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); } @Test public void testConverseAlpha2WithMetadataAndParameters() { UserMessage userMessage = new UserMessage(List.of(new ConversationMessageContent("Hello world"))); ConversationInputAlpha2 input = new ConversationInputAlpha2(List.of(userMessage)); // Set metadata and parameters Map metadata = new HashMap<>(); metadata.put("request-id", "test-123"); metadata.put("source", "integration-test"); Map parameters = new HashMap<>(); parameters.put("max_tokens", "1000"); parameters.put("temperature", "0.7"); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); request.setContextId("test-context-123"); request.setTemperature(0.8); request.setMetadata(metadata); request.setParameters(parameters); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); // Verify context ID is handled properly // Note: actual context ID behavior depends on echo component implementation assertNotNull(response.getContextId()); } @Test public void testConverseAlpha2WithAssistantToolCalls() { // Create a tool call ConversationToolCallsOfFunction toolFunction = new ConversationToolCallsOfFunction("get_weather", "{\"location\": \"New York\"}"); ConversationToolCalls toolCall = new ConversationToolCalls(toolFunction); toolCall.setId("call_123"); // Create assistant message with tool calls AssistantMessage assistantMsg = new AssistantMessage(List.of(new ConversationMessageContent("Hi there!")), List.of(new ConversationToolCalls( new ConversationToolCallsOfFunction("get_weather", "{\"location\": \"New York\"}")))); // Note: Current implementation doesn't support setting tool calls in constructor // This tests the structure and ensures no errors occur ConversationInputAlpha2 input = new ConversationInputAlpha2(List.of(assistantMsg)); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); } @Test public void testConverseAlpha2WithComplexScenario() { List messages = new ArrayList<>(); // System message setting context SystemMessage systemMsg = new SystemMessage(List.of(new ConversationMessageContent("You are a helpful weather assistant."))); systemMsg.setName("WeatherBot"); messages.add(systemMsg); // User asking for weather UserMessage userMsg = new UserMessage(List.of(new ConversationMessageContent("What's the weather in San Francisco?"))); userMsg.setName("User123"); messages.add(userMsg); // Assistant response AssistantMessage assistantMsg = new AssistantMessage(List.of(new ConversationMessageContent("Hi there!")), List.of(new ConversationToolCalls( new ConversationToolCallsOfFunction("get_weather", "{\"location\": \"New York\"}")))); assistantMsg.setName("WeatherBot"); messages.add(assistantMsg); // Tool response ToolMessage toolMsg = new ToolMessage(List.of(new ConversationMessageContent("{\"temperature\": \"68F\", \"condition\": \"sunny\"}"))); toolMsg.setName("weather_api"); messages.add(toolMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); input.setScrubPii(false); // Create tools Map functionParams = new HashMap<>(); functionParams.put("location", "string"); functionParams.put("unit", "fahrenheit"); ConversationToolsFunction weatherFunction = new ConversationToolsFunction("get_current_weather", functionParams); weatherFunction.setDescription("Get current weather for a location"); ConversationTools weatherTool = new ConversationTools(weatherFunction); // Set up complete request Map metadata = new HashMap<>(); metadata.put("conversation-type", "weather-query"); metadata.put("user-session", "session-456"); Map parameters = new HashMap<>(); parameters.put("max_tokens", "2000"); parameters.put("response_format", "json"); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); request.setContextId("weather-conversation-789"); request.setTemperature(0.7); request.setScrubPii(false); request.setTools(List.of(weatherTool)); request.setToolChoice("auto"); request.setMetadata(metadata); request.setParameters(parameters); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); ConversationResultAlpha2 result = response.getOutputs().get(0); assertNotNull(result.getChoices()); assertTrue(result.getChoices().size() > 0); ConversationResultChoices choice = result.getChoices().get(0); assertNotNull(choice.getFinishReason()); assertTrue(choice.getIndex() >= 0); if (choice.getMessage() != null) { assertNotNull(choice.getMessage().getContent()); } } @Test public void testConverseAlpha2MultipleInputs() { // Create multiple conversation inputs List inputs = new ArrayList<>(); // First input - greeting UserMessage greeting = new UserMessage(List.of(new ConversationMessageContent("Hello!"))); ConversationInputAlpha2 input1 = new ConversationInputAlpha2(List.of(greeting)); inputs.add(input1); // Second input - question UserMessage question = new UserMessage(List.of(new ConversationMessageContent("How are you?"))); ConversationInputAlpha2 input2 = new ConversationInputAlpha2(List.of(question)); input2.setScrubPii(true); inputs.add(input2); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", inputs); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); // Should handle multiple inputs appropriately for (ConversationResultAlpha2 result : response.getOutputs()) { assertNotNull(result.getChoices()); assertTrue(result.getChoices().size() > 0); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/conversations/DaprConversationIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.conversations; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.ConversationInput; import io.dapr.client.domain.ConversationRequest; import io.dapr.client.domain.ConversationResponse; import io.dapr.it.testcontainers.DaprPreviewClientConfiguration; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Random; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @SpringBootTest( webEnvironment = WebEnvironment.RANDOM_PORT, classes = { DaprPreviewClientConfiguration.class, TestConversationApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprConversationIT { private static final Network DAPR_NETWORK = Network.newNetwork(); private static final Random RANDOM = new Random(); private static final int PORT = RANDOM.nextInt(1000) + 8000; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("conversation-dapr-app") .withComponent(new Component("echo", "conversation.echo", "v1", new HashMap<>())) .withNetwork(DAPR_NETWORK) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .withAppPort(PORT); /** * Expose the Dapr port to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); registry.add("server.port", () -> PORT); } @Autowired private DaprPreviewClient daprPreviewClient; @BeforeEach public void setUp(){ org.testcontainers.Testcontainers.exposeHostPorts(PORT); } @Test public void testConversationSDKShouldHaveSameOutputAndInput() { ConversationInput conversationInput = new ConversationInput("input this"); List conversationInputList = new ArrayList<>(); conversationInputList.add(conversationInput); ConversationResponse response = this.daprPreviewClient.converse(new ConversationRequest("echo", conversationInputList)).block(); Assertions.assertEquals("", response.getContextId()); Assertions.assertEquals("input this", response.getConversationOutputs().get(0).getResult()); } @Test public void testConversationSDKShouldScrubPIIWhenScrubPIIIsSetInRequestBody() { List conversationInputList = new ArrayList<>(); conversationInputList.add(new ConversationInput("input this abcd@gmail.com")); conversationInputList.add(new ConversationInput("input this +12341567890")); ConversationResponse response = this.daprPreviewClient.converse(new ConversationRequest("echo", conversationInputList) .setScrubPii(true)).block(); Assertions.assertEquals("", response.getContextId()); Assertions.assertEquals("input this \ninput this ", response.getConversationOutputs().get(0).getResult()); } @Test public void testConversationSDKShouldScrubPIIOnlyForTheInputWhereScrubPIIIsSet() { List conversationInputList = new ArrayList<>(); conversationInputList.add(new ConversationInput("input this abcd@gmail.com")); conversationInputList.add(new ConversationInput("input this +12341567890").setScrubPii(true)); ConversationResponse response = this.daprPreviewClient.converse(new ConversationRequest("echo", conversationInputList)).block(); Assertions.assertEquals("", response.getContextId()); Assertions.assertEquals("input this abcd@gmail.com\ninput this ", response.getConversationOutputs().get(0).getResult()); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/conversations/TestConversationApplication.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.conversations; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestConversationApplication { public static void main(String[] args) { SpringApplication.run(TestConversationApplication.class, args); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/core/DaprContainerIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.core; import com.github.tomakehurst.wiremock.junit5.WireMockTest; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.Metadata; import io.dapr.client.domain.State; import io.dapr.config.Properties; import io.dapr.testcontainers.DaprContainer; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.shaded.org.awaitility.core.ConditionTimeoutException; import java.io.IOException; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.Map; import java.util.concurrent.TimeUnit; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.any; import static com.github.tomakehurst.wiremock.client.WireMock.configureFor; import static com.github.tomakehurst.wiremock.client.WireMock.equalTo; import static com.github.tomakehurst.wiremock.client.WireMock.get; import static com.github.tomakehurst.wiremock.client.WireMock.post; import static com.github.tomakehurst.wiremock.client.WireMock.postRequestedFor; import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; import static com.github.tomakehurst.wiremock.client.WireMock.verify; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.fail; import static org.testcontainers.shaded.org.awaitility.Awaitility.await; @Testcontainers @WireMockTest(httpPort = 8081) @Tag("testcontainers") public class DaprContainerIT { // Time-to-live for messages published. private static final String MESSAGE_TTL_IN_SECONDS = "1000"; private static final String STATE_STORE_NAME = "kvstore"; private static final String KEY = "my-key"; private static final String PUBSUB_NAME = "pubsub"; private static final String PUBSUB_TOPIC_NAME = "topic"; private static final String APP_FOUND_MESSAGE_PATTERN = ".*application discovered on port 8081.*"; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withAppPort(8081) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal"); /** * Sets the Dapr properties for the test. */ @BeforeEach public void setDaprProperties() { configStub(); org.testcontainers.Testcontainers.exposeHostPorts(8081); } private void configStub() { stubFor(any(urlMatching("/actuator/health")) .willReturn(aResponse().withBody("[]").withStatus(200))); stubFor(any(urlMatching("/dapr/subscribe")) .willReturn(aResponse().withBody("[]").withStatus(200))); stubFor(get(urlMatching("/dapr/config")) .willReturn(aResponse().withBody("[]").withStatus(200))); stubFor(any(urlMatching("/([a-z1-9]*)")) .willReturn(aResponse().withBody("[]").withStatus(200))); // create a stub stubFor(post(urlEqualTo("/events")) .willReturn(aResponse().withBody("event received!").withStatus(200))); configureFor("localhost", 8081); } @Test public void testDaprContainerDefaults() { assertEquals(2, DAPR_CONTAINER.getComponents().size(), "The pubsub and kvstore component should be configured by default" ); assertEquals( 1, DAPR_CONTAINER.getSubscriptions().size(), "A subscription should be configured by default if none is provided" ); } @Test public void testStateStore() throws Exception { DaprClientBuilder builder = createDaprClientBuilder(); try (DaprClient client = (builder).build()) { String value = "value"; // Save state client.saveState(STATE_STORE_NAME, KEY, value).block(); // Get the state back from the state store State retrievedState = client.getState(STATE_STORE_NAME, KEY, String.class).block(); assertNotNull(retrievedState); assertEquals(value, retrievedState.getValue(), "The value retrieved should be the same as the one stored"); } } @Test public void testPlacement() throws Exception { Wait.forLogMessage(APP_FOUND_MESSAGE_PATTERN, 1).waitUntilReady(DAPR_CONTAINER); try { await().atMost(10, TimeUnit.SECONDS) .pollDelay(500, TimeUnit.MILLISECONDS) .pollInterval(500, TimeUnit.MILLISECONDS) .until(() -> { String metadata = checkSidecarMetadata(); if (metadata.contains("placement: connected")) { return true; } else { return false; } }); } catch (ConditionTimeoutException timeoutException) { fail("The placement server is not connected"); } } private String checkSidecarMetadata() throws IOException, InterruptedException { String url = DAPR_CONTAINER.getHttpEndpoint() + "/v1.0/metadata"; HttpClient client = HttpClient.newBuilder() .version(HttpClient.Version.HTTP_1_1) .build(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) .build(); HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); if (response.statusCode() != 200) { throw new IOException("Unexpected response: " + response.statusCode()); } return response.body(); } @Test public void testPubSub() throws Exception { DaprClientBuilder builder = createDaprClientBuilder(); try (DaprClient client = (builder).build()) { String message = "message content"; Map metadata = Map.of(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS); client.publishEvent(PUBSUB_NAME, PUBSUB_TOPIC_NAME, message, metadata).block(); } verify(postRequestedFor(urlEqualTo("/events")).withHeader("Content-Type", equalTo("application/cloudevents+json"))); } private DaprClientBuilder createDaprClientBuilder() { return new DaprClientBuilder() .withPropertyOverride(Properties.HTTP_ENDPOINT, DAPR_CONTAINER.getHttpEndpoint()) .withPropertyOverride(Properties.GRPC_ENDPOINT, DAPR_CONTAINER.getGrpcEndpoint()); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/core/DaprPlacementContainerIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.core; import io.dapr.testcontainers.DaprPlacementContainer; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_PLACEMENT_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; @Testcontainers @Tag("testcontainers") public class DaprPlacementContainerIT { @Container private static final DaprPlacementContainer PLACEMENT_CONTAINER = new DaprPlacementContainer(DAPR_PLACEMENT_IMAGE_TAG); @Test public void testDaprPlacementContainerDefaults() { assertEquals(50005, PLACEMENT_CONTAINER.getPort(), "The default port is not set"); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/core/DaprSchedulerContainerIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.core; import io.dapr.testcontainers.DaprSchedulerContainer; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_SCHEDULER_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; @Testcontainers @Tag("testcontainers") public class DaprSchedulerContainerIT { @Container private static final DaprSchedulerContainer SCHEDULER_CONTAINER = new DaprSchedulerContainer(DAPR_SCHEDULER_IMAGE_TAG); @Test public void testDaprSchedulerContainerDefaults() { assertEquals(51005, SCHEDULER_CONTAINER.getPort(), "The default port is not set"); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/crypto/DaprPreviewClientCryptoIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.crypto; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.DecryptRequestAlpha1; import io.dapr.client.domain.EncryptRequestAlpha1; import io.dapr.config.Properties; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.MetadataEntry; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.testcontainers.containers.BindMode; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import reactor.core.publisher.Flux; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.util.Base64; import java.util.Collections; import java.util.List; import java.util.Random; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; /** * Integration tests for the Dapr Cryptography Alpha1 API. */ @Testcontainers @Tag("testcontainers") public class DaprPreviewClientCryptoIT { private static final String CRYPTO_COMPONENT_NAME = "localstoragecrypto"; private static final String KEY_NAME = "testkey"; private static final String CONTAINER_KEYS_PATH = "/keys"; private static Path tempKeysDir; private static DaprPreviewClient daprPreviewClient; @Container private static final DaprContainer DAPR_CONTAINER = createDaprContainer(); private static DaprContainer createDaprContainer() { try { // Create temporary directory for keys tempKeysDir = Files.createTempDirectory("dapr-crypto-keys"); // Generate and save a test RSA key pair in PEM format generateAndSaveRsaKeyPair(tempKeysDir); // Create the crypto component Component cryptoComponent = new Component( CRYPTO_COMPONENT_NAME, "crypto.dapr.localstorage", "v1", List.of(new MetadataEntry("path", CONTAINER_KEYS_PATH)) ); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("crypto-test-app") .withComponent(cryptoComponent) .withFileSystemBind(tempKeysDir.toString(), CONTAINER_KEYS_PATH, BindMode.READ_ONLY); } catch (Exception e) { throw new RuntimeException("Failed to initialize test container", e); } } private static void generateAndSaveRsaKeyPair(Path keysDir) throws NoSuchAlgorithmException, IOException { KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA"); keyGen.initialize(4096); KeyPair keyPair = keyGen.generateKeyPair(); // Save the private key in PEM format String privateKeyPem = "-----BEGIN PRIVATE KEY-----\n" + Base64.getMimeEncoder(64, "\n".getBytes()).encodeToString(keyPair.getPrivate().getEncoded()) + "\n-----END PRIVATE KEY-----\n"; // Save the public key in PEM format String publicKeyPem = "-----BEGIN PUBLIC KEY-----\n" + Base64.getMimeEncoder(64, "\n".getBytes()).encodeToString(keyPair.getPublic().getEncoded()) + "\n-----END PUBLIC KEY-----\n"; // Combine both keys in one PEM file String combinedPem = privateKeyPem + publicKeyPem; Path keyFile = keysDir.resolve(KEY_NAME); Files.writeString(keyFile, combinedPem); // Make the key file and directory readable by all (needed for container access) keyFile.toFile().setReadable(true, false); keysDir.toFile().setReadable(true, false); keysDir.toFile().setExecutable(true, false); } @BeforeAll static void setUp() { daprPreviewClient = new DaprClientBuilder() .withPropertyOverride(Properties.HTTP_ENDPOINT, DAPR_CONTAINER.getHttpEndpoint()) .withPropertyOverride(Properties.GRPC_ENDPOINT, DAPR_CONTAINER.getGrpcEndpoint()) .buildPreviewClient(); } @AfterAll static void tearDown() throws Exception { if (daprPreviewClient != null) { daprPreviewClient.close(); } // Clean up temp keys directory if (tempKeysDir != null && Files.exists(tempKeysDir)) { Files.walk(tempKeysDir) .sorted((a, b) -> -a.compareTo(b)) .forEach(path -> { try { Files.delete(path); } catch (IOException e) { // Ignore cleanup errors } }); } } @Test public void testEncryptAndDecryptSmallData() { String originalData = "Hello, World! This is a test message."; byte[] plainText = originalData.getBytes(StandardCharsets.UTF_8); // Encrypt EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(plainText), KEY_NAME, "RSA-OAEP-256" ); byte[] encryptedData = daprPreviewClient.encrypt(encryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(encryptedData); assertTrue(encryptedData.length > 0); // Decrypt DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = daprPreviewClient.decrypt(decryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(decryptedData); assertArrayEquals(plainText, decryptedData); assertEquals(originalData, new String(decryptedData, StandardCharsets.UTF_8)); } @Test public void testEncryptAndDecryptLargeData() { // Generate a large data payload (1MB) byte[] largeData = new byte[1024 * 1024]; new Random().nextBytes(largeData); // Encrypt EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(largeData), KEY_NAME, "RSA-OAEP-256" ); byte[] encryptedData = daprPreviewClient.encrypt(encryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(encryptedData); assertTrue(encryptedData.length > 0); // Decrypt DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = daprPreviewClient.decrypt(decryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(decryptedData); assertArrayEquals(largeData, decryptedData); } @Test public void testEncryptAndDecryptStreamedData() { // Create chunked data to simulate streaming byte[] chunk1 = "First chunk of data. ".getBytes(StandardCharsets.UTF_8); byte[] chunk2 = "Second chunk of data. ".getBytes(StandardCharsets.UTF_8); byte[] chunk3 = "Third and final chunk.".getBytes(StandardCharsets.UTF_8); // Combine for comparison later byte[] fullData = new byte[chunk1.length + chunk2.length + chunk3.length]; System.arraycopy(chunk1, 0, fullData, 0, chunk1.length); System.arraycopy(chunk2, 0, fullData, chunk1.length, chunk2.length); System.arraycopy(chunk3, 0, fullData, chunk1.length + chunk2.length, chunk3.length); // Encrypt with multiple chunks EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(chunk1, chunk2, chunk3), KEY_NAME, "RSA-OAEP-256" ); byte[] encryptedData = daprPreviewClient.encrypt(encryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(encryptedData); assertTrue(encryptedData.length > 0); // Decrypt DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = daprPreviewClient.decrypt(decryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(decryptedData); assertArrayEquals(fullData, decryptedData); } @Test public void testEncryptWithOptionalParameters() { String originalData = "Test message with optional parameters."; byte[] plainText = originalData.getBytes(StandardCharsets.UTF_8); // Encrypt with optional data encryption cipher EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(plainText), KEY_NAME, "RSA-OAEP-256" ).setDataEncryptionCipher("aes-gcm"); byte[] encryptedData = daprPreviewClient.encrypt(encryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(encryptedData); assertTrue(encryptedData.length > 0); // Decrypt DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = daprPreviewClient.decrypt(decryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(decryptedData); assertArrayEquals(plainText, decryptedData); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/jobs/DaprJobsIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.jobs; import io.dapr.client.DaprClient; import io.dapr.client.domain.ConstantFailurePolicy; import io.dapr.client.domain.DeleteJobRequest; import io.dapr.client.domain.DropFailurePolicy; import io.dapr.client.domain.FailurePolicyType; import io.dapr.client.domain.GetJobRequest; import io.dapr.client.domain.GetJobResponse; import io.dapr.client.domain.JobSchedule; import io.dapr.client.domain.ScheduleJobRequest; import io.dapr.it.testcontainers.DaprClientConfiguration; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.time.Duration; import java.time.Instant; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.Random; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.Assert.assertEquals; @SpringBootTest( webEnvironment = WebEnvironment.RANDOM_PORT, classes = { DaprClientConfiguration.class, TestJobsApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprJobsIT { private static final Network DAPR_NETWORK = Network.newNetwork(); private static final Random RANDOM = new Random(); private static final int PORT = RANDOM.nextInt(1000) + 8000; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("jobs-dapr-app") .withNetwork(DAPR_NETWORK) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .withAppPort(PORT); /** * Expose the Dapr ports to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); registry.add("server.port", () -> PORT); } @Autowired private DaprClient daprClient; @BeforeEach public void setUp(){ org.testcontainers.Testcontainers.exposeHostPorts(PORT); } @Test public void testJobScheduleCreationWithDueTime() { DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); Instant currentTime = Instant.now(); daprClient.scheduleJob(new ScheduleJobRequest("Job", currentTime).setOverwrite(true)).block(); GetJobResponse getJobResponse = daprClient.getJob(new GetJobRequest("Job")).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); assertEquals(iso8601Formatter.format(currentTime), getJobResponse.getDueTime().toString()); assertEquals("Job", getJobResponse.getName()); } @Test public void testJobScheduleCreationWithSchedule() { DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); Instant currentTime = Instant.now(); daprClient.scheduleJob(new ScheduleJobRequest("Job", JobSchedule.hourly()) .setDueTime(currentTime).setOverwrite(true)).block(); GetJobResponse getJobResponse = daprClient.getJob(new GetJobRequest("Job")).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); assertEquals(iso8601Formatter.format(currentTime), getJobResponse.getDueTime().toString()); assertEquals(JobSchedule.hourly().getExpression(), getJobResponse.getSchedule().getExpression()); assertEquals("Job", getJobResponse.getName()); } @Test public void testJobScheduleCreationWithAllParameters() { Instant currentTime = Instant.now(); DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); String cronExpression = "2 * 3 * * FRI"; daprClient.scheduleJob(new ScheduleJobRequest("Job", currentTime) .setTtl(currentTime.plus(2, ChronoUnit.HOURS)) .setData("Job data".getBytes()) .setRepeat(3) .setOverwrite(true) .setSchedule(JobSchedule.fromString(cronExpression))).block(); GetJobResponse getJobResponse = daprClient.getJob(new GetJobRequest("Job")).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); assertEquals(iso8601Formatter.format(currentTime), getJobResponse.getDueTime().toString()); assertEquals("2 * 3 * * FRI", getJobResponse.getSchedule().getExpression()); assertEquals("Job", getJobResponse.getName()); assertEquals(Integer.valueOf(3), getJobResponse.getRepeats()); assertEquals("Job data", new String(getJobResponse.getData())); assertEquals(iso8601Formatter.format(currentTime.plus(2, ChronoUnit.HOURS)), getJobResponse.getTtl().toString()); } @Test public void testJobScheduleCreationWithDropFailurePolicy() { Instant currentTime = Instant.now(); DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); String cronExpression = "2 * 3 * * FRI"; daprClient.scheduleJob(new ScheduleJobRequest("Job", currentTime) .setTtl(currentTime.plus(2, ChronoUnit.HOURS)) .setData("Job data".getBytes()) .setRepeat(3) .setFailurePolicy(new DropFailurePolicy()) .setSchedule(JobSchedule.fromString(cronExpression))).block(); GetJobResponse getJobResponse = daprClient.getJob(new GetJobRequest("Job")).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); assertEquals(FailurePolicyType.DROP, getJobResponse.getFailurePolicy().getFailurePolicyType()); } @Test public void testJobScheduleCreationWithConstantFailurePolicy() { Instant currentTime = Instant.now(); DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); String cronExpression = "2 * 3 * * FRI"; daprClient.scheduleJob(new ScheduleJobRequest("Job", currentTime) .setTtl(currentTime.plus(2, ChronoUnit.HOURS)) .setData("Job data".getBytes()) .setRepeat(3) .setFailurePolicy(new ConstantFailurePolicy(3) .setDurationBetweenRetries(Duration.of(10, ChronoUnit.SECONDS))) .setSchedule(JobSchedule.fromString(cronExpression))).block(); GetJobResponse getJobResponse = daprClient.getJob(new GetJobRequest("Job")).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); ConstantFailurePolicy jobFailurePolicyConstant = (ConstantFailurePolicy) getJobResponse.getFailurePolicy(); assertEquals(FailurePolicyType.CONSTANT, getJobResponse.getFailurePolicy().getFailurePolicyType()); assertEquals(3, (int)jobFailurePolicyConstant.getMaxRetries()); assertEquals(Duration.of(10, ChronoUnit.SECONDS).getNano(), jobFailurePolicyConstant.getDurationBetweenRetries().getNano()); } @Test public void testDeleteJobRequest() { Instant currentTime = Instant.now(); String cronExpression = "2 * 3 * * FRI"; daprClient.scheduleJob(new ScheduleJobRequest("Job", currentTime) .setTtl(currentTime.plus(2, ChronoUnit.HOURS)) .setData("Job data".getBytes()) .setRepeat(3) .setOverwrite(true) .setSchedule(JobSchedule.fromString(cronExpression))).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/jobs/TestJobsApplication.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.jobs; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestJobsApplication { public static void main(String[] args) { SpringApplication.run(TestJobsApplication.class, args); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/pubsub/http/DaprPubSubIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.pubsub.http; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import io.dapr.client.DaprClient; import io.dapr.client.domain.BulkPublishEntry; import io.dapr.client.domain.BulkPublishRequest; import io.dapr.client.domain.BulkPublishResponse; import io.dapr.client.domain.CloudEvent; import io.dapr.client.domain.HttpExtension; import io.dapr.client.domain.Metadata; import io.dapr.client.domain.PublishEventRequest; import io.dapr.it.pubsub.http.PubSubIT; import io.dapr.it.testcontainers.DaprClientFactory; import io.dapr.serializer.CustomizableObjectSerializer; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.utils.TypeRef; import org.assertj.core.api.SoftAssertions; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Random; import java.util.Set; import static io.dapr.it.Retry.callWithRetry; import static io.dapr.it.TestUtils.assertThrowsDaprException; import static io.dapr.it.TestUtils.assertThrowsDaprExceptionWithReason; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertNotNull; @SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, classes = { TestPubSubApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprPubSubIT { private static final Logger LOG = LoggerFactory.getLogger(DaprPubSubIT.class); private static final Network DAPR_NETWORK = Network.newNetwork(); private static final Random RANDOM = new Random(); private static final int PORT = RANDOM.nextInt(1000) + 8000; private static final String APP_FOUND_MESSAGE_PATTERN = ".*application discovered on port.*"; private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); private static final String PUBSUB_APP_ID = "pubsub-dapr-app"; private static final String PUBSUB_NAME = "pubsub"; // topics private static final String TOPIC_BULK = "testingbulktopic"; private static final String TOPIC_NAME = "testingtopic"; private static final String ANOTHER_TOPIC_NAME = "anothertopic"; private static final String TYPED_TOPIC_NAME = "typedtestingtopic"; private static final String BINARY_TOPIC_NAME = "binarytopic"; private static final String TTL_TOPIC_NAME = "ttltopic"; private static final String LONG_TOPIC_NAME = "testinglongvalues"; private static final int NUM_MESSAGES = 10; // typeRefs private static final TypeRef> CLOUD_EVENT_LIST_TYPE_REF = new TypeRef<>() { }; private static final TypeRef>> CLOUD_EVENT_LONG_LIST_TYPE_REF = new TypeRef<>() { }; private static final TypeRef>> CLOUD_EVENT_MYOBJECT_LIST_TYPE_REF = new TypeRef<>() { }; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName(PUBSUB_APP_ID) .withNetwork(DAPR_NETWORK) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> LOG.info(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .withAppPort(PORT); /** * Expose the Dapr ports to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); registry.add("server.port", () -> PORT); } @BeforeEach public void setUp() { org.testcontainers.Testcontainers.exposeHostPorts(PORT); } @Test @DisplayName("Should receive INVALID_ARGUMENT when the specified Pub/Sub name does not exist") public void shouldReceiveInvalidArgument() throws Exception { Wait.forLogMessage(APP_FOUND_MESSAGE_PATTERN, 1).waitUntilReady(DAPR_CONTAINER); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { assertThrowsDaprExceptionWithReason( "INVALID_ARGUMENT", "INVALID_ARGUMENT: pubsub unknown pubsub is not found", "DAPR_PUBSUB_NOT_FOUND", () -> client.publishEvent("unknown pubsub", "mytopic", "payload").block()); } } @Test @DisplayName("Should receive INVALID_ARGUMENT using bulk publish when the specified Pub/Sub name does not exist") public void shouldReceiveInvalidArgumentWithBulkPublish() throws Exception { try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { assertThrowsDaprException( "INVALID_ARGUMENT", "INVALID_ARGUMENT: pubsub unknown pubsub is not found", () -> client.publishEvents("unknown pubsub", "mytopic", "text/plain", "message").block()); } } @Test @DisplayName("Should publish some payload types successfully") public void shouldPublishSomePayloadTypesWithNoError() throws Exception { try ( DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).withObjectSerializer( createJacksonObjectSerializer()) .build() ) { publishBulkStringsAsserting(client); publishMyObjectAsserting(client); publishByteAsserting(client); publishCloudEventAsserting(client); Thread.sleep(10000); callWithRetry(() -> validatePublishedMessages(client), 2000); } } @Test @DisplayName("Should publish various payload types to different topics") public void testPubSub() throws Exception { // Send a batch of messages on one topic try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).withObjectSerializer( createJacksonObjectSerializer() ).build()) { sendBulkMessagesAsText(client, TOPIC_NAME); sendBulkMessagesAsText(client, ANOTHER_TOPIC_NAME); //Publishing an object. PubSubIT.MyObject object = new PubSubIT.MyObject(); object.setId("123"); client.publishEvent(PUBSUB_NAME, TOPIC_NAME, object).block(); LOG.info("Published one object."); client.publishEvent(PUBSUB_NAME, TYPED_TOPIC_NAME, object).block(); LOG.info("Published another object."); //Publishing a single byte: Example of non-string based content published publishOneByteSync(client, TOPIC_NAME); CloudEvent cloudEvent = new CloudEvent<>(); cloudEvent.setId("1234"); cloudEvent.setData("message from cloudevent"); cloudEvent.setSource("test"); cloudEvent.setSpecversion("1"); cloudEvent.setType("myevent"); cloudEvent.setDatacontenttype("text/plain"); //Publishing a cloud event. client.publishEvent(new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEvent) .setContentType("application/cloudevents+json")).block(); LOG.info("Published one cloud event."); { CloudEvent cloudEventV2 = new CloudEvent<>(); cloudEventV2.setId("2222"); cloudEventV2.setData("message from cloudevent v2"); cloudEventV2.setSource("test"); cloudEventV2.setSpecversion("1"); cloudEventV2.setType("myevent.v2"); cloudEventV2.setDatacontenttype("text/plain"); client.publishEvent( new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEventV2) .setContentType("application/cloudevents+json")).block(); LOG.info("Published one cloud event for v2."); } { CloudEvent cloudEventV3 = new CloudEvent<>(); cloudEventV3.setId("3333"); cloudEventV3.setData("message from cloudevent v3"); cloudEventV3.setSource("test"); cloudEventV3.setSpecversion("1"); cloudEventV3.setType("myevent.v3"); cloudEventV3.setDatacontenttype("text/plain"); client.publishEvent( new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEventV3) .setContentType("application/cloudevents+json")).block(); LOG.info("Published one cloud event for v3."); } Thread.sleep(2000); callWithRetry(() -> { LOG.info("Checking results for topic " + TOPIC_NAME); List messages = client.invokeMethod( PUBSUB_APP_ID, "messages/testingtopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF ).block(); assertThat(messages) .hasSize(13) .extracting(CloudEvent::getData) .filteredOn(Objects::nonNull) .contains( "AQ==", "message from cloudevent" ); for (int i = 0; i < NUM_MESSAGES; i++) { String expectedMessage = String.format("This is message #%d on topic %s", i, TOPIC_NAME); assertThat(messages) .extracting(CloudEvent::getData) .filteredOn(Objects::nonNull) .anyMatch(expectedMessage::equals); } assertThat(messages) .extracting(CloudEvent::getData) .filteredOn(LinkedHashMap.class::isInstance) .map(data -> (String) ((LinkedHashMap) data).get("id")) .contains("123"); }, 2000); callWithRetry(() -> { LOG.info("Checking results for topic " + TOPIC_NAME + " V2"); List messages = client.invokeMethod( PUBSUB_APP_ID, "messages/testingtopicV2", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF ).block(); assertThat(messages) .hasSize(1); }, 2000); callWithRetry(() -> { LOG.info("Checking results for topic " + TOPIC_NAME + " V3"); List messages = client.invokeMethod( PUBSUB_APP_ID, "messages/testingtopicV3", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF ).block(); assertThat(messages) .hasSize(1); }, 2000); callWithRetry(() -> { LOG.info("Checking results for topic " + TYPED_TOPIC_NAME); List> messages = client.invokeMethod( PUBSUB_APP_ID, "messages/typedtestingtopic", null, HttpExtension.GET, CLOUD_EVENT_MYOBJECT_LIST_TYPE_REF ).block(); assertThat(messages) .extracting(CloudEvent::getData) .filteredOn(Objects::nonNull) .filteredOn(PubSubIT.MyObject.class::isInstance) .map(PubSubIT.MyObject::getId) .contains("123"); }, 2000); callWithRetry(() -> { LOG.info("Checking results for topic " + ANOTHER_TOPIC_NAME); List messages = client.invokeMethod( PUBSUB_APP_ID, "messages/anothertopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF ).block(); assertThat(messages) .hasSize(10); for (int i = 0; i < NUM_MESSAGES; i++) { String expectedMessage = String.format("This is message #%d on topic %s", i, ANOTHER_TOPIC_NAME); assertThat(messages) .extracting(CloudEvent::getData) .filteredOn(Objects::nonNull) .anyMatch(expectedMessage::equals); } }, 2000); } } @Test @DisplayName("Should publish binary payload type successfully") public void shouldPublishBinary() throws Exception { DaprObjectSerializer serializer = createBinaryObjectSerializer(); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).withObjectSerializer(serializer).build()) { publishOneByteSync(client, BINARY_TOPIC_NAME); } Thread.sleep(3000); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { callWithRetry(() -> { LOG.info("Checking results for topic " + BINARY_TOPIC_NAME); final List messages = client.invokeMethod( PUBSUB_APP_ID, "messages/binarytopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF).block(); SoftAssertions.assertSoftly(softly -> { softly.assertThat(messages.size()).isEqualTo(1); softly.assertThat(messages.get(0).getData()).isNull(); softly.assertThat(messages.get(0).getBinaryData()).isEqualTo(new byte[] {1}); }); }, 2000); } } private static void publishOneByteSync(DaprClient client, String topicName) { client.publishEvent( PUBSUB_NAME, topicName, new byte[] {1}).block(); } private static void sendBulkMessagesAsText(DaprClient client, String topicName) { for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d on topic %s", i, topicName); client.publishEvent(PUBSUB_NAME, topicName, message).block(); } } private void publishMyObjectAsserting(DaprClient client) { PubSubIT.MyObject object = new PubSubIT.MyObject(); object.setId("123"); BulkPublishResponse response = client.publishEvents( PUBSUB_NAME, TOPIC_BULK, "application/json", Collections.singletonList(object) ).block(); SoftAssertions.assertSoftly(softly -> { softly.assertThat(response).isNotNull(); softly.assertThat(response.getFailedEntries().size()).isZero(); }); } private void publishBulkStringsAsserting(DaprClient client) { List messages = new ArrayList<>(); for (int i = 0; i < NUM_MESSAGES; i++) { messages.add(String.format("This is message #%d on topic %s", i, TOPIC_BULK)); } BulkPublishResponse response = client.publishEvents(PUBSUB_NAME, TOPIC_BULK, "", messages).block(); SoftAssertions.assertSoftly(softly -> { softly.assertThat(response).isNotNull(); softly.assertThat(response.getFailedEntries().size()).isZero(); }); } private void publishByteAsserting(DaprClient client) { BulkPublishResponse response = client.publishEvents( PUBSUB_NAME, TOPIC_BULK, "", Collections.singletonList(new byte[] {1}) ).block(); SoftAssertions.assertSoftly(softly -> { assertThat(response).isNotNull(); softly.assertThat(response.getFailedEntries().size()).isZero(); }); } private void publishCloudEventAsserting(DaprClient client) { CloudEvent cloudEvent = new CloudEvent<>(); cloudEvent.setId("1234"); cloudEvent.setData("message from cloudevent"); cloudEvent.setSource("test"); cloudEvent.setSpecversion("1"); cloudEvent.setType("myevent"); cloudEvent.setDatacontenttype("text/plain"); BulkPublishRequest> req = new BulkPublishRequest<>( PUBSUB_NAME, TOPIC_BULK, Collections.singletonList( new BulkPublishEntry<>("1", cloudEvent, "application/cloudevents+json", null) ) ); BulkPublishResponse> response = client.publishEvents(req).block(); SoftAssertions.assertSoftly(softly -> { softly.assertThat(response).isNotNull(); softly.assertThat(response.getFailedEntries().size()).isZero(); }); } private void validatePublishedMessages(DaprClient client) { List cloudEventMessages = client.invokeMethod( PUBSUB_APP_ID, "messages/redis/testingbulktopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF ).block(); assertThat(cloudEventMessages) .as("expected non-null list of cloud events") .isNotNull() .hasSize(13); for (int i = 0; i < NUM_MESSAGES; i++) { String expectedMessage = String.format("This is message #%d on topic %s", i, TOPIC_BULK); assertThat(cloudEventMessages) .as("expected text payload to match for message %d", i) .anySatisfy(event -> assertThat(event.getData()).isEqualTo(expectedMessage)); } assertThat(cloudEventMessages) .filteredOn(event -> event.getData() instanceof LinkedHashMap) .map(event -> (LinkedHashMap) event.getData()) .anySatisfy(map -> assertThat(map.get("id")).isEqualTo("123")); assertThat(cloudEventMessages) .map(CloudEvent::getData) .anySatisfy(data -> assertThat(data).isEqualTo("AQ==")); assertThat(cloudEventMessages) .map(CloudEvent::getData) .anySatisfy(data -> assertThat(data).isEqualTo("message from cloudevent")); } @Test @DisplayName("Should publish with TTL") public void testPubSubTTLMetadata() throws Exception { // Send a batch of messages on one topic, all to be expired in 1 second. try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d on topic %s", i, TTL_TOPIC_NAME); //Publishing messages client.publishEvent( PUBSUB_NAME, TTL_TOPIC_NAME, message, Map.of(Metadata.TTL_IN_SECONDS, "1")) .block(); LOG.info("Published message: '{}' to topic '{}' pubsub_name '{}'\n", message, TOPIC_NAME, PUBSUB_NAME); } } // Sleeps for two seconds to let them expire. Thread.sleep(2000); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { callWithRetry(() -> { LOG.info("Checking results for topic " + TTL_TOPIC_NAME); final List messages = client.invokeMethod(PUBSUB_APP_ID, "messages/" + TTL_TOPIC_NAME, null, HttpExtension.GET, List.class).block(); assertThat(messages).hasSize(0); }, 2000); } } @Test @DisplayName("Should publish long values") public void testLongValues() throws Exception { Random random = new Random(590518626939830271L); Set values = new HashSet<>(); values.add(new PubSubIT.ConvertToLong().setVal(590518626939830271L)); PubSubIT.ConvertToLong val; for (int i = 0; i < NUM_MESSAGES - 1; i++) { do { val = new PubSubIT.ConvertToLong().setVal(random.nextLong()); } while (values.contains(val)); values.add(val); } Iterator valuesIt = values.iterator(); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { for (int i = 0; i < NUM_MESSAGES; i++) { PubSubIT.ConvertToLong value = valuesIt.next(); LOG.info("The long value sent " + value.getValue()); //Publishing messages client.publishEvent( PUBSUB_NAME, LONG_TOPIC_NAME, value, Map.of(Metadata.TTL_IN_SECONDS, "30")).block(); try { Thread.sleep((long) (1000 * Math.random())); } catch (InterruptedException e) { e.printStackTrace(); Thread.currentThread().interrupt(); return; } } } Set actual = new HashSet<>(); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { callWithRetry(() -> { LOG.info("Checking results for topic " + LONG_TOPIC_NAME); final List> messages = client.invokeMethod( PUBSUB_APP_ID, "messages/testinglongvalues", null, HttpExtension.GET, CLOUD_EVENT_LONG_LIST_TYPE_REF).block(); assertNotNull(messages); for (CloudEvent message : messages) { actual.add(message.getData()); } assertThat(values).containsAll(actual); }, 2000); } } private @NotNull DaprObjectSerializer createBinaryObjectSerializer() { return new DaprObjectSerializer() { @Override public byte[] serialize(Object o) { return (byte[]) o; } @Override public T deserialize(byte[] data, TypeRef type) { return (T) data; } @Override public String getContentType() { return "application/octet-stream"; } }; } private DaprObjectSerializer createJacksonObjectSerializer() { return new DaprObjectSerializer() { @Override public byte[] serialize(Object o) throws JsonProcessingException { return OBJECT_MAPPER.writeValueAsBytes(o); } @Override public T deserialize(byte[] data, TypeRef type) throws IOException { return OBJECT_MAPPER.readValue(data, OBJECT_MAPPER.constructType(type.getType())); } @Override public String getContentType() { return "application/json"; } }; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/pubsub/http/SubscriberController.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.pubsub.http; import io.dapr.Rule; import io.dapr.Topic; import io.dapr.client.domain.BulkSubscribeAppResponse; import io.dapr.client.domain.BulkSubscribeAppResponseEntry; import io.dapr.client.domain.BulkSubscribeAppResponseStatus; import io.dapr.client.domain.BulkSubscribeMessage; import io.dapr.client.domain.BulkSubscribeMessageEntry; import io.dapr.client.domain.CloudEvent; import io.dapr.it.pubsub.http.PubSubIT; import io.dapr.springboot.annotations.BulkSubscribe; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.BiFunction; /** * SpringBoot Controller to handle input binding. */ @RestController public class SubscriberController { private final Map>> messagesByTopic = Collections.synchronizedMap(new HashMap<>()); private static final Logger LOG = LoggerFactory.getLogger(SubscriberController.class); @GetMapping(path = "/messages/{topic}") public List> getMessagesByTopic(@PathVariable("topic") String topic) { return messagesByTopic.getOrDefault(topic, Collections.emptyList()); } private static final List messagesReceivedBulkPublishTopic = new ArrayList(); private static final List messagesReceivedTestingTopic = new ArrayList(); private static final List messagesReceivedTestingTopicV2 = new ArrayList(); private static final List messagesReceivedTestingTopicV3 = new ArrayList(); private static final List responsesReceivedTestingTopicBulkSub = new ArrayList<>(); @GetMapping(path = "/messages/redis/testingbulktopic") public List getMessagesReceivedBulkTopic() { return messagesReceivedBulkPublishTopic; } @GetMapping(path = "/messages/testingtopic") public List getMessagesReceivedTestingTopic() { return messagesReceivedTestingTopic; } @GetMapping(path = "/messages/testingtopicV2") public List getMessagesReceivedTestingTopicV2() { return messagesReceivedTestingTopicV2; } @GetMapping(path = "/messages/testingtopicV3") public List getMessagesReceivedTestingTopicV3() { return messagesReceivedTestingTopicV3; } @GetMapping(path = "/messages/topicBulkSub") public List getMessagesReceivedTestingTopicBulkSub() { LOG.info("res size: " + responsesReceivedTestingTopicBulkSub.size()); return responsesReceivedTestingTopicBulkSub; } @Topic(name = "testingtopic", pubsubName = "pubsub") @PostMapping("/route1") public Mono handleMessage(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); LOG.info("Testing topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedTestingTopic.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testingbulktopic", pubsubName = "pubsub") @PostMapping("/route1_redis") public Mono handleBulkTopicMessage(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); LOG.info("Testing bulk publish topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedBulkPublishTopic.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testingtopic", pubsubName = "pubsub", rule = @Rule(match = "event.type == 'myevent.v2'", priority = 2)) @PostMapping(path = "/route1_v2") public Mono handleMessageV2(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); System.out.println("Testing topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedTestingTopicV2.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testingtopic", pubsubName = "pubsub", rule = @Rule(match = "event.type == 'myevent.v3'", priority = 1)) @PostMapping(path = "/route1_v3") public Mono handleMessageV3(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); LOG.info("Testing topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedTestingTopicV3.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "typedtestingtopic", pubsubName = "pubsub") @PostMapping(path = "/route1b") public Mono handleMessageTyped(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String id = envelope.getData() == null ? "" : envelope.getData().getId(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); LOG.info("Testing typed topic Subscriber got message with ID: " + id + "; Content-type: " + contentType); messagesByTopic.compute("typedtestingtopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "binarytopic", pubsubName = "pubsub") @PostMapping(path = "/route2") public Mono handleBinaryMessage(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); LOG.info("Binary topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesByTopic.compute("binarytopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "#{'another'.concat('topic')}", pubsubName = "${pubsubName:pubsub}") @PostMapping(path = "/route3") public Mono handleMessageAnotherTopic(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); LOG.info("Another topic Subscriber got message: " + message); messagesByTopic.compute("anothertopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @PostMapping(path = "/route4") public Mono handleMessageTTLTopic(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); LOG.info("TTL topic Subscriber got message: " + message); messagesByTopic.compute("ttltopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testinglongvalues", pubsubName = "pubsub") @PostMapping(path = "/testinglongvalues") public Mono handleMessageLongValues(@RequestBody(required = false) CloudEvent cloudEvent) { return Mono.fromRunnable(() -> { try { Long message = cloudEvent.getData().getValue(); LOG.info("Subscriber got: " + message); messagesByTopic.compute("testinglongvalues", merge(cloudEvent)); } catch (Exception e) { throw new RuntimeException(e); } }); } /** * Receive messages using the bulk subscribe API. * The maxBulkSubCount and maxBulkSubAwaitDurationMs are adjusted to ensure * that all the test messages arrive in a single batch. * * @param bulkMessage incoming bulk of messages from the message bus. * @return status for each message received. */ @BulkSubscribe(maxMessagesCount = 100, maxAwaitDurationMs = 100) @Topic(name = "topicBulkSub", pubsubName = "pubsub") @PostMapping(path = "/routeBulkSub") public Mono handleMessageBulk( @RequestBody(required = false) BulkSubscribeMessage> bulkMessage) { return Mono.fromCallable(() -> { LOG.info("bulkMessage: " + bulkMessage.getEntries().size()); if (bulkMessage.getEntries().size() == 0) { BulkSubscribeAppResponse response = new BulkSubscribeAppResponse(new ArrayList<>()); responsesReceivedTestingTopicBulkSub.add(response); System.out.println("res size: " + responsesReceivedTestingTopicBulkSub.size()); return response; } List entries = new ArrayList<>(); for (BulkSubscribeMessageEntry entry: bulkMessage.getEntries()) { try { LOG.info("Bulk Subscriber got entry ID: %s\n", entry.getEntryId()); entries.add(new BulkSubscribeAppResponseEntry(entry.getEntryId(), BulkSubscribeAppResponseStatus.SUCCESS)); } catch (Exception e) { entries.add(new BulkSubscribeAppResponseEntry(entry.getEntryId(), BulkSubscribeAppResponseStatus.RETRY)); } } BulkSubscribeAppResponse response = new BulkSubscribeAppResponse(entries); responsesReceivedTestingTopicBulkSub.add(response); LOG.info("res size: " + responsesReceivedTestingTopicBulkSub.size()); return response; }); } private BiFunction>, List>> merge(final CloudEvent item) { return (key, value) -> { final List> list = value == null ? new ArrayList<>() : value; list.add(item); return list; }; } @GetMapping(path = "/health") public void health() { } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/pubsub/http/TestPubSubApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.pubsub.http; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestPubSubApplication { public static void main(String[] args) { SpringApplication.run(TestPubSubApplication.class, args); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/pubsub/outbox/DaprPubSubOutboxIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.pubsub.outbox; import io.dapr.client.DaprClient; import io.dapr.client.domain.ExecuteStateTransactionRequest; import io.dapr.client.domain.State; import io.dapr.client.domain.TransactionalStateOperation; import io.dapr.it.testcontainers.DaprClientFactory; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.testcontainers.wait.strategy.DaprWait; import org.assertj.core.api.Assertions; import org.awaitility.Awaitility; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.time.Duration; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Random; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @Disabled("Unclear why this test is failing intermittently in CI") @SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, classes = { TestPubsubOutboxApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprPubSubOutboxIT { private static final Logger LOG = LoggerFactory.getLogger(DaprPubSubOutboxIT.class); private static final Network DAPR_NETWORK = Network.newNetwork(); private static final Random RANDOM = new Random(); private static final int PORT = RANDOM.nextInt(1000) + 8000; private static final String PUBSUB_APP_ID = "pubsub-dapr-app"; private static final String PUBSUB_NAME = "pubsub"; // topics private static final String TOPIC_PRODUCT_CREATED = "product.created"; private static final String STATE_STORE_NAME = "kvstore"; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName(PUBSUB_APP_ID) .withNetwork(DAPR_NETWORK) .withComponent(new Component(STATE_STORE_NAME, "state.in-memory", "v1", Map.of( "outboxPublishPubsub", PUBSUB_NAME, "outboxPublishTopic", TOPIC_PRODUCT_CREATED ))) .withComponent(new Component(PUBSUB_NAME, "pubsub.in-memory", "v1", Collections.emptyMap())) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> LOG.info(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .withAppPort(PORT); @Autowired private ProductWebhookController productWebhookController; /** * Expose the Dapr ports to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); registry.add("server.port", () -> PORT); } @BeforeAll public static void beforeAll(){ org.testcontainers.Testcontainers.exposeHostPorts(PORT); } @BeforeEach public void beforeEach() { DaprWait.forSubscription(PUBSUB_NAME, TOPIC_PRODUCT_CREATED).waitUntilReady(DAPR_CONTAINER); } @Test public void shouldPublishUsingOutbox() throws Exception { try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { ExecuteStateTransactionRequest transactionRequest = new ExecuteStateTransactionRequest(STATE_STORE_NAME); Product pencil = new Product("Pencil", 1.50); State state = new State<>( pencil.getId(), pencil, null ); TransactionalStateOperation operation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.UPSERT, state ); transactionRequest.setOperations(List.of(operation)); client.executeStateTransaction(transactionRequest).block(); Awaitility.await().atMost(Duration.ofSeconds(10)) .ignoreExceptions() .untilAsserted(() -> Assertions.assertThat(productWebhookController.getEventList()).isNotEmpty()); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/pubsub/outbox/Product.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.pubsub.outbox; import java.util.UUID; public class Product { private String id; private String name; private double price; public Product() { } public Product(String name, double price) { this.id = UUID.randomUUID().toString(); this.name = name; this.price = price; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } @Override public String toString() { return "Product{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", price=" + price + '}'; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/pubsub/outbox/ProductWebhookController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.pubsub.outbox; import io.dapr.Topic; import io.dapr.client.domain.CloudEvent; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @RestController @RequestMapping("/webhooks/products") public class ProductWebhookController { public final List> events = new CopyOnWriteArrayList<>(); @PostMapping("/created") @Topic(name = "product.created", pubsubName = "pubsub") public void handleEvent(@RequestBody CloudEvent cloudEvent) { System.out.println("Received product.created event: " + cloudEvent.getData()); events.add(cloudEvent); } public List> getEventList() { return events; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/pubsub/outbox/TestPubsubOutboxApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.pubsub.outbox; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestPubsubOutboxApplication { public static void main(String[] args) { SpringApplication.run(TestPubsubOutboxApplication.class, args); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/DaprWorkflowsIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import io.dapr.workflows.client.WorkflowRuntimeStatus; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.time.Duration; import java.util.ArrayList; import java.util.Collections; import java.util.Map; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @SpringBootTest( webEnvironment = WebEnvironment.RANDOM_PORT, classes = { TestWorkflowsConfiguration.class, TestWorkflowsApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprWorkflowsIT { private static final Network DAPR_NETWORK = Network.newNetwork(); @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("workflow-dapr-app") .withNetwork(DAPR_NETWORK) .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withComponent(new Component("pubsub", "pubsub.in-memory", "v1", Collections.emptyMap())) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal"); /** * Expose the Dapr ports to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); } private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); @Autowired private DaprWorkflowClient workflowClient; @Autowired private WorkflowRuntimeBuilder workflowRuntimeBuilder; /** * Initializes the test. */ @BeforeEach public void init() { WorkflowRuntime runtime = workflowRuntimeBuilder.build(); System.out.println("Start workflow runtime"); runtime.start(false); } @Test public void testWorkflows() throws Exception { TestWorkflowPayload payload = new TestWorkflowPayload(new ArrayList<>()); String instanceId = workflowClient.scheduleNewWorkflow(TestWorkflow.class, payload); workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(10), false); workflowClient.raiseEvent(instanceId, "MoveForward", payload); Duration timeout = Duration.ofSeconds(10); WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true); assertNotNull(workflowStatus); TestWorkflowPayload workflowOutput = deserialize(workflowStatus.getSerializedOutput()); assertEquals(2, workflowOutput.getPayloads().size()); assertEquals("First Activity", workflowOutput.getPayloads().get(0)); assertEquals("Second Activity", workflowOutput.getPayloads().get(1)); assertEquals(instanceId, workflowOutput.getWorkflowId()); } @Test public void testSuspendAndResumeWorkflows() throws Exception { TestWorkflowPayload payload = new TestWorkflowPayload(new ArrayList<>()); String instanceId = workflowClient.scheduleNewWorkflow(TestWorkflow.class, payload); workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(10), false); workflowClient.suspendWorkflow(instanceId, "testing suspend."); WorkflowState instanceState = workflowClient.getWorkflowState(instanceId, false); assertNotNull(instanceState); assertEquals(WorkflowRuntimeStatus.SUSPENDED, instanceState.getRuntimeStatus()); workflowClient.resumeWorkflow(instanceId, "testing resume"); instanceState = workflowClient.getWorkflowState(instanceId, false); assertNotNull(instanceState); assertEquals(WorkflowRuntimeStatus.RUNNING, instanceState.getRuntimeStatus()); workflowClient.raiseEvent(instanceId, "MoveForward", payload); Duration timeout = Duration.ofSeconds(10); instanceState = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true); assertNotNull(instanceState); assertEquals(WorkflowRuntimeStatus.COMPLETED, instanceState.getRuntimeStatus()); } @Test public void testNamedActivitiesWorkflows() throws Exception { TestWorkflowPayload payload = new TestWorkflowPayload(new ArrayList<>()); String instanceId = workflowClient.scheduleNewWorkflow(TestNamedActivitiesWorkflow.class, payload); workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(10), false); Duration timeout = Duration.ofSeconds(10); WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true); assertNotNull(workflowStatus); TestWorkflowPayload workflowOutput = deserialize(workflowStatus.getSerializedOutput()); assertEquals(5, workflowOutput.getPayloads().size()); assertEquals("First Activity", workflowOutput.getPayloads().get(0)); assertEquals("First Activity", workflowOutput.getPayloads().get(1)); assertEquals("Second Activity", workflowOutput.getPayloads().get(2)); assertEquals("Anonymous Activity", workflowOutput.getPayloads().get(3)); assertEquals("Anonymous Activity 2", workflowOutput.getPayloads().get(4)); assertEquals(instanceId, workflowOutput.getWorkflowId()); } @Test public void testExecutionKeyWorkflows() throws Exception { TestWorkflowPayload payload = new TestWorkflowPayload(new ArrayList<>()); String instanceId = workflowClient.scheduleNewWorkflow(TestExecutionKeysWorkflow.class, payload); workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(100), false); Duration timeout = Duration.ofSeconds(1000); WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true); assertNotNull(workflowStatus); TestWorkflowPayload workflowOutput = deserialize(workflowStatus.getSerializedOutput()); assertEquals(1, workflowOutput.getPayloads().size()); assertEquals("Execution key found", workflowOutput.getPayloads().get(0)); assertTrue(KeyStore.getInstance().size() == 1); assertEquals(instanceId, workflowOutput.getWorkflowId()); } private TestWorkflowPayload deserialize(String value) throws JsonProcessingException { return OBJECT_MAPPER.readValue(value, TestWorkflowPayload.class); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/FirstActivity.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; public class FirstActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.getPayloads().add("First Activity"); return workflowPayload; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/KeyStore.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows; import java.util.HashMap; import java.util.Map; public class KeyStore { private final Map keyStore = new HashMap<>(); private static KeyStore instance; private KeyStore() { } public static KeyStore getInstance() { if (instance == null) { synchronized (KeyStore.class) { if (instance == null) { instance = new KeyStore(); } } } return instance; } public void addKey(String key, Boolean value) { keyStore.put(key, value); } public Boolean getKey(String key) { return keyStore.get(key); } public void removeKey(String key) { keyStore.remove(key); } public int size() { return keyStore.size(); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/SecondActivity.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; public class SecondActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.getPayloads().add("Second Activity"); return workflowPayload; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/TaskExecutionIdActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; public class TaskExecutionIdActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); KeyStore keyStore = KeyStore.getInstance(); Boolean exists = keyStore.getKey(ctx.getTaskExecutionId()); if (!Boolean.TRUE.equals(exists)) { keyStore.addKey(ctx.getTaskExecutionId(), true); workflowPayload.getPayloads().add("Execution key not found"); throw new IllegalStateException("Task execution key not found"); } workflowPayload.getPayloads().add("Execution key found"); return workflowPayload; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/TestExecutionKeysWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows; import io.dapr.durabletask.Task; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; import io.dapr.workflows.WorkflowTaskRetryPolicy; import java.time.Duration; import org.slf4j.Logger; public class TestExecutionKeysWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { Logger logger = ctx.getLogger(); String instanceId = ctx.getInstanceId(); logger.info("Starting Workflow: " + ctx.getName()); logger.info("Instance ID: " + instanceId); logger.info("Current Orchestration Time: " + ctx.getCurrentInstant()); TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.setWorkflowId(instanceId); WorkflowTaskOptions options = new WorkflowTaskOptions(WorkflowTaskRetryPolicy.newBuilder() .setMaxNumberOfAttempts(3) .setFirstRetryInterval(Duration.ofSeconds(1)) .setMaxRetryInterval(Duration.ofSeconds(10)) .setBackoffCoefficient(2.0) .setRetryTimeout(Duration.ofSeconds(50)) .build()); Task t = ctx.callActivity(TaskExecutionIdActivity.class.getName(), workflowPayload, options,TestWorkflowPayload.class); TestWorkflowPayload payloadAfterExecution = t.await(); ctx.complete(payloadAfterExecution); }; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/TestNamedActivitiesWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.slf4j.Logger; public class TestNamedActivitiesWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { Logger logger = ctx.getLogger(); String instanceId = ctx.getInstanceId(); logger.info("Starting Workflow: " + ctx.getName()); logger.info("Instance ID: " + instanceId); logger.info("Current Orchestration Time: " + ctx.getCurrentInstant()); TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.setWorkflowId(instanceId); var payloadAfterA = ctx.callActivity("a", workflowPayload, TestWorkflowPayload.class) .await(); var payloadAfterB = ctx.callActivity("b", payloadAfterA, TestWorkflowPayload.class) .await(); var payloadAfterC = ctx.callActivity("c", payloadAfterB, TestWorkflowPayload.class) .await(); var payloadAfterD = ctx.callActivity("d", payloadAfterC, TestWorkflowPayload.class) .await(); var payloadAfterE = ctx.callActivity("e", payloadAfterD, TestWorkflowPayload.class) .await(); ctx.complete(payloadAfterE); }; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/TestWorkflow.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.slf4j.Logger; import java.time.Duration; public class TestWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { Logger logger = ctx.getLogger(); String instanceId = ctx.getInstanceId(); logger.info("Starting Workflow: " + ctx.getName()); logger.info("Instance ID: " + instanceId); logger.info("Current Orchestration Time: " + ctx.getCurrentInstant()); TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.setWorkflowId(instanceId); TestWorkflowPayload payloadAfterFirst = ctx.callActivity(FirstActivity.class.getName(), workflowPayload, TestWorkflowPayload.class).await(); ctx.waitForExternalEvent("MoveForward", Duration.ofSeconds(3), TestWorkflowPayload.class).await(); TestWorkflowPayload payloadAfterSecond = ctx.callActivity(SecondActivity.class.getName(), payloadAfterFirst, TestWorkflowPayload.class).await(); ctx.complete(payloadAfterSecond); }; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/TestWorkflowPayload.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows; import java.util.List; public class TestWorkflowPayload { private List payloads; private String workflowId; public TestWorkflowPayload() { } public TestWorkflowPayload(List payloads, String workflowId) { this.payloads = payloads; this.workflowId = workflowId; } public TestWorkflowPayload(List payloads) { this.payloads = payloads; } public List getPayloads() { return payloads; } public void setPayloads(List payloads) { this.payloads = payloads; } public String getWorkflowId() { return workflowId; } public void setWorkflowId(String workflowId) { this.workflowId = workflowId; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/TestWorkflowsApplication.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkflowsApplication { public static void main(String[] args) { SpringApplication.run(TestWorkflowsApplication.class, args); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/TestWorkflowsConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.config.Properties; import io.dapr.workflows.WorkflowActivityContext; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; import io.dapr.workflows.WorkflowActivity; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Map; @Configuration public class TestWorkflowsConfiguration { @Bean public ObjectMapper mapper() { return new ObjectMapper(); } @Bean public DaprWorkflowClient daprWorkflowClient( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map overrides = Map.of( "dapr.http.endpoint", daprHttpEndpoint, "dapr.grpc.endpoint", daprGrpcEndpoint ); return new DaprWorkflowClient(new Properties(overrides)); } @Bean public WorkflowRuntimeBuilder workflowRuntimeBuilder( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map overrides = Map.of( "dapr.http.endpoint", daprHttpEndpoint, "dapr.grpc.endpoint", daprGrpcEndpoint ); WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(new Properties(overrides)); builder.registerWorkflow(TestWorkflow.class); builder.registerWorkflow(TestExecutionKeysWorkflow.class); builder.registerWorkflow(TestNamedActivitiesWorkflow.class); builder.registerActivity(FirstActivity.class); builder.registerActivity(SecondActivity.class); builder.registerActivity(TaskExecutionIdActivity.class); builder.registerActivity("a", FirstActivity.class); builder.registerActivity("b", FirstActivity.class); builder.registerActivity("c", new SecondActivity()); builder.registerActivity("d", new WorkflowActivity() { @Override public Object run(WorkflowActivityContext ctx) { TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.getPayloads().add("Anonymous Activity"); return workflowPayload; } }); builder.registerActivity("e", new WorkflowActivity() { @Override public Object run(WorkflowActivityContext ctx) { TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.getPayloads().add("Anonymous Activity 2"); return workflowPayload; } }); return builder; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/App2TransformActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class App2TransformActivity implements WorkflowActivity { private static final Logger logger = LoggerFactory.getLogger(App2TransformActivity.class); @Override public Object run(WorkflowActivityContext ctx) { String input = ctx.getInput(String.class); logger.info("=== App2: TransformActivity called ==="); logger.info("Input: {}", input); String output = input.toUpperCase() + " [TRANSFORMED BY APP2]"; logger.info("Output: {}", output); return output; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/App2Worker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; /** * App2Worker - registers the App2TransformActivity. * This app will handle multi-app activity calls from the main workflow. */ public class App2Worker { public static void main(String[] args) throws Exception { System.out.println("=== Starting App2Worker (App2TransformActivity) ==="); // Register the Activity with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder() .registerActivity(App2TransformActivity.class); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("App2Worker started - registered App2TransformActivity only"); System.out.println("App2 is ready to receive cross-app activity calls..."); System.out.println("Waiting for cross-app activity calls..."); runtime.start(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/App3FinalizeActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class App3FinalizeActivity implements WorkflowActivity { private static final Logger logger = LoggerFactory.getLogger(App3FinalizeActivity.class); @Override public Object run(WorkflowActivityContext ctx) { String input = ctx.getInput(String.class); logger.info("=== App3: FinalizeActivity called ==="); logger.info("Input: {}", input); String output = input + " [FINALIZED BY APP3]"; logger.info("Output: {}", output); return output; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/App3Worker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; /** * App3Worker - registers the App3FinalizeActivity. * This app will handle multi-app activity calls from the main workflow. */ public class App3Worker { public static void main(String[] args) throws Exception { System.out.println("=== Starting App3Worker (App3FinalizeActivity) ==="); // Register the Activity with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder() .registerActivity(App3FinalizeActivity.class); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("App3Worker started - registered App3FinalizeActivity only"); System.out.println("App3 is ready to receive cross-app activity calls..."); System.out.println("Waiting for cross-app activity calls..."); runtime.start(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/ChildTransformActivity.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Activity that runs within the child sub-orchestration on app2. * Transforms the input by uppercasing it and adding a marker. */ public class ChildTransformActivity implements WorkflowActivity { private static final Logger logger = LoggerFactory.getLogger(ChildTransformActivity.class); @Override public Object run(WorkflowActivityContext ctx) { String input = ctx.getInput(String.class); logger.info("ChildTransformActivity input: {}", input); String output = input.toUpperCase() + " [CHILD TRANSFORMED]"; logger.info("ChildTransformActivity output: {}", output); return output; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/MultiAppWorker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; /** * MultiAppWorker - registers only the MultiAppWorkflow. * This is the main workflow orchestrator that will call activities in other apps. */ public class MultiAppWorker { public static void main(String[] args) throws Exception { System.out.println("=== Starting MultiAppWorker (Workflow Orchestrator) ==="); // Register the Workflow with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder() .registerWorkflow(MultiAppWorkflow.class); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("MultiAppWorker started - registered MultiAppWorkflow only"); System.out.println("Waiting for workflow orchestration requests..."); runtime.start(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/MultiAppWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; import org.slf4j.Logger; public class MultiAppWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { Logger logger = ctx.getLogger(); String instanceId = ctx.getInstanceId(); logger.info("Starting MultiAppWorkflow: {}", ctx.getName()); logger.info("Instance ID: {}", instanceId); String input = ctx.getInput(String.class); logger.info("Workflow input: {}", input); // Call App2TransformActivity in app2 logger.info("Calling multi-app activity in 'app2'..."); String transformedByApp2 = ctx.callActivity( App2TransformActivity.class.getName(), input, new WorkflowTaskOptions("app2"), String.class ).await(); // Call App3FinalizeActivity in app3 logger.info("Calling multi-app activity in 'app3'..."); String finalizedByApp3 = ctx.callActivity( App3FinalizeActivity.class.getName(), transformedByApp2, new WorkflowTaskOptions("app3"), String.class ).await(); logger.info("Final multi-app activity result: {}", finalizedByApp3); ctx.complete(finalizedByApp3); }; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/SubOrchestrationChildWorker.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; /** * Worker for app2 that registers the child sub-orchestration workflow and its activity. */ public class SubOrchestrationChildWorker { public static void main(String[] args) throws Exception { WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder() .registerWorkflow(SubOrchestrationChildWorkflow.class) .registerActivity(ChildTransformActivity.class); try (WorkflowRuntime runtime = builder.build()) { System.out.println("SubOrchestrationChildWorker started - registered SubOrchestrationChildWorkflow and ChildTransformActivity"); runtime.start(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/SubOrchestrationChildWorkflow.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.slf4j.Logger; /** * Child workflow that runs on app2 as a sub-orchestration. * It calls a local activity to transform the input and returns the result. */ public class SubOrchestrationChildWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { Logger logger = ctx.getLogger(); logger.info("Starting SubOrchestrationChildWorkflow: {}", ctx.getName()); String input = ctx.getInput(String.class); logger.info("Child workflow input: {}", input); // Call a local activity within app2 String transformed = ctx.callActivity( ChildTransformActivity.class.getName(), input, String.class ).await(); logger.info("Child workflow transformed result: {}", transformed); ctx.complete(transformed); }; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/SubOrchestrationParentWorker.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; /** * Worker for the parent app that registers only the parent sub-orchestration workflow. */ public class SubOrchestrationParentWorker { public static void main(String[] args) throws Exception { WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder() .registerWorkflow(SubOrchestrationParentWorkflow.class); try (WorkflowRuntime runtime = builder.build()) { System.out.println("SubOrchestrationParentWorker started - registered SubOrchestrationParentWorkflow only"); runtime.start(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/SubOrchestrationParentWorkflow.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; import org.slf4j.Logger; /** * Parent workflow that calls a child sub-orchestration on a remote app (app2). * The child workflow processes the input and returns the result back to the parent. */ public class SubOrchestrationParentWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { Logger logger = ctx.getLogger(); String instanceId = ctx.getInstanceId(); logger.info("Starting SubOrchestrationParentWorkflow: {}", ctx.getName()); logger.info("Instance ID: {}", instanceId); String input = ctx.getInput(String.class); logger.info("Parent workflow input: {}", input); // Call SubOrchestrationChildWorkflow on app2 String childResult = ctx.callChildWorkflow( SubOrchestrationChildWorkflow.class.getName(), input, null, new WorkflowTaskOptions("app2"), String.class ).await(); logger.info("Child workflow result: {}", childResult); // Parent appends its own marker String finalResult = childResult + " [PARENT DONE]"; ctx.complete(finalResult); }; } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/WorkflowsMultiAppCallActivityIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.it.testcontainers.ContainerConstants; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.testcontainers.DaprPlacementContainer; import io.dapr.testcontainers.DaprSchedulerContainer; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import io.dapr.workflows.client.WorkflowRuntimeStatus; import io.dapr.config.Properties; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.utility.MountableFile; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; import java.time.Duration; import java.util.Map; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_PLACEMENT_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_SCHEDULER_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; /** * Multi-App Pattern integration test. * * This test demonstrates the multi-app pattern by: * 1. Starting 3 Dapr containers (multiapp-worker, app2, app3) * 2. Launching Java processes that register workflows/activities in separate apps * 3. Executing a multi-app workflow * 4. Asserting successful completion */ @Testcontainers @Tag("testcontainers") public class WorkflowsMultiAppCallActivityIT { private static final Network DAPR_NETWORK = Network.newNetwork(); @Container private final static DaprPlacementContainer sharedPlacementContainer = new DaprPlacementContainer(DAPR_PLACEMENT_IMAGE_TAG) .withNetwork(DAPR_NETWORK) .withNetworkAliases("placement") .withReuse(false); @Container private final static DaprSchedulerContainer sharedSchedulerContainer = new DaprSchedulerContainer(DAPR_SCHEDULER_IMAGE_TAG) .withNetwork(DAPR_NETWORK) .withNetworkAliases("scheduler") .withReuse(false); // Main workflow orchestrator container @Container private final static DaprContainer MAIN_WORKFLOW_SIDECAR = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("multiapp-worker") .withNetwork(DAPR_NETWORK) .withNetworkAliases("main-workflow-sidecar") .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withDaprLogLevel(DaprLogLevel.DEBUG) .dependsOn(sharedPlacementContainer, sharedSchedulerContainer) .withLogConsumer(outputFrame -> System.out.println("MAIN_WORKFLOW: " + outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal"); // App2 container for App2TransformActivity @Container private final static DaprContainer APP2_SIDECAR = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("app2") .withNetwork(DAPR_NETWORK) .withNetworkAliases("app2-sidecar") .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withAppChannelAddress("main-workflow-sidecar:3500") .withDaprLogLevel(DaprLogLevel.DEBUG) .dependsOn(sharedPlacementContainer, sharedSchedulerContainer, MAIN_WORKFLOW_SIDECAR) .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withLogConsumer(outputFrame -> System.out.println("APP2: " + outputFrame.getUtf8String())); // App3 container for App3FinalizeActivity @Container private final static DaprContainer APP3_SIDECAR = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("app3") .withNetwork(DAPR_NETWORK) .withNetworkAliases("app3-sidecar") .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withAppChannelAddress("main-workflow-sidecar:3500") .withDaprLogLevel(DaprLogLevel.DEBUG) .dependsOn(sharedPlacementContainer, sharedSchedulerContainer, MAIN_WORKFLOW_SIDECAR) .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withLogConsumer(outputFrame -> System.out.println("APP3: " + outputFrame.getUtf8String())); // TestContainers for each app @Container private static GenericContainer multiappWorker = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=multiapp-worker", "-Ddapr.grpc.endpoint=main-workflow-sidecar:50001", "-Ddapr.http.endpoint=main-workflow-sidecar:3500", "io.dapr.it.testcontainers.workflows.multiapp.MultiAppWorker") .withNetwork(DAPR_NETWORK) .dependsOn(MAIN_WORKFLOW_SIDECAR) .waitingFor(Wait.forLogMessage(".*MultiAppWorker started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("MultiAppWorker: " + outputFrame.getUtf8String())); @Container private final static GenericContainer app2Worker = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=app2", "-Ddapr.grpc.endpoint=app2-sidecar:50001", "-Ddapr.http.endpoint=app2-sidecar:3500", "io.dapr.it.testcontainers.workflows.multiapp.App2Worker") .withNetwork(DAPR_NETWORK) .dependsOn(APP2_SIDECAR) .waitingFor(Wait.forLogMessage(".*App2Worker started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("App2Worker: " + outputFrame.getUtf8String())); @Container private final static GenericContainer app3Worker = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=app3", "-Ddapr.grpc.endpoint=app3-sidecar:50001", "-Ddapr.http.endpoint=app3-sidecar:3500", "io.dapr.it.testcontainers.workflows.multiapp.App3Worker") .withNetwork(DAPR_NETWORK) .dependsOn(APP3_SIDECAR) .waitingFor(Wait.forLogMessage(".*App3Worker started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("App3Worker: " + outputFrame.getUtf8String())); @Test public void testMultiAppWorkflow() throws Exception { // TestContainers wait strategies ensure all containers are ready before this test runs String input = "Hello World"; String expectedOutput = "HELLO WORLD [TRANSFORMED BY APP2] [FINALIZED BY APP3]"; // Create workflow client connected to the main workflow orchestrator // Use the same endpoint configuration that the workers use // The workers use host.testcontainers.internal:50001 Map propertyOverrides = Map.of( "dapr.grpc.endpoint", MAIN_WORKFLOW_SIDECAR.getGrpcEndpoint(), "dapr.http.endpoint", MAIN_WORKFLOW_SIDECAR.getHttpEndpoint() ); Properties clientProperties = new Properties(propertyOverrides); DaprWorkflowClient workflowClient = new DaprWorkflowClient(clientProperties); try { String instanceId = workflowClient.scheduleNewWorkflow(MultiAppWorkflow.class, input); assertNotNull(instanceId, "Workflow instance ID should not be null"); workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(30), false); WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, null, true); assertNotNull(workflowStatus, "Workflow status should not be null"); assertEquals(WorkflowRuntimeStatus.COMPLETED, workflowStatus.getRuntimeStatus(), "Workflow should complete successfully"); String workflowOutput = workflowStatus.readOutputAs(String.class); assertEquals(expectedOutput, workflowOutput, "Workflow output should match expected result"); } finally { workflowClient.close(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/multiapp/WorkflowsMultiAppSubOrchestrationIT.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.testcontainers.workflows.multiapp; import io.dapr.it.testcontainers.ContainerConstants; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.testcontainers.DaprPlacementContainer; import io.dapr.testcontainers.DaprSchedulerContainer; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import io.dapr.workflows.client.WorkflowRuntimeStatus; import io.dapr.config.Properties; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.utility.MountableFile; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; import java.time.Duration; import java.util.Map; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_PLACEMENT_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_SCHEDULER_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; /** * Multi-App Sub-Orchestration integration test. * * This test demonstrates cross-app sub-orchestration by: * 1. Starting 2 Dapr containers (suborchestration-parent, app2) * 2. Launching Java processes that register workflows in separate apps * 3. The parent workflow calls a child workflow on app2 via callChildWorkflow * 4. The child workflow calls a local activity and returns the result * 5. Asserting successful completion with expected output */ @Testcontainers @Tag("testcontainers") public class WorkflowsMultiAppSubOrchestrationIT { private static final Network DAPR_NETWORK = Network.newNetwork(); @Container private final static DaprPlacementContainer sharedPlacementContainer = new DaprPlacementContainer(DAPR_PLACEMENT_IMAGE_TAG) .withNetwork(DAPR_NETWORK) .withNetworkAliases("placement") .withReuse(false); @Container private final static DaprSchedulerContainer sharedSchedulerContainer = new DaprSchedulerContainer(DAPR_SCHEDULER_IMAGE_TAG) .withNetwork(DAPR_NETWORK) .withNetworkAliases("scheduler") .withReuse(false); // Parent workflow orchestrator sidecar @Container private final static DaprContainer PARENT_WORKFLOW_SIDECAR = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("suborchestration-parent") .withNetwork(DAPR_NETWORK) .withNetworkAliases("parent-workflow-sidecar") .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withDaprLogLevel(DaprLogLevel.DEBUG) .dependsOn(sharedPlacementContainer, sharedSchedulerContainer) .withLogConsumer(outputFrame -> System.out.println("PARENT_WORKFLOW: " + outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal"); // App2 sidecar for the child sub-orchestration @Container private final static DaprContainer APP2_SIDECAR = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("app2") .withNetwork(DAPR_NETWORK) .withNetworkAliases("app2-sidecar") .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withAppChannelAddress("parent-workflow-sidecar:3500") .withDaprLogLevel(DaprLogLevel.DEBUG) .dependsOn(sharedPlacementContainer, sharedSchedulerContainer, PARENT_WORKFLOW_SIDECAR) .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withLogConsumer(outputFrame -> System.out.println("APP2: " + outputFrame.getUtf8String())); // Parent worker container - registers SubOrchestrationParentWorkflow @Container private static GenericContainer parentWorker = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=suborchestration-parent", "-Ddapr.grpc.endpoint=parent-workflow-sidecar:50001", "-Ddapr.http.endpoint=parent-workflow-sidecar:3500", "io.dapr.it.testcontainers.workflows.multiapp.SubOrchestrationParentWorker") .withNetwork(DAPR_NETWORK) .dependsOn(PARENT_WORKFLOW_SIDECAR) .waitingFor(Wait.forLogMessage(".*SubOrchestrationParentWorker started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("ParentWorker: " + outputFrame.getUtf8String())); // App2 worker container - registers SubOrchestrationChildWorkflow and ChildTransformActivity @Container private final static GenericContainer app2Worker = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=app2", "-Ddapr.grpc.endpoint=app2-sidecar:50001", "-Ddapr.http.endpoint=app2-sidecar:3500", "io.dapr.it.testcontainers.workflows.multiapp.SubOrchestrationChildWorker") .withNetwork(DAPR_NETWORK) .dependsOn(APP2_SIDECAR) .waitingFor(Wait.forLogMessage(".*SubOrchestrationChildWorker started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("App2Worker: " + outputFrame.getUtf8String())); @Test public void testMultiAppSubOrchestration() throws Exception { String input = "Hello World"; // Child transforms: "Hello World" -> "HELLO WORLD [CHILD TRANSFORMED]" // Parent appends: -> "HELLO WORLD [CHILD TRANSFORMED] [PARENT DONE]" String expectedOutput = "HELLO WORLD [CHILD TRANSFORMED] [PARENT DONE]"; Map propertyOverrides = Map.of( "dapr.grpc.endpoint", PARENT_WORKFLOW_SIDECAR.getGrpcEndpoint(), "dapr.http.endpoint", PARENT_WORKFLOW_SIDECAR.getHttpEndpoint() ); Properties clientProperties = new Properties(propertyOverrides); DaprWorkflowClient workflowClient = new DaprWorkflowClient(clientProperties); try { String instanceId = workflowClient.scheduleNewWorkflow(SubOrchestrationParentWorkflow.class, input); assertNotNull(instanceId, "Workflow instance ID should not be null"); workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(30), false); WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, null, true); assertNotNull(workflowStatus, "Workflow status should not be null"); assertEquals(WorkflowRuntimeStatus.COMPLETED, workflowStatus.getRuntimeStatus(), "Workflow should complete successfully"); String workflowOutput = workflowStatus.readOutputAs(String.class); assertEquals(expectedOutput, workflowOutput, "Workflow output should match expected result"); } finally { workflowClient.close(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/version/full/FullVersioningWorkflowsIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows.version.full; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.config.Properties; import io.dapr.it.spring.data.CustomMySQLContainer; import io.dapr.it.testcontainers.ContainerConstants; import io.dapr.it.testcontainers.workflows.TestWorkflowsApplication; import io.dapr.it.testcontainers.workflows.TestWorkflowsConfiguration; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.testcontainers.DaprPlacementContainer; import io.dapr.testcontainers.DaprSchedulerContainer; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.MySQLContainer; import org.testcontainers.containers.Network; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.containers.wait.strategy.WaitStrategy; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.utility.DockerImageName; import org.testcontainers.utility.MountableFile; import java.time.Duration; import java.time.temporal.ChronoUnit; import java.util.HashMap; import java.util.Map; import static io.dapr.it.spring.data.DaprSpringDataConstants.STATE_STORE_NAME; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_PLACEMENT_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_SCHEDULER_IMAGE_TAG; import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrowsExactly; @SpringBootTest( webEnvironment = WebEnvironment.RANDOM_PORT, classes = { TestWorkflowsConfiguration.class, TestWorkflowsApplication.class } ) @Testcontainers @Tag("testcontainers") public class FullVersioningWorkflowsIT { private static final Network DAPR_NETWORK = Network.newNetwork(); private static final WaitStrategy MYSQL_WAIT_STRATEGY = Wait .forLogMessage(".*port: 3306 MySQL Community Server \\(GPL\\).*", 1) .withStartupTimeout(Duration.of(60, ChronoUnit.SECONDS)); private static final String STATE_STORE_DSN = "mysql:password@tcp(mysql:3306)/"; private static final Map STATE_STORE_PROPERTIES = createStateStoreProperties(); @Container private static final MySQLContainer MY_SQL_CONTAINER = new CustomMySQLContainer<>("mysql:5.7.34") .withNetworkAliases("mysql") .withDatabaseName("dapr_db") .withUsername("mysql") .withPassword("password") .withNetwork(DAPR_NETWORK) .waitingFor(MYSQL_WAIT_STRATEGY); @Container private final static DaprPlacementContainer sharedPlacementContainer = new DaprPlacementContainer(DAPR_PLACEMENT_IMAGE_TAG) .withNetwork(DAPR_NETWORK) .withNetworkAliases("placement") .withReuse(false); @Container private final static DaprSchedulerContainer sharedSchedulerContainer = new DaprSchedulerContainer(DAPR_SCHEDULER_IMAGE_TAG) .withNetwork(DAPR_NETWORK) .withNetworkAliases("scheduler") .withReuse(false); @Container private static final DaprContainer DAPR_CONTAINER_V1 = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-worker") .withNetworkAliases("dapr-worker-v1") .withNetwork(DAPR_NETWORK) .withComponent(new Component(STATE_STORE_NAME, "state.mysql", "v1", STATE_STORE_PROPERTIES)) .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println("daprV1 -> " +outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .dependsOn(MY_SQL_CONTAINER, sharedPlacementContainer, sharedSchedulerContainer); private static final DaprContainer DAPR_CONTAINER_V2 = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-worker") .withNetworkAliases("dapr-worker-v2") .withNetwork(DAPR_NETWORK) .withComponent(new Component(STATE_STORE_NAME, "state.mysql", "v1", STATE_STORE_PROPERTIES)) .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println("daprV2 -> " + outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .dependsOn(MY_SQL_CONTAINER, sharedPlacementContainer, sharedSchedulerContainer); @Container private final static GenericContainer workerV1 = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=dapr-worker", "-Ddapr.grpc.endpoint=dapr-worker-v1:50001", "-Ddapr.http.endpoint=dapr-worker-v1:3500", "io.dapr.it.testcontainers.workflows.version.full.WorkflowV1Worker") .withNetwork(DAPR_NETWORK) .dependsOn(DAPR_CONTAINER_V1) .waitingFor(Wait.forLogMessage(".*WorkerV1 started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("WorkerV1: " + outputFrame.getUtf8String())); // This container will be started manually private final static GenericContainer workerV2 = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=dapr-worker", "-Ddapr.grpc.endpoint=dapr-worker-v2:50001", "-Ddapr.http.endpoint=dapr-worker-v2:3500", "io.dapr.it.testcontainers.workflows.version.full.WorkflowV2Worker") .withNetwork(DAPR_NETWORK) .dependsOn(DAPR_CONTAINER_V2) .waitingFor(Wait.forLogMessage(".*WorkerV2 started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("WorkerV2: " + outputFrame.getUtf8String())); private static Map createStateStoreProperties() { Map result = new HashMap<>(); result.put("keyPrefix", "name"); result.put("schemaName", "dapr_db"); result.put("actorStateStore", "true"); result.put("connectionString", STATE_STORE_DSN); return result; } @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER_V1::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER_V1::getGrpcEndpoint); } @Test public void testWorkflows() throws Exception { DaprWorkflowClient workflowClientV1 = daprWorkflowClient(DAPR_CONTAINER_V1.getHttpEndpoint(), DAPR_CONTAINER_V1.getGrpcEndpoint()); // Start workflow V1 String instanceIdV1 = workflowClientV1.scheduleNewWorkflow("VersionWorkflow"); workflowClientV1.waitForWorkflowStart(instanceIdV1, Duration.ofSeconds(10), false); // Stop worker and dapr workerV1.stop(); DAPR_CONTAINER_V1.stop(); // Start new worker with patched workflow DAPR_CONTAINER_V2.start(); workerV2.start(); Thread.sleep(1000); DaprWorkflowClient workflowClientV2 = daprWorkflowClient(DAPR_CONTAINER_V2.getHttpEndpoint(), DAPR_CONTAINER_V2.getGrpcEndpoint()); // Start workflow V2 String instanceIdV2 = workflowClientV2.scheduleNewWorkflow("VersionWorkflow"); workflowClientV2.waitForWorkflowStart(instanceIdV2, Duration.ofSeconds(10), false); // Continue workflow V1 workflowClientV2.raiseEvent(instanceIdV1, "test", null); // Wait for workflow to complete Duration timeout = Duration.ofSeconds(10); WorkflowState workflowStatusV1 = workflowClientV2.waitForWorkflowCompletion(instanceIdV1, timeout, true); WorkflowState workflowStatusV2 = workflowClientV2.waitForWorkflowCompletion(instanceIdV2, timeout, true); assertNotNull(workflowStatusV1); assertNotNull(workflowStatusV2); String resultV1 = workflowStatusV1.readOutputAs(String.class); assertEquals("Activity1, Activity2", resultV1); String resultV2 = workflowStatusV2.readOutputAs(String.class); assertEquals("Activity3, Activity4", resultV2); } public DaprWorkflowClient daprWorkflowClient( String daprHttpEndpoint, String daprGrpcEndpoint ){ Map overrides = Map.of( "dapr.http.endpoint", daprHttpEndpoint, "dapr.grpc.endpoint", daprGrpcEndpoint ); return new DaprWorkflowClient(new Properties(overrides)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/version/full/VersionedWorkflows.java ================================================ package io.dapr.it.testcontainers.workflows.version.full; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class VersionedWorkflows { public static final String ACTIVITY_1 = "Activity1"; public static final String ACTIVITY_2 = "Activity2"; public static final String ACTIVITY_3 = "Activity3"; public static final String ACTIVITY_4 = "Activity4"; public static class FullVersionWorkflowV1 implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow V1: {}", ctx.getName()); String result = ""; result += ctx.callActivity(VersionedWorkflows.ACTIVITY_1, String.class).await() +", "; ctx.waitForExternalEvent("test").await(); result += ctx.callActivity(VersionedWorkflows.ACTIVITY_2, String.class).await(); ctx.getLogger().info("Workflow finished with result: {}", result); ctx.complete(result); }; } } public static class FullVersionWorkflowV2 implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow V2: {}", ctx.getName()); String result = ""; result += ctx.callActivity(VersionedWorkflows.ACTIVITY_3, String.class).await() +", "; result += ctx.callActivity(VersionedWorkflows.ACTIVITY_4, String.class).await(); ctx.getLogger().info("Workflow finished with result: {}", result); ctx.complete(result); }; } } public static void addWorkflowV1(WorkflowRuntimeBuilder workflowRuntimeBuilder, boolean isLatest) { workflowRuntimeBuilder.registerWorkflow("VersionWorkflow", VersionedWorkflows.FullVersionWorkflowV1.class, "V1", isLatest); workflowRuntimeBuilder.registerActivity(VersionedWorkflows.ACTIVITY_1, (ctx -> { System.out.println("Activity1 called."); return VersionedWorkflows.ACTIVITY_1; })); workflowRuntimeBuilder.registerActivity(VersionedWorkflows.ACTIVITY_2, (ctx -> { System.out.println("Activity2 called."); return VersionedWorkflows.ACTIVITY_2; })); } public static void addWorkflowV2(WorkflowRuntimeBuilder workflowRuntimeBuilder) { workflowRuntimeBuilder.registerWorkflow("VersionWorkflow", VersionedWorkflows.FullVersionWorkflowV2.class, "V2", true); workflowRuntimeBuilder.registerActivity(VersionedWorkflows.ACTIVITY_3, (ctx -> { System.out.println("Activity3 called."); return VersionedWorkflows.ACTIVITY_3; })); workflowRuntimeBuilder.registerActivity(VersionedWorkflows.ACTIVITY_4, (ctx -> { System.out.println("Activity4 called."); return VersionedWorkflows.ACTIVITY_4; })); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/version/full/WorkflowV1Worker.java ================================================ package io.dapr.it.testcontainers.workflows.version.full; import io.dapr.it.testcontainers.workflows.multiapp.MultiAppWorkflow; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class WorkflowV1Worker { public static void main(String[] args) throws Exception { System.out.println("=== Starting Workflow V1 Runtime ==="); // Register the Workflow with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(); VersionedWorkflows.addWorkflowV1(builder, true); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("WorkerV1 started"); System.out.println("Waiting for workflow orchestration requests..."); runtime.start(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/version/full/WorkflowV2Worker.java ================================================ package io.dapr.it.testcontainers.workflows.version.full; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class WorkflowV2Worker { public static void main(String[] args) throws Exception { System.out.println("=== Starting Workflow V2 Runtime ==="); // Register the Workflow with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(); VersionedWorkflows.addWorkflowV1(builder, false); VersionedWorkflows.addWorkflowV2(builder); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("WorkerV2 started"); System.out.println("Waiting for workflow orchestration requests..."); runtime.start(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/version/patch/PatchVersioningWorkflowsIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.testcontainers.workflows.version.patch; import io.dapr.config.Properties; import io.dapr.it.spring.data.CustomMySQLContainer; import io.dapr.it.testcontainers.ContainerConstants; import io.dapr.it.testcontainers.workflows.TestWorkflowsApplication; import io.dapr.it.testcontainers.workflows.TestWorkflowsConfiguration; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.testcontainers.DaprPlacementContainer; import io.dapr.testcontainers.DaprSchedulerContainer; import io.dapr.testcontainers.WorkflowDashboardContainer; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.MySQLContainer; import org.testcontainers.containers.Network; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.containers.wait.strategy.WaitStrategy; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.utility.DockerImageName; import org.testcontainers.utility.MountableFile; import java.time.Duration; import java.time.temporal.ChronoUnit; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.it.spring.data.DaprSpringDataConstants.STATE_STORE_NAME; import static io.dapr.it.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_PLACEMENT_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_SCHEDULER_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @SpringBootTest( webEnvironment = WebEnvironment.RANDOM_PORT, classes = { TestWorkflowsConfiguration.class, TestWorkflowsApplication.class } ) @Testcontainers @Tag("testcontainers") public class PatchVersioningWorkflowsIT { private static final Network DAPR_NETWORK = Network.newNetwork(); private static final WaitStrategy MYSQL_WAIT_STRATEGY = Wait .forLogMessage(".*port: 3306 MySQL Community Server \\(GPL\\).*", 1) .withStartupTimeout(Duration.of(60, ChronoUnit.SECONDS)); private static final String STATE_STORE_DSN = "mysql:password@tcp(mysql:3306)/"; private static final Map STATE_STORE_PROPERTIES = createStateStoreProperties(); @Container private static final MySQLContainer MY_SQL_CONTAINER = new CustomMySQLContainer<>("mysql:5.7.34") .withNetworkAliases("mysql") .withDatabaseName("dapr_db") .withUsername("mysql") .withPassword("password") .withNetwork(DAPR_NETWORK) .waitingFor(MYSQL_WAIT_STRATEGY); @Container private final static DaprPlacementContainer sharedPlacementContainer = new DaprPlacementContainer(DAPR_PLACEMENT_IMAGE_TAG) .withNetwork(DAPR_NETWORK) .withNetworkAliases("placement") .withReuse(false); @Container private final static DaprSchedulerContainer sharedSchedulerContainer = new DaprSchedulerContainer(DAPR_SCHEDULER_IMAGE_TAG) .withNetwork(DAPR_NETWORK) .withNetworkAliases("scheduler") .withReuse(false); @Container private static final DaprContainer DAPR_CONTAINER_V1 = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-patch-worker") .withNetworkAliases("dapr-worker-v1") .withNetwork(DAPR_NETWORK) .withComponent(new Component(STATE_STORE_NAME, "state.mysql", "v1", STATE_STORE_PROPERTIES)) .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println("PatchDaprV1 -> " +outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .dependsOn(MY_SQL_CONTAINER, sharedPlacementContainer, sharedSchedulerContainer); private static final DaprContainer DAPR_CONTAINER_V2 = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-patch-worker") .withNetworkAliases("dapr-worker-v2") .withNetwork(DAPR_NETWORK) .withComponent(new Component(STATE_STORE_NAME, "state.mysql", "v1", STATE_STORE_PROPERTIES)) .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println("PatchDaprV2 -> " + outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .dependsOn(MY_SQL_CONTAINER, sharedPlacementContainer, sharedSchedulerContainer); @Container private final static GenericContainer workerV1 = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=dapr-worker", "-Ddapr.grpc.endpoint=dapr-worker-v1:50001", "-Ddapr.http.endpoint=dapr-worker-v1:3500", "io.dapr.it.testcontainers.workflows.version.patch.WorkflowV1Worker") .withNetwork(DAPR_NETWORK) .dependsOn(DAPR_CONTAINER_V1) .waitingFor(Wait.forLogMessage(".*Simple Worker started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("PatchWorkerV1: " + outputFrame.getUtf8String())); // This container will be started manually private final static GenericContainer workerV2 = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=dapr-worker", "-Ddapr.grpc.endpoint=dapr-worker-v2:50001", "-Ddapr.http.endpoint=dapr-worker-v2:3500", "io.dapr.it.testcontainers.workflows.version.patch.WorkflowV2Worker") .withNetwork(DAPR_NETWORK) .dependsOn(DAPR_CONTAINER_V2) .waitingFor(Wait.forLogMessage(".*Patch Worker started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("PatchWorkerV2: " + outputFrame.getUtf8String())); private static Map createStateStoreProperties() { Map result = new HashMap<>(); result.put("keyPrefix", "name"); result.put("schemaName", "dapr_db"); result.put("actorStateStore", "true"); result.put("connectionString", STATE_STORE_DSN); return result; } @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER_V1::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER_V1::getGrpcEndpoint); } @Test public void testWorkflows() throws Exception { DaprWorkflowClient workflowClientV1 = daprWorkflowClient(DAPR_CONTAINER_V1.getHttpEndpoint(), DAPR_CONTAINER_V1.getGrpcEndpoint()); // Start workflow V1 String instanceIdV1 = workflowClientV1.scheduleNewWorkflow(PatchedWorkflows.NAME); workflowClientV1.waitForWorkflowStart(instanceIdV1, Duration.ofSeconds(10), false); // Wait to workflow to complete the first activity Thread.sleep(2000); // Stop worker and dapr workerV1.stop(); DAPR_CONTAINER_V1.stop(); // Start new worker with patched workflow DAPR_CONTAINER_V2.start(); workerV2.start(); DaprWorkflowClient workflowClientV2 = daprWorkflowClient(DAPR_CONTAINER_V2.getHttpEndpoint(), DAPR_CONTAINER_V2.getGrpcEndpoint()); // Start workflow V2 String instanceIdV2 = workflowClientV2.scheduleNewWorkflow(PatchedWorkflows.NAME); workflowClientV2.waitForWorkflowStart(instanceIdV2, Duration.ofSeconds(10), false); // Continue workflow V1 workflowClientV2.raiseEvent(instanceIdV1, "test", null); workflowClientV2.raiseEvent(instanceIdV2, "test", null); // Wait for workflow to complete Duration timeout = Duration.ofSeconds(10); WorkflowState workflowStatusV1 = workflowClientV2.waitForWorkflowCompletion(instanceIdV1, timeout, true); WorkflowState workflowStatusV2 = workflowClientV2.waitForWorkflowCompletion(instanceIdV2, timeout, true); assertNotNull(workflowStatusV1); assertNotNull(workflowStatusV2); String resultV1 = workflowStatusV1.readOutputAs(String.class); assertEquals("Activity1, Activity2", resultV1); String resultV2 = workflowStatusV2.readOutputAs(String.class); assertEquals("Activity1, Activity3, Activity4, Activity2", resultV2); } public DaprWorkflowClient daprWorkflowClient( String daprHttpEndpoint, String daprGrpcEndpoint ){ Map overrides = Map.of( "dapr.http.endpoint", daprHttpEndpoint, "dapr.grpc.endpoint", daprGrpcEndpoint ); return new DaprWorkflowClient(new Properties(overrides)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/version/patch/PatchedWorkflows.java ================================================ package io.dapr.it.testcontainers.workflows.version.patch; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class PatchedWorkflows { public static final String ACTIVITY_1 = "Activity1"; public static final String ACTIVITY_2 = "Activity2"; public static final String ACTIVITY_3 = "Activity3"; public static final String ACTIVITY_4 = "Activity4"; public static final String NAME = "VersionWorkflow"; public static class SimmpleWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: {}", ctx.getName()); String result = ""; result += ctx.callActivity(PatchedWorkflows.ACTIVITY_1, String.class).await() +", "; ctx.waitForExternalEvent("test").await(); result += ctx.callActivity(PatchedWorkflows.ACTIVITY_2, String.class).await(); ctx.getLogger().info("Workflow finished with result: {}", result); ctx.complete(result); }; } } public static class PatchSimpleWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow with patch V2: {}", ctx.getName()); String result = ""; result += ctx.callActivity(PatchedWorkflows.ACTIVITY_1, String.class).await() +", "; var isPatched = ctx.isPatched("V2"); if(isPatched) { result += ctx.callActivity(PatchedWorkflows.ACTIVITY_3, String.class).await() + ", "; result += ctx.callActivity(PatchedWorkflows.ACTIVITY_4, String.class).await() + ", "; } ctx.waitForExternalEvent("test").await(); result += ctx.callActivity(PatchedWorkflows.ACTIVITY_2, String.class).await(); ctx.getLogger().info("Workflow finished with result: {}", result); ctx.complete(result); }; } } public static void addSimpleWorkflow(WorkflowRuntimeBuilder workflowRuntimeBuilder) { workflowRuntimeBuilder.registerWorkflow(NAME, SimmpleWorkflow.class); workflowRuntimeBuilder.registerActivity(PatchedWorkflows.ACTIVITY_1, (ctx -> { System.out.println("Activity1 called."); return PatchedWorkflows.ACTIVITY_1; })); workflowRuntimeBuilder.registerActivity(PatchedWorkflows.ACTIVITY_2, (ctx -> { System.out.println("Activity2 called."); return PatchedWorkflows.ACTIVITY_2; })); } public static void addPatchWorkflow(WorkflowRuntimeBuilder workflowRuntimeBuilder) { workflowRuntimeBuilder.registerWorkflow(NAME, PatchSimpleWorkflow.class); workflowRuntimeBuilder.registerActivity(PatchedWorkflows.ACTIVITY_1, (ctx -> { System.out.println("Activity1 called."); return PatchedWorkflows.ACTIVITY_1; })); workflowRuntimeBuilder.registerActivity(PatchedWorkflows.ACTIVITY_2, (ctx -> { System.out.println("Activity2 called."); return PatchedWorkflows.ACTIVITY_2; })); workflowRuntimeBuilder.registerActivity(PatchedWorkflows.ACTIVITY_3, (ctx -> { System.out.println("Activity3 called."); return PatchedWorkflows.ACTIVITY_3; })); workflowRuntimeBuilder.registerActivity(PatchedWorkflows.ACTIVITY_4, (ctx -> { System.out.println("Activity4 called."); return PatchedWorkflows.ACTIVITY_4; })); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/version/patch/WorkflowV1Worker.java ================================================ package io.dapr.it.testcontainers.workflows.version.patch; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class WorkflowV1Worker { public static void main(String[] args) throws Exception { System.out.println("=== Starting Simple Workflow Runtime ==="); // Register the Workflow with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(); PatchedWorkflows.addSimpleWorkflow(builder); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("Simple Worker started"); System.out.println("Waiting for workflow orchestration requests..."); runtime.start(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/version/patch/WorkflowV2Worker.java ================================================ package io.dapr.it.testcontainers.workflows.version.patch; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; public class WorkflowV2Worker { public static void main(String[] args) throws Exception { System.out.println("=== Starting Patch Workflow Runtime ==="); // Register the Workflow with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(); PatchedWorkflows.addPatchWorkflow(builder); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("Patch Worker started"); System.out.println("Waiting for workflow orchestration requests..."); runtime.start(); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/tracing/OpenTelemetry.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.tracing; import io.dapr.utils.NetworkUtils; import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator; import io.opentelemetry.context.Context; import io.opentelemetry.context.propagation.ContextPropagators; import io.opentelemetry.context.propagation.TextMapSetter; import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter; import io.opentelemetry.sdk.OpenTelemetrySdk; import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import java.util.HashMap; import java.util.Map; public class OpenTelemetry { private static final int ZIPKIN_PORT = 9411; private static final String ENDPOINT_V2_SPANS = "/api/v2/spans"; /** * Creates an opentelemetry instance. * @param serviceName Name of the service in Zipkin * @return OpenTelemetry. */ public static io.opentelemetry.api.OpenTelemetry createOpenTelemetry(String serviceName) throws InterruptedException { waitForZipkin(); String httpUrl = String.format("http://localhost:%d", ZIPKIN_PORT); ZipkinSpanExporter zipkinExporter = ZipkinSpanExporter.builder().setEndpoint(httpUrl + ENDPOINT_V2_SPANS).build(); SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder() .addSpanProcessor(SimpleSpanProcessor.create(zipkinExporter)) .build(); return OpenTelemetrySdk.builder() .setTracerProvider(sdkTracerProvider) .setPropagators(ContextPropagators.create(W3CTraceContextPropagator.getInstance())) .build(); } /** * Converts current OpenTelemetry's context into Reactor's context. * @return Reactor's context. */ public static reactor.util.context.Context getReactorContext(io.opentelemetry.api.OpenTelemetry openTelemetry) { return getReactorContext(openTelemetry, Context.current()); } /** * Converts given OpenTelemetry's context into Reactor's context. * @param context OpenTelemetry's context. * @return Reactor's context. */ public static reactor.util.context.Context getReactorContext(io.opentelemetry.api.OpenTelemetry openTelemetry, Context context) { Map map = new HashMap<>(); TextMapSetter> setter = (carrier, key, value) -> map.put(key, value); openTelemetry.getPropagators().getTextMapPropagator().inject(context, map, setter); reactor.util.context.Context reactorContext = reactor.util.context.Context.empty(); for (Map.Entry entry : map.entrySet()) { reactorContext = reactorContext.put(entry.getKey(), entry.getValue()); } return reactorContext; } private static void waitForZipkin() throws InterruptedException { NetworkUtils.waitForSocket("127.0.0.1", ZIPKIN_PORT, 10000); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/tracing/Validation.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.tracing; import com.jayway.jsonpath.DocumentContext; import com.jayway.jsonpath.JsonPath; import net.minidev.json.JSONArray; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; /** * Class used to verify that traces are present as expected. * * Checks for the main span and then checks for its child span for `sleep` API call. */ public final class Validation { private static final HttpClient HTTP_CLIENT = HttpClient.newBuilder() .version(HttpClient.Version.HTTP_1_1) .build(); private static final String TRACES_URL = "http://localhost:9411/api/v2/traces?limit=100"; /** * JSON Path for main span Id. */ public static final String JSONPATH_MAIN_SPAN_ID = "$..[?(@.name == \"%s\")]['id']"; /** * JSON Path for child span Id where duration is greater than 1s. */ public static final String JSONPATH_SLEEP_SPAN_ID = "$..[?(@.parentId=='%s' && @.duration > 1000000 && @.name=='%s')]['id']"; public static void validate(String spanName, String sleepSpanName) throws Exception { // Must wait for some time to make sure Zipkin receives all spans. Thread.sleep(10000); HttpRequest request = HttpRequest.newBuilder() .GET() .uri(URI.create(TRACES_URL)) .build(); HttpResponse response = HTTP_CLIENT.send(request, HttpResponse.BodyHandlers.ofString()); DocumentContext documentContext = JsonPath.parse(response.body()); String mainSpanId = readOne(documentContext, String.format(JSONPATH_MAIN_SPAN_ID, spanName)).toString(); assertNotNull(mainSpanId); String sleepSpanId = readOne(documentContext, String.format(JSONPATH_SLEEP_SPAN_ID, mainSpanId, sleepSpanName)) .toString(); assertNotNull(sleepSpanId); } private static Object readOne(DocumentContext documentContext, String path) { JSONArray arr = documentContext.read(path); assertFalse(arr.isEmpty()); return arr.get(0); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/tracing/grpc/Service.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.tracing.grpc; import com.google.protobuf.Any; import io.dapr.grpc.GrpcHealthCheckService; import io.dapr.it.DaprRunConfig; import io.dapr.v1.AppCallbackGrpc; import io.dapr.v1.CommonProtos; import io.grpc.Server; import io.grpc.ServerBuilder; import io.grpc.stub.StreamObserver; import java.io.IOException; import static io.dapr.it.MethodInvokeServiceProtos.SleepRequest; import static io.dapr.it.MethodInvokeServiceProtos.SleepResponse; @DaprRunConfig( enableAppHealthCheck = true ) public class Service { public static final String SUCCESS_MESSAGE = "application discovered on port "; /** * Server mode: class that encapsulates all server-side logic for Grpc. */ private static class MyDaprService extends AppCallbackGrpc.AppCallbackImplBase { /** * Server mode: Grpc server. */ private Server server; /** * Server mode: starts listening on given port. * * @param port Port to listen on. * @throws IOException Errors while trying to start service. */ private void start(int port) throws IOException { this.server = ServerBuilder .forPort(port) .addService(this) .addService(new GrpcHealthCheckService()) .build() .start(); System.out.printf("Server: started listening on port %d\n", port); // Now we handle ctrl+c (or any other JVM shutdown) Runtime.getRuntime().addShutdownHook(new Thread(() -> { System.out.println("Server: shutting down gracefully ..."); MyDaprService.this.server.shutdown(); System.out.println("Server: Bye."); })); } /** * Server mode: waits for shutdown trigger. * * @throws InterruptedException Propagated interrupted exception. */ private void awaitTermination() throws InterruptedException { if (this.server != null) { this.server.awaitTermination(); } } /** * Server mode: this is the Dapr method to receive Invoke operations via Grpc. * * @param request Dapr envelope request, * @param responseObserver Dapr envelope response. */ @Override public void onInvoke(CommonProtos.InvokeRequest request, StreamObserver responseObserver) { try { if ("sleepOverGRPC".equals(request.getMethod())) { SleepRequest req = SleepRequest.parseFrom(request.getData().getValue().toByteArray()); SleepResponse res = this.sleep(req); CommonProtos.InvokeResponse.Builder responseBuilder = CommonProtos.InvokeResponse.newBuilder(); responseBuilder.setData(Any.pack(res)); responseObserver.onNext(responseBuilder.build()); } } catch (Exception e) { responseObserver.onError(e); } finally { responseObserver.onCompleted(); } } public SleepResponse sleep(SleepRequest request) { if (request.getSeconds() < 0) { throw new IllegalArgumentException("Sleep time cannot be negative."); } try { Thread.sleep(request.getSeconds() * 1000); } catch (InterruptedException e) { Thread.currentThread().interrupt(); new RuntimeException(e); } // Now respond with current timestamp. return SleepResponse.newBuilder().build(); } } /** * This is the main method of this app. * @param args The port to listen on. * @throws Exception An Exception. */ public static void main(String[] args) throws Exception { int port = Integer.parseInt(args[0]); System.out.printf("Service starting on port %d ...\n", port); final MyDaprService service = new MyDaprService(); service.start(port); service.awaitTermination(); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/tracing/grpc/TracingIT.java ================================================ package io.dapr.it.tracing.grpc; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.HttpExtension; import io.dapr.it.AppRun; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.it.tracing.Validation; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.context.Scope; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.util.UUID; import static io.dapr.it.MethodInvokeServiceProtos.SleepRequest; import static io.dapr.it.tracing.OpenTelemetry.createOpenTelemetry; import static io.dapr.it.tracing.OpenTelemetry.getReactorContext; @SuppressWarnings("deprecation") public class TracingIT extends BaseIT { /** * Run of a Dapr application. */ private DaprRun daprRun = null; @BeforeEach public void setup() throws Exception { daprRun = startDaprApp( TracingIT.class.getSimpleName() + "grpc", Service.SUCCESS_MESSAGE, Service.class, AppRun.AppProtocol.GRPC, // appProtocol 60000); daprRun.waitForAppHealth(10000); } @Test public void testInvoke() throws Exception { OpenTelemetry openTelemetry = createOpenTelemetry("service over grpc"); Tracer tracer = openTelemetry.getTracer("grpc integration test tracer"); String spanName = UUID.randomUUID().toString(); Span span = tracer.spanBuilder(spanName).setSpanKind(SpanKind.CLIENT).startSpan(); try (DaprClient client = daprRun.newDaprClientBuilder().build()) { client.waitForSidecar(10000).block(); try (Scope scope = span.makeCurrent()) { SleepRequest req = SleepRequest.newBuilder().setSeconds(1).build(); client.invokeMethod(daprRun.getAppName(), "sleepOverGRPC", req.toByteArray(), HttpExtension.POST) .contextWrite(getReactorContext(openTelemetry)) .block(); } } span.end(); Validation.validate(spanName, "calllocal/tracingitgrpc-service/sleepovergrpc"); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/tracing/http/Controller.java ================================================ package io.dapr.it.tracing.http; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; /** * SpringBoot Controller to handle input binding. */ @RestController public class Controller { @PostMapping(path = "/sleep") public void sleep(@RequestBody int seconds) throws InterruptedException { if (seconds < 0) { throw new IllegalArgumentException("Sleep time cannot be negative."); } Thread.sleep(seconds * 1000); } @GetMapping(path = "/health") public void health() { } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/tracing/http/OpenTelemetryConfig.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.tracing.http; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.trace.Tracer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class OpenTelemetryConfig { public static final String TRACER_NAME = "integration testing tracer"; public static final String SERVICE_NAME = "integration testing service over http"; @Bean public OpenTelemetry initOpenTelemetry() throws InterruptedException { return io.dapr.it.tracing.OpenTelemetry.createOpenTelemetry(SERVICE_NAME); } @Bean public Tracer initTracer(@Autowired OpenTelemetry openTelemetry) { return openTelemetry.getTracer(TRACER_NAME); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/tracing/http/OpenTelemetryInterceptor.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.tracing.http; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.context.Context; import io.opentelemetry.context.propagation.TextMapGetter; import io.opentelemetry.context.propagation.TextMapPropagator; import jakarta.servlet.DispatcherType; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import java.util.Collections; @Component public class OpenTelemetryInterceptor implements HandlerInterceptor { @Autowired private OpenTelemetry openTelemetry; // Implementation for springboot 3.0, which uses jakarta.servlet instead of javax.servlet private static final TextMapGetter JAKARTA_HTTP_SERVLET_REQUEST_GETTER = new TextMapGetter<>() { @Override public Iterable keys(HttpServletRequest carrier) { return Collections.list(carrier.getHeaderNames()); } @Override public String get(HttpServletRequest carrier, String key) { return carrier.getHeader(key); } }; public boolean preHandle( HttpServletRequest request, HttpServletResponse response, Object handler) { final TextMapPropagator textFormat = openTelemetry.getPropagators().getTextMapPropagator(); // preHandle is called twice for asynchronous request. For more information, read: // https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/AsyncHandlerInterceptor.html if (request.getDispatcherType() == DispatcherType.ASYNC) { return true; } Context context = textFormat.extract(Context.current(), request, JAKARTA_HTTP_SERVLET_REQUEST_GETTER); request.setAttribute("opentelemetry-context", context); return true; } public void postHandle( HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) { // There is no global context to be changed in post handle since it is done in preHandle on a new call. } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/tracing/http/OpenTelemetryInterceptorConfig.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.tracing.http; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; @Component public class OpenTelemetryInterceptorConfig extends WebMvcConfigurationSupport { @Autowired OpenTelemetryInterceptor interceptor; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(interceptor); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/tracing/http/Service.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.tracing.http; import io.dapr.it.DaprRunConfig; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Service for subscriber. */ @DaprRunConfig( enableAppHealthCheck = true ) @SpringBootApplication public class Service { public static final String SUCCESS_MESSAGE = "Completed initialization in"; public static void main(String[] args) { int port = Integer.parseInt(args[0]); System.out.printf("Service starting on port %d ...\n", port); // Start Dapr's callback endpoint. start(port); } /** * Starts Dapr's callback in a given port. * * @param port Port to listen to. */ private static void start(int port) { SpringApplication app = new SpringApplication(Service.class); app.run(String.format("--server.port=%d", port)); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/it/tracing/http/TracingIT.java ================================================ package io.dapr.it.tracing.http; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.HttpExtension; import io.dapr.it.BaseIT; import io.dapr.it.DaprRun; import io.dapr.it.tracing.Validation; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.context.Scope; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.util.UUID; import static io.dapr.it.tracing.OpenTelemetry.createOpenTelemetry; import static io.dapr.it.tracing.OpenTelemetry.getReactorContext; @SuppressWarnings("deprecation") public class TracingIT extends BaseIT { /** * Run of a Dapr application. */ private DaprRun daprRun = null; @BeforeEach public void setup() throws Exception { daprRun = startDaprApp( TracingIT.class.getSimpleName() + "http", Service.SUCCESS_MESSAGE, Service.class, true, 30000); // Wait since service might be ready even after port is available. Thread.sleep(2000); } @Test public void testInvoke() throws Exception { OpenTelemetry openTelemetry = createOpenTelemetry(OpenTelemetryConfig.SERVICE_NAME); Tracer tracer = openTelemetry.getTracer(OpenTelemetryConfig.TRACER_NAME); String spanName = UUID.randomUUID().toString(); Span span = tracer.spanBuilder(spanName).setSpanKind(SpanKind.CLIENT).startSpan(); try (DaprClient client = daprRun.newDaprClientBuilder().build()) { client.waitForSidecar(10000).block(); try (Scope scope = span.makeCurrent()) { client.invokeMethod(daprRun.getAppName(), "sleep", 1, HttpExtension.POST) .contextWrite(getReactorContext(openTelemetry)) .block(); } } span.end(); Validation.validate(spanName, "calllocal/tracingithttp-service/sleep"); } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/testcontainers/internal/DaprContainerFactory.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.internal; import io.dapr.testcontainers.DaprContainer; import java.io.IOException; import java.net.ServerSocket; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; /** * Factory for creating DaprContainer instances configured for Spring Boot integration tests. * *

    This class handles the common setup required for bidirectional communication * between Spring Boot applications and the Dapr sidecar in test scenarios.

    */ public final class DaprContainerFactory { private DaprContainerFactory() { // Utility class } /** * Creates a DaprContainer pre-configured for Spring Boot integration tests. * This factory method handles the common setup required for bidirectional * communication between Spring Boot and the Dapr sidecar: *
      *
    • Allocates a free port for the Spring Boot application
    • *
    • Configures the app channel address for container-to-host communication
    • *
    * * @param appName the Dapr application name * @return a pre-configured DaprContainer for Spring Boot tests */ public static DaprContainer createForSpringBootTest(String appName) { int port = allocateFreePort(); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName(appName) .withAppPort(port) .withAppChannelAddress("host.testcontainers.internal"); } private static int allocateFreePort() { try (ServerSocket socket = new ServerSocket(0)) { socket.setReuseAddress(true); return socket.getLocalPort(); } catch (IOException e) { throw new IllegalStateException("Failed to allocate free port", e); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/testcontainers/internal/DaprSidecarContainer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.internal; import io.dapr.testcontainers.internal.spring.DaprSpringBootTest; import org.testcontainers.junit.jupiter.Container; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Marks a static field containing a {@link io.dapr.testcontainers.DaprContainer} * for automatic integration with Spring Boot tests. * *

    This annotation combines the Testcontainers {@link Container} annotation * with Dapr-specific configuration. When used with {@link DaprSpringBootTest}, * it automatically:

    *
      *
    • Manages the container lifecycle via Testcontainers
    • *
    • Configures Spring properties (server.port, dapr.http.endpoint, dapr.grpc.endpoint)
    • *
    * *

    Important: For tests that require Dapr-to-app communication (like actor tests), * you must call {@code Testcontainers.exposeHostPorts(container.getAppPort())} * in your {@code @BeforeEach} method before registering actors or making Dapr calls.

    * *

    Example usage:

    *
    {@code
     * @DaprSpringBootTest(classes = MyApplication.class)
     * class MyDaprIT {
     *
     *     @DaprSidecarContainer
     *     private static final DaprContainer DAPR = DaprContainer.createForSpringBootTest("my-app")
     *         .withComponent(new Component("statestore", "state.in-memory", "v1", Map.of()));
     *
     *     @BeforeEach
     *     void setUp() {
     *         Testcontainers.exposeHostPorts(DAPR.getAppPort());
     *     }
     *
     *     @Test
     *     void testSomething() {
     *         // Your test code here
     *     }
     * }
     * }
    * * @see DaprSpringBootTest * @see io.dapr.testcontainers.DaprContainer#createForSpringBootTest(String) */ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) @Container public @interface DaprSidecarContainer { } ================================================ FILE: sdk-tests/src/test/java/io/dapr/testcontainers/internal/spring/DaprSpringBootContextInitializer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.internal.spring; import io.dapr.testcontainers.DaprContainer; import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.env.MapPropertySource; import java.util.HashMap; import java.util.Map; import java.util.function.Supplier; /** * Spring {@link ApplicationContextInitializer} that configures Dapr-related properties * based on the {@link DaprContainer} registered by {@link DaprSpringBootExtension}. * *

    This initializer sets the following properties:

    *
      *
    • {@code server.port} - The port allocated for the Spring Boot application
    • *
    • {@code dapr.http.endpoint} - The HTTP endpoint of the Dapr sidecar
    • *
    • {@code dapr.grpc.endpoint} - The gRPC endpoint of the Dapr sidecar
    • *
    * *

    This initializer is automatically registered when using {@link DaprSpringBootTest}.

    */ public class DaprSpringBootContextInitializer implements ApplicationContextInitializer { private static final String PROPERTY_SOURCE_NAME = "daprTestcontainersProperties"; @Override public void initialize(ConfigurableApplicationContext applicationContext) { DaprContainer container = findContainer(); if (container == null) { throw new IllegalStateException( "No DaprContainer found in registry. Ensure you are using @DaprSpringBootTest " + "with a @DaprSidecarContainer annotated field." ); } // Create a property source with lazy resolution for endpoints // server.port can be resolved immediately since it's set at container creation time // Dapr endpoints are resolved lazily since the container may not be started yet applicationContext.getEnvironment().getPropertySources() .addFirst(new DaprLazyPropertySource(PROPERTY_SOURCE_NAME, container)); } private DaprContainer findContainer() { // Return the first container in the registry // In a test scenario, there should only be one test class running at a time return DaprSpringBootExtension.CONTAINER_REGISTRY.values().stream() .findFirst() .orElse(null); } /** * Custom PropertySource that lazily resolves Dapr container endpoints. * This allows the endpoints to be resolved after the container has started. */ private static class DaprLazyPropertySource extends MapPropertySource { private final Map> lazyProperties; DaprLazyPropertySource(String name, DaprContainer container) { super(name, new HashMap<>()); this.lazyProperties = new HashMap<>(); lazyProperties.put("server.port", container::getAppPort); lazyProperties.put("dapr.http.endpoint", container::getHttpEndpoint); lazyProperties.put("dapr.grpc.endpoint", container::getGrpcEndpoint); } @Override public Object getProperty(String name) { Supplier supplier = lazyProperties.get(name); if (supplier != null) { return supplier.get(); } return null; } @Override public boolean containsProperty(String name) { return lazyProperties.containsKey(name); } @Override public String[] getPropertyNames() { return lazyProperties.keySet().toArray(new String[0]); } } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/testcontainers/internal/spring/DaprSpringBootExtension.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.internal.spring; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.internal.DaprSidecarContainer; import org.junit.jupiter.api.extension.BeforeAllCallback; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.platform.commons.support.AnnotationSupport; import java.lang.reflect.Field; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** * JUnit 5 extension that handles Dapr container setup for Spring Boot tests. * *

    This extension:

    *
      *
    • Discovers fields annotated with {@link DaprSidecarContainer}
    • *
    • Registers the container for property injection by {@link DaprSpringBootContextInitializer}
    • *
    * *

    This extension is automatically registered when using {@link DaprSpringBootTest}.

    */ public class DaprSpringBootExtension implements BeforeAllCallback { /** * Registry of DaprContainers by test class. Used by {@link DaprSpringBootContextInitializer} * to configure Spring properties. */ static final Map, DaprContainer> CONTAINER_REGISTRY = new ConcurrentHashMap<>(); @Override public void beforeAll(ExtensionContext context) throws Exception { Class testClass = context.getRequiredTestClass(); // Find fields annotated with @DaprSidecarContainer List containerFields = AnnotationSupport.findAnnotatedFields( testClass, DaprSidecarContainer.class, field -> DaprContainer.class.isAssignableFrom(field.getType()) ); if (containerFields.isEmpty()) { throw new IllegalStateException( "No @DaprSidecarContainer annotated field of type DaprContainer found in " + testClass.getName() + ". Add a static field like: @DaprSidecarContainer private static final DaprContainer DAPR = " + "DaprContainer.createForSpringBootTest(\"my-app\");" ); } if (containerFields.size() > 1) { throw new IllegalStateException( "Multiple @DaprSidecarContainer annotated fields found in " + testClass.getName() + ". Only one DaprContainer per test class is supported." ); } Field containerField = containerFields.get(0); containerField.setAccessible(true); DaprContainer container = (DaprContainer) containerField.get(null); if (container == null) { throw new IllegalStateException( "@DaprSidecarContainer field '" + containerField.getName() + "' is null in " + testClass.getName() ); } // Register container for the context initializer CONTAINER_REGISTRY.put(testClass, container); // Note: Testcontainers.exposeHostPorts() is NOT called here because of timing requirements. // It must be called in @BeforeEach, after the container starts to ensure proper Dapr-to-app communication. } } ================================================ FILE: sdk-tests/src/test/java/io/dapr/testcontainers/internal/spring/DaprSpringBootTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.internal.spring; import io.dapr.testcontainers.internal.DaprSidecarContainer; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.core.annotation.AliasFor; import org.springframework.test.context.ContextConfiguration; import org.testcontainers.junit.jupiter.Testcontainers; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Composed annotation that combines {@link SpringBootTest}, {@link Testcontainers}, * and the necessary extensions for Dapr integration testing. * *

    This annotation simplifies the setup of Spring Boot integration tests with Dapr * by handling port allocation, property configuration, and container lifecycle automatically.

    * *

    Example usage:

    *
    {@code
     * @DaprSpringBootTest(classes = MyApplication.class)
     * class MyDaprIT {
     *
     *     @DaprSidecarContainer
     *     private static final DaprContainer DAPR = DaprContainer.createForSpringBootTest("my-app")
     *         .withComponent(new Component("statestore", "state.in-memory", "v1", Map.of()));
     *
     *     @Test
     *     void testSomething() {
     *         // Your test code here
     *     }
     * }
     * }
    * * @see DaprSidecarContainer * @see io.dapr.testcontainers.DaprContainer#createForSpringBootTest(String) */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @ExtendWith(DaprSpringBootExtension.class) // Must be first to register container before Spring starts @Testcontainers // Starts containers via @Container/@DaprSidecarContainer @ContextConfiguration(initializers = DaprSpringBootContextInitializer.class) @SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT) // Starts Spring context last public @interface DaprSpringBootTest { /** * The application classes to use for the test. * Alias for {@link SpringBootTest#classes()}. * * @return the application classes */ @AliasFor(annotation = SpringBootTest.class, attribute = "classes") Class[] classes() default {}; /** * Additional properties to configure the test. * Alias for {@link SpringBootTest#properties()}. * * @return additional properties */ @AliasFor(annotation = SpringBootTest.class, attribute = "properties") String[] properties() default {}; } ================================================ FILE: sdk-tests/src/test/resources/logback.xml ================================================ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n ================================================ FILE: sdk-tests/src/test/resources/query.json ================================================ { "filter": { "EQ": { "content": "test" } }, "page": { "limit": 0, "token": "0" } } ================================================ FILE: sdk-workflows/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml dapr-sdk-workflows jar dapr-sdk-workflows SDK for Workflows on Dapr io.dapr dapr-sdk ${project.parent.version} org.mockito mockito-core test org.mockito mockito-inline test org.junit.jupiter junit-jupiter test org.junit.vintage junit-vintage-engine test io.dapr durabletask-client ${project.parent.version} org.sonatype.plugins nexus-staging-maven-plugin org.apache.maven.plugins maven-source-plugin org.apache.maven.plugins maven-javadoc-plugin org.jacoco jacoco-maven-plugin ================================================ FILE: sdk-workflows/spotbugs-exclude.xml ================================================ ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/Workflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows; /** * Common interface for workflow implementations. */ public interface Workflow { /** * Executes the workflow logic. * * @return A WorkflowStub. */ WorkflowStub create(); /** * Executes the workflow logic. * * @param ctx provides access to methods for scheduling durable tasks and * getting information about the current * workflow instance. */ default void run(WorkflowContext ctx) { WorkflowStub stub = this.create(); stub.run(ctx); } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/WorkflowActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows; /** * Common interface for task activity implementations. * *

    Activities are the basic unit of work in a durable task orchestration. Activities are the tasks that are * orchestrated in the business process. For example, you might create an orchestrator to process an order. The tasks * ay involve checking the inventory, charging the customer, and creating a shipment. Each task would be a separate * activity. These activities may be executed serially, in parallel, or some combination of both. * *

    Unlike task orchestrators, activities aren't restricted in the type of work you can do in them. Activity functions * are frequently used to make network calls or run CPU intensive operations. An activity can also return data back to * the orchestrator function. The Durable Task runtime guarantees that each called activity function will be executed * at least once during an orchestration's execution. * *

    Because activities only guarantee at least once execution, it's recommended that activity logic be implemented as * idempotent whenever possible. * *

    Activities are scheduled by orchestrators using one of the {@link io.dapr.workflows.WorkflowContext#callActivity} * method overloads. */ public interface WorkflowActivity { /** * Executes the activity logic and returns a value which will be serialized and * returned to the calling orchestrator. * * @param ctx provides information about the current activity execution, like the activity's name and the input * data provided to it by the orchestrator. * @return any serializable value to be returned to the calling orchestrator. */ Object run(WorkflowActivityContext ctx); } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/WorkflowActivityContext.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows; import org.slf4j.Logger; public interface WorkflowActivityContext { Logger getLogger(); String getName(); String getTaskExecutionId(); T getInput(Class targetType); String getTraceParent(); } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/WorkflowContext.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows; import io.dapr.durabletask.CompositeTaskFailedException; import io.dapr.durabletask.Task; import io.dapr.durabletask.TaskCanceledException; import io.dapr.durabletask.TaskFailedException; import org.slf4j.Logger; import javax.annotation.Nullable; import java.time.Duration; import java.time.Instant; import java.time.ZonedDateTime; import java.util.Arrays; import java.util.List; import java.util.UUID; /** * Context object used by workflow implementations to perform actions such as scheduling activities, * durable timers, waiting for external events, and for getting basic information about the current * workflow instance. */ public interface WorkflowContext { /** * Get a logger only when {@code isReplaying} is false. * Otherwise, return a NOP (no operation) logger. * * @return Logger */ Logger getLogger(); /** * Gets the name of the current workflow. * * @return the name of the current workflow */ String getName(); /** * Gets the instance ID of the current workflow. * * @return the instance ID of the current workflow */ String getInstanceId(); /** * Gets the current orchestration time in UTC. * * @return the current orchestration time in UTC */ Instant getCurrentInstant(); /** * Completes the current workflow. * * @param output the serializable output of the completed Workflow. */ void complete(Object output); /** * Waits for an event to be raised named {@code name} and returns a {@link Task} that completes when the event is * received or is canceled when {@code timeout} expires. * *

    If the current orchestration is not yet waiting for an event named {@code name}, then the event will be saved in * the orchestration instance state and dispatched immediately when this method is called. This event saving occurs * even if the current orchestrator cancels the wait operation before the event is received. * *

    Orchestrators can wait for the same event name multiple times, so waiting for multiple events with the same name * is allowed. Each external event received by an orchestrator will complete just one task returned by this method. * * @param name the case-insensitive name of the event to wait for * @param timeout the amount of time to wait before canceling the returned {@code Task} * @param dataType the expected class type of the event data payload * @param the expected type of the event data payload * @return a new {@link Task} that completes when the external event is received or when {@code timeout} expires * @throws TaskCanceledException if the specified {@code timeout} value expires before the event is received */ Task waitForExternalEvent(String name, Duration timeout, Class dataType) throws TaskCanceledException; /** * Waits for an event to be raised named {@code name} and returns a {@link Task} that completes when the event is * received or is canceled when {@code timeout} expires. * *

    See {@link #waitForExternalEvent(String, Duration, Class)} for a full description. * * @param name the case-insensitive name of the event to wait for * @param timeout the amount of time to wait before canceling the returned {@code Task} * @param the expected type of the event data payload * @return a new {@link Task} that completes when the external event is received or when {@code timeout} expires * @throws TaskCanceledException if the specified {@code timeout} value expires before the event is received */ Task waitForExternalEvent(String name, Duration timeout) throws TaskCanceledException; /** * Waits for an event to be raised named {@code name} and returns a {@link Task} that completes when the event is * received. * *

    See {@link #waitForExternalEvent(String, Duration, Class)} for a full description. * * @param name the case-insensitive name of the event to wait for * @param the expected type of the event data payload * @return a new {@link Task} that completes when the external event is received */ Task waitForExternalEvent(String name) throws TaskCanceledException; /** * Waits for an event to be raised named {@code name} and returns a {@link Task} that completes when the event is * received. * *

    See {@link #waitForExternalEvent(String, Duration, Class)} for a full description. * * @param name the case-insensitive name of the event to wait for * @param dataType the expected class type of the event data payload * @param the expected type of the event data payload * @return a new {@link Task} that completes when the external event is received */ default Task waitForExternalEvent(String name, Class dataType) { try { return this.waitForExternalEvent(name, null, dataType); } catch (TaskCanceledException e) { // This should never happen because of the max duration throw new RuntimeException("An unexpected exception was throw while waiting for an external event.", e); } } /** * Asynchronously invokes an activity by name and with the specified input value and returns a new {@link Task} * that completes when the activity completes. If the activity completes successfully, the returned {@code Task}'s * value will be the activity's output. If the activity fails, the returned {@code Task} will complete exceptionally * with a {@link TaskFailedException}. * * @param name the name of the activity to call * @param input the serializable input to pass to the activity * @param options additional options that control the execution and processing of the activity * @param returnType the expected class type of the activity output * @param the expected type of the activity output * @return a new {@link Task} that completes when the activity completes or fails */ Task callActivity(String name, Object input, WorkflowTaskOptions options, Class returnType); /** * Asynchronously invokes an activity by name and returns a new {@link Task} that completes when the activity * completes. See {@link #callActivity(String, Object, WorkflowTaskOptions, Class)} for a complete description. * * @param name the name of the activity to call * @return a new {@link Task} that completes when the activity completes or fails * @see #callActivity(String, Object, WorkflowTaskOptions, Class) */ default Task callActivity(String name) { return this.callActivity(name, null, null, Void.class); } /** * Asynchronously invokes an activity by name and with the specified input value and returns a new {@link Task} * that completes when the activity completes. * See {@link #callActivity(String, Object, WorkflowTaskOptions, Class)} for a complete description. * * @param name the name of the activity to call * @param input the serializable input to pass to the activity * @return a new {@link Task} that completes when the activity completes or fails */ default Task callActivity(String name, Object input) { return this.callActivity(name, input, null, Void.class); } /** * Asynchronously invokes an activity by name and returns a new {@link Task} that completes when the activity * completes. If the activity completes successfully, the returned {@code Task}'s value will be the activity's * output. See {@link #callActivity(String, Object, WorkflowTaskOptions, Class)} for a complete description. * * @param name the name of the activity to call * @param returnType the expected class type of the activity output * @param the expected type of the activity output * @return a new {@link Task} that completes when the activity completes or fails */ default Task callActivity(String name, Class returnType) { return this.callActivity(name, null, null, returnType); } /** * Asynchronously invokes an activity by name and with the specified input value and returns a new {@link Task} * that completes when the activity completes.If the activity completes successfully, the returned {@code Task}'s * value will be the activity's output. * See {@link #callActivity(String, Object, WorkflowTaskOptions, Class)} for a complete description. * * @param name the name of the activity to call * @param input the serializable input to pass to the activity * @param returnType the expected class type of the activity output * @param the expected type of the activity output * @return a new {@link Task} that completes when the activity completes or fails */ default Task callActivity(String name, Object input, Class returnType) { return this.callActivity(name, input, null, returnType); } /** * Asynchronously invokes an activity by name and with the specified input value and returns a new {@link Task} * that completes when the activity completes. * See {@link #callActivity(String, Object, WorkflowTaskOptions, Class)} for a complete description. * * @param name the name of the activity to call * @param input the serializable input to pass to the activity * @param options additional options that control the execution and processing of the activity * @return a new {@link Task} that completes when the activity completes or fails */ default Task callActivity(String name, Object input, WorkflowTaskOptions options) { return this.callActivity(name, input, options, Void.class); } /** * Gets a value indicating whether the workflow is currently replaying a previous execution. * *

    Workflow functions are "replayed" after being unloaded from memory to reconstruct local variable state. * During a replay, previously executed tasks will be completed automatically with previously seen values * that are stored in the workflow history. Once the workflow reaches the point where it's no longer * replaying existing history, this method will return {@code false}. * *

    You can use this method if you have logic that needs to run only when not replaying. For example, * certain types of application logging may become too noisy when duplicated as part of replay. The * application code could check to see whether the function is being replayed and then issue the log statements * when this value is {@code false}. * * @return {@code true} if the workflow is replaying, otherwise {@code false} */ boolean isReplaying(); /** * Returns a new {@code Task} that is completed when all the given {@code Task}s complete. If any of the given * {@code Task}s complete with an exception, the returned {@code Task} will also complete with an * {@link CompositeTaskFailedException} containing details of the first encountered failure. * The value of the returned {@code Task} is an ordered list of the return values of the given tasks. * If no tasks are provided, returns a {@code Task} completed with value * {@code null}. * *

    This method is useful for awaiting the completion of a set of independent tasks before continuing to the next * step in the orchestration, as in the following example: *

    {@code
       * Task t1 = ctx.callActivity("MyActivity", String.class);
       * Task t2 = ctx.callActivity("MyActivity", String.class);
       * Task t3 = ctx.callActivity("MyActivity", String.class);
       *
       * List orderedResults = ctx.allOf(List.of(t1, t2, t3)).await();
       * }
    * *

    Exceptions in any of the given tasks results in an unchecked {@link CompositeTaskFailedException}. * This exception can be inspected to obtain failure details of individual {@link Task}s. *

    {@code
       * try {
       *     List orderedResults = ctx.allOf(List.of(t1, t2, t3)).await();
       * } catch (CompositeTaskFailedException e) {
       *     List exceptions = e.getExceptions()
       * }
       * }
    * * @param tasks the list of {@code Task} objects * @param the return type of the {@code Task} objects * @return the values of the completed {@code Task} objects in the same order as the source list * @throws CompositeTaskFailedException if the specified {@code timeout} value expires before the event is received */ Task> allOf(List> tasks) throws CompositeTaskFailedException; /** * Returns a new {@code Task} that is completed when any of the tasks in {@code tasks} completes. * See {@link #anyOf(Task[])} for more detailed information. * * @param tasks the list of {@code Task} objects * @return a new {@code Task} that is completed when any of the given {@code Task}s complete * @see #anyOf(Task[]) */ Task> anyOf(List> tasks); /** * Returns a new {@code Task} that is completed when any of the given {@code Task}s complete. The value of the * new {@code Task} is a reference to the completed {@code Task} object. If no tasks are provided, returns a * {@code Task} that never completes. * *

    This method is useful for waiting on multiple concurrent tasks and performing a task-specific operation when the * first task completes, as in the following example: *

    {@code
       * Task event1 = ctx.waitForExternalEvent("Event1");
       * Task event2 = ctx.waitForExternalEvent("Event2");
       * Task event3 = ctx.waitForExternalEvent("Event3");
       *
       * Task winner = ctx.anyOf(event1, event2, event3).await();
       * if (winner == event1) {
       *     // ...
       * } else if (winner == event2) {
       *     // ...
       * } else if (winner == event3) {
       *     // ...
       * }
       * }
    * The {@code anyOf} method can also be used for implementing long-running timeouts, as in the following example: *
    {@code
       * Task activityTask = ctx.callActivity("SlowActivity");
       * Task timeoutTask = ctx.createTimer(Duration.ofMinutes(30));
       *
       * Task winner = ctx.anyOf(activityTask, timeoutTask).await();
       * if (winner == activityTask) {
       *     // completion case
       * } else {
       *     // timeout case
       * }
       * }
    * * @param tasks the list of {@code Task} objects * @return a new {@code Task} that is completed when any of the given {@code Task}s complete */ default Task> anyOf(Task... tasks) { return this.anyOf(Arrays.asList(tasks)); } /** * Creates a durable timer that expires after the specified delay. * *

    Specifying a long delay (for example, a delay of a few days or more) may result in the creation of multiple, * internally-managed durable timers. The orchestration code doesn't need to be aware of this behavior. However, * it may be visible in framework logs and the stored history state. * * @param duration the amount of time before the timer should expire * @return a new {@code Task} that completes after the specified delay */ Task createTimer(Duration duration); /** * Creates a durable timer that expires after the specified timestamp with specific zone. * *

    Specifying a long delay (for example, a delay of a few days or more) may result in the creation of multiple, * internally-managed timers. The workflow code doesn't need to be aware of this behavior. However, * it may be visible in framework logs and the stored history state. * * @param zonedDateTime timestamp with specific zone when the timer should expire * @return a new {@code Task} that completes after the specified delay */ Task createTimer(ZonedDateTime zonedDateTime); /** * Gets the deserialized input of the current task orchestration. * * @param targetType the {@link Class} object associated with {@code V} * @param the expected type of the workflow input * @return the deserialized input as an object of type {@code V} or {@code null} if no input was provided. */ V getInput(Class targetType); /** * Asynchronously invokes another workflow as a child-workflow and returns a {@link Task} that completes * when the child-workflow completes. * *

    See {@link #callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class)} for a full description. * * @param name the name of the workflow to invoke * @return a new {@link Task} that completes when the child-workflow completes or fails * @see #callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class) */ default Task callChildWorkflow(String name) { return this.callChildWorkflow(name, null); } /** * Asynchronously invokes another workflow as a child-workflow and returns a {@link Task} that completes * when the child-workflow completes. * *

    See {@link #callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class)} for a full description. * * @param name the name of the workflow to invoke * @param input the serializable input to send to the child-workflow * @return a new {@link Task} that completes when the child-workflow completes or fails */ default Task callChildWorkflow(String name, Object input) { return this.callChildWorkflow(name, input, Void.class); } /** * Asynchronously invokes another workflow as a child-workflow and returns a {@link Task} that completes * when the child-workflow completes. * *

    See {@link #callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class)} for a full description. * * @param name the name of the workflow to invoke * @param input the serializable input to send to the child-workflow * @param returnType the expected class type of the child-workflow output * @param the expected type of the child-workflow output * @return a new {@link Task} that completes when the child-workflow completes or fails */ default Task callChildWorkflow(String name, Object input, Class returnType) { return this.callChildWorkflow(name, input, null, returnType); } /** * Asynchronously invokes another workflow as a child-workflow and returns a {@link Task} that completes * when the child-workflow completes. * *

    See {@link #callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class)} for a full description. * * @param name the name of the workflow to invoke * @param input the serializable input to send to the child-workflow * @param instanceID the unique ID of the child-workflow * @param returnType the expected class type of the child-workflow output * @param the expected type of the child-workflow output * @return a new {@link Task} that completes when the child-workflow completes or fails */ default Task callChildWorkflow(String name, Object input, String instanceID, Class returnType) { return this.callChildWorkflow(name, input, instanceID, null, returnType); } /** * Asynchronously invokes another workflow as a child-workflow and returns a {@link Task} that completes * when the child-workflow completes. * *

    See {@link #callChildWorkflow(String, Object, String, WorkflowTaskOptions, Class)} for a full description. * * @param name the name of the workflow to invoke * @param input the serializable input to send to the child-workflow * @param instanceID the unique ID of the child-workflow * @param options additional options that control the execution and processing of the activity * @return a new {@link Task} that completes when the child-workflow completes or fails */ default Task callChildWorkflow(String name, Object input, String instanceID, WorkflowTaskOptions options) { return this.callChildWorkflow(name, input, instanceID, options, Void.class); } /** * Asynchronously invokes another workflow as a child-workflow and returns a {@link Task} that completes * when the child-workflow completes. If the child-workflow completes successfully, the returned * {@code Task}'s value will be the activity's output. If the child-workflow fails, the returned {@code Task} * will complete exceptionally with a {@link TaskFailedException}. * *

    A child-workflow has its own instance ID, history, and status that is independent of the parent workflow * that started it. There are many advantages to breaking down large orchestrations into child-workflows: *

      *
    • * Splitting large orchestrations into a series of smaller child-workflows can make code more maintainable. *
    • *
    • * Distributing orchestration logic across multiple compute nodes concurrently is useful if * orchestration logic otherwise needs to coordinate a lot of tasks. *
    • *
    • * Memory usage and CPU overhead can be reduced by keeping the history of parent orchestrations smaller. *
    • *
    * The disadvantage is that there is overhead associated with starting a child-workflow and processing its * output. This is typically only an issue for very small orchestrations. * *

    Because child-workflows are independent of their parents, terminating a parent orchestration does not affect * any child-workflows. child-workflows must be terminated independently using their unique instance ID, * which is specified using the {@code instanceID} parameter * * @param name the name of the workflow to invoke * @param input the serializable input to send to the child-workflow * @param instanceID the unique ID of the child-workflow * @param options additional options that control the execution and processing of the activity * @param returnType the expected class type of the child-workflow output * @param the expected type of the child-workflow output * @return a new {@link Task} that completes when the child-workflow completes or fails */ Task callChildWorkflow(String name, @Nullable Object input, @Nullable String instanceID, @Nullable WorkflowTaskOptions options, Class returnType); /** * Restarts the orchestration with a new input and clears its history. See {@link #continueAsNew(Object, boolean)} * for a full description. * * @param input the serializable input data to re-initialize the instance with */ default void continueAsNew(Object input) { this.continueAsNew(input, true); } /** * Restarts the orchestration with a new input and clears its history. * *

    This method is primarily designed for eternal orchestrations, which are orchestrations that * may not ever complete. It works by restarting the orchestration, providing it with a new input, * and truncating the existing orchestration history. It allows an orchestration to continue * running indefinitely without having its history grow unbounded. The benefits of periodically * truncating history include decreased memory usage, decreased storage volumes, and shorter orchestrator * replays when rebuilding state. * *

    The results of any incomplete tasks will be discarded when an orchestrator calls {@code continueAsNew}. * For example, if a timer is scheduled and then {@code continueAsNew} is called before the timer fires, the timer * event will be discarded. The only exception to this is external events. By default, if an external event is * received by an orchestration but not yet processed, the event is saved in the orchestration state unit it is * received by a call to {@link #waitForExternalEvent}. These events will remain in memory * even after an orchestrator restarts using {@code continueAsNew}. This behavior can be disabled by specifying * {@code false} for the {@code preserveUnprocessedEvents} parameter value. * *

    Orchestrator implementations should complete immediately after calling the{@code continueAsNew} method. * * @param input the serializable input data to re-initialize the instance with * @param preserveUnprocessedEvents {@code true} to push unprocessed external events into the new orchestration * history, otherwise {@code false} */ void continueAsNew(Object input, boolean preserveUnprocessedEvents); /** * Create a new UUID that is safe for replay within a workflow. * *

    * The default implementation of this method creates a name-based UUID * using the algorithm from RFC 4122 §4.3. The name input used to generate * this value is a combination of the workflow instance ID and an * internally managed sequence number. *

    * @return a deterministic UUID */ default UUID newUuid() { throw new RuntimeException("No implementation found."); } /** * Set a custom status to a workflow execution. * * @param status to be set to the current execution */ void setCustomStatus(Object status); /** * Checks if the patch has been applied. * * @param patchName the patch name to check * @return true if already applied */ boolean isPatched(String patchName); } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/WorkflowStub.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows; @FunctionalInterface public interface WorkflowStub { void run(WorkflowContext ctx); } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/WorkflowTaskOptions.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows; public class WorkflowTaskOptions { private final WorkflowTaskRetryPolicy retryPolicy; private final WorkflowTaskRetryHandler retryHandler; private final String appId; public WorkflowTaskOptions(WorkflowTaskRetryPolicy retryPolicy, WorkflowTaskRetryHandler retryHandler) { this(retryPolicy, retryHandler, null); } public WorkflowTaskOptions(WorkflowTaskRetryPolicy retryPolicy) { this(retryPolicy, null, null); } public WorkflowTaskOptions(WorkflowTaskRetryHandler retryHandler) { this(null, retryHandler, null); } /** * Constructor for WorkflowTaskOptions with app ID for cross-app calls. * * @param appId the ID of the app to call the activity in */ public WorkflowTaskOptions(String appId) { this(null, null, appId); } /** * Constructor for WorkflowTaskOptions with retry policy, retry handler, and app ID. * * @param retryPolicy the retry policy * @param retryHandler the retry handler * @param appId the app ID for cross-app activity calls */ public WorkflowTaskOptions(WorkflowTaskRetryPolicy retryPolicy, WorkflowTaskRetryHandler retryHandler, String appId) { this.retryPolicy = retryPolicy; this.retryHandler = retryHandler; this.appId = appId; } public WorkflowTaskOptions(WorkflowTaskRetryPolicy retryPolicy, String appId) { this(retryPolicy, null, appId); } public WorkflowTaskOptions(WorkflowTaskRetryHandler retryHandler, String appId) { this(null, retryHandler, appId); } public WorkflowTaskRetryPolicy getRetryPolicy() { return retryPolicy; } public WorkflowTaskRetryHandler getRetryHandler() { return retryHandler; } public String getAppId() { return appId; } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/WorkflowTaskRetryContext.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows; import io.dapr.workflows.client.WorkflowFailureDetails; import io.dapr.workflows.runtime.DefaultWorkflowContext; import java.time.Duration; public class WorkflowTaskRetryContext { private final DefaultWorkflowContext workflowContext; private final int lastAttemptNumber; private final WorkflowFailureDetails lastFailure; private final Duration totalRetryTime; /** * Constructor for WorkflowTaskRetryContext. * * @param workflowContext The workflow context * @param lastAttemptNumber The number of the previous attempt * @param lastFailure The failure details from the most recent failure * @param totalRetryTime The amount of time spent retrying */ public WorkflowTaskRetryContext( DefaultWorkflowContext workflowContext, int lastAttemptNumber, WorkflowFailureDetails lastFailure, Duration totalRetryTime) { this.workflowContext = workflowContext; this.lastAttemptNumber = lastAttemptNumber; this.lastFailure = lastFailure; this.totalRetryTime = totalRetryTime; } /** * Gets the context of the current workflow. * *

    The workflow context can be used in retry handlers to schedule timers (via the * {@link DefaultWorkflowContext#createTimer} methods) for implementing delays between retries. It can also be * used to implement time-based retry logic by using the {@link DefaultWorkflowContext#getCurrentInstant} method. * * @return the context of the parent workflow */ public DefaultWorkflowContext getWorkflowContext() { return this.workflowContext; } /** * Gets the details of the previous task failure, including the exception type, message, and callstack. * * @return the details of the previous task failure */ public WorkflowFailureDetails getLastFailure() { return this.lastFailure; } /** * Gets the previous retry attempt number. This number starts at 1 and increments each time the retry handler * is invoked for a particular task failure. * * @return the previous retry attempt number */ public int getLastAttemptNumber() { return this.lastAttemptNumber; } /** * Gets the total amount of time spent in a retry loop for the current task. * * @return the total amount of time spent in a retry loop for the current task */ public Duration getTotalRetryTime() { return this.totalRetryTime; } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/WorkflowTaskRetryHandler.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows; public interface WorkflowTaskRetryHandler { /** * Invokes retry handler logic. Return value indicates whether to continue retrying. * * @param retryContext The context of the retry * @return {@code true} to continue retrying or {@code false} to stop retrying. */ boolean handle(WorkflowTaskRetryContext retryContext); } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/WorkflowTaskRetryPolicy.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows; import javax.annotation.Nullable; import java.time.Duration; public final class WorkflowTaskRetryPolicy { private final Integer maxNumberOfAttempts; private final Duration firstRetryInterval; private final Double backoffCoefficient; private final Duration maxRetryInterval; private final Duration retryTimeout; /** * Constructor for WorkflowTaskRetryPolicy. * @param maxNumberOfAttempts Maximum number of attempts to retry the workflow. * @param firstRetryInterval Interval to wait before the first retry. * @param backoffCoefficient Coefficient to increase the retry interval. * @param maxRetryInterval Maximum interval to wait between retries. * @param retryTimeout Timeout for the whole retry process. */ public WorkflowTaskRetryPolicy( Integer maxNumberOfAttempts, Duration firstRetryInterval, Double backoffCoefficient, Duration maxRetryInterval, Duration retryTimeout ) { this.maxNumberOfAttempts = maxNumberOfAttempts; this.firstRetryInterval = firstRetryInterval; this.backoffCoefficient = backoffCoefficient; this.maxRetryInterval = maxRetryInterval; this.retryTimeout = retryTimeout; } public int getMaxNumberOfAttempts() { return maxNumberOfAttempts; } public Duration getFirstRetryInterval() { return firstRetryInterval; } public double getBackoffCoefficient() { return backoffCoefficient; } public Duration getMaxRetryInterval() { return maxRetryInterval; } public Duration getRetryTimeout() { return retryTimeout; } public static Builder newBuilder() { return new Builder(); } public static class Builder { private Integer maxNumberOfAttempts; private Duration firstRetryInterval; private Double backoffCoefficient = 1.0; private Duration maxRetryInterval; private Duration retryTimeout; private Builder() { } /** * Build the WorkflowTaskRetryPolicy. * @return WorkflowTaskRetryPolicy */ public WorkflowTaskRetryPolicy build() { return new WorkflowTaskRetryPolicy( this.maxNumberOfAttempts, this.firstRetryInterval, this.backoffCoefficient, this.maxRetryInterval, this.retryTimeout ); } /** * Set the maximum number of attempts to retry the workflow. * @param maxNumberOfAttempts Maximum number * @return This builder */ public Builder setMaxNumberOfAttempts(int maxNumberOfAttempts) { if (maxNumberOfAttempts <= 0) { throw new IllegalArgumentException("The value for maxNumberOfAttempts must be greater than zero."); } this.maxNumberOfAttempts = maxNumberOfAttempts; return this; } /** * Set the interval to wait before the first retry. * @param firstRetryInterval Interval * @return This builder */ public Builder setFirstRetryInterval(Duration firstRetryInterval) { if (firstRetryInterval == null) { throw new IllegalArgumentException("firstRetryInterval cannot be null."); } if (firstRetryInterval.isZero() || firstRetryInterval.isNegative()) { throw new IllegalArgumentException("The value for firstRetryInterval must be greater than zero."); } this.firstRetryInterval = firstRetryInterval; return this; } /** * Set the backoff coefficient. * @param backoffCoefficient Double value * @return This builder */ public Builder setBackoffCoefficient(double backoffCoefficient) { if (backoffCoefficient < 1.0) { throw new IllegalArgumentException("The value for backoffCoefficient must be greater or equal to 1.0."); } this.backoffCoefficient = backoffCoefficient; return this; } /** * Set the maximum interval to wait between retries. * @param maxRetryInterval Maximum interval * @return This builder */ public Builder setMaxRetryInterval(@Nullable Duration maxRetryInterval) { if (maxRetryInterval != null && maxRetryInterval.compareTo(this.firstRetryInterval) < 0) { throw new IllegalArgumentException( "The value for maxRetryInterval must be greater than or equal to the value for firstRetryInterval."); } this.maxRetryInterval = maxRetryInterval; return this; } /** * Set the maximum retry timeout. * @param retryTimeout Maximum retry timeout * @return This builder */ public Builder setRetryTimeout(Duration retryTimeout) { if (retryTimeout == null || retryTimeout.compareTo(this.firstRetryInterval) < 0) { throw new IllegalArgumentException( "The value for retryTimeout cannot be null and" + " must be greater than or equal to the value for firstRetryInterval."); } this.retryTimeout = retryTimeout; return this; } } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/client/DaprWorkflowClient.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.client; import io.dapr.config.Properties; import io.dapr.durabletask.DurableTaskClient; import io.dapr.durabletask.DurableTaskGrpcClientBuilder; import io.dapr.durabletask.NewOrchestrationInstanceOptions; import io.dapr.durabletask.OrchestrationMetadata; import io.dapr.durabletask.PurgeResult; import io.dapr.utils.NetworkUtils; import io.dapr.workflows.Workflow; import io.dapr.workflows.internal.ApiTokenClientInterceptor; import io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus; import io.dapr.workflows.runtime.DefaultWorkflowState; import io.grpc.ClientInterceptor; import io.grpc.ManagedChannel; import javax.annotation.Nullable; import java.time.Duration; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; /** * Defines client operations for managing Dapr Workflow instances. */ public class DaprWorkflowClient implements AutoCloseable { private ClientInterceptor workflowApiTokenInterceptor; private DurableTaskClient innerClient; private ManagedChannel grpcChannel; /** * Public constructor for DaprWorkflowClient. This layer constructs the GRPC Channel. */ public DaprWorkflowClient() { this(new Properties()); } /** * Public constructor for DaprWorkflowClient. This layer constructs the GRPC Channel. * * @param properties Properties for the GRPC Channel. */ public DaprWorkflowClient(Properties properties) { this(NetworkUtils.buildGrpcManagedChannel(properties, new ApiTokenClientInterceptor(properties))); } /** * Protected constructor for DaprWorkflowClient that allows subclasses to inject additional * gRPC {@link ClientInterceptor}s onto the channel (e.g. for tracing). * The {@link ApiTokenClientInterceptor} is always prepended before the additional ones. * * @param properties Properties for the GRPC Channel. * @param additionalInterceptors extra interceptors appended after the API-token interceptor. */ protected DaprWorkflowClient(Properties properties, ClientInterceptor... additionalInterceptors) { this(buildChannelWithAdditional(properties, additionalInterceptors)); } /** * Private Constructor that passes a created DurableTaskClient and the new GRPC channel. * * @param grpcChannel ManagedChannel for GRPC channel. */ private DaprWorkflowClient(ManagedChannel grpcChannel) { this(createDurableTaskClient(grpcChannel), grpcChannel); } /** * Private Constructor for DaprWorkflowClient. * * @param innerClient DurableTaskGrpcClient with GRPC Channel set up. * @param grpcChannel ManagedChannel for instance variable setting. */ private DaprWorkflowClient(DurableTaskClient innerClient, ManagedChannel grpcChannel) { this.innerClient = innerClient; this.grpcChannel = grpcChannel; } /** * Schedules a new workflow using DurableTask client. * * @param any Workflow type * @param clazz Class extending Workflow to start an instance of. * @return the randomly-generated instance ID for new Workflow instance. */ public String scheduleNewWorkflow(Class clazz) { return this.scheduleNewWorkflow(clazz.getCanonicalName()); } /** * Schedules a new workflow using DurableTask client. * * @param any Workflow type * @param name Workflow name * @return the randomly-generated instance ID for new Workflow instance. */ public String scheduleNewWorkflow(String name) { return this.innerClient.scheduleNewOrchestrationInstance(name); } /** * Schedules a new workflow using DurableTask client. * * @param any Workflow type * @param clazz Class extending Workflow to start an instance of. * @param input the input to pass to the scheduled orchestration instance. Must be serializable. * @return the randomly-generated instance ID for new Workflow instance. */ public String scheduleNewWorkflow(Class clazz, Object input) { return this.scheduleNewWorkflow(clazz.getCanonicalName(), input); } /** * Schedules a new workflow using DurableTask client. * * @param any Workflow type * @param name Workflow name * @param input the input to pass to the scheduled orchestration instance. Must be serializable. * @return the randomly-generated instance ID for new Workflow instance. */ public String scheduleNewWorkflow(String name, Object input) { return this.innerClient.scheduleNewOrchestrationInstance(name, input); } /** * Schedules a new workflow using DurableTask client. * * @param any Workflow type * @param clazz Class extending Workflow to start an instance of. * @param input the input to pass to the scheduled orchestration instance. Must be serializable. * @param instanceId the unique ID of the orchestration instance to schedule * @return the instanceId parameter value. */ public String scheduleNewWorkflow(Class clazz, Object input, String instanceId) { return this.scheduleNewWorkflow(clazz.getCanonicalName(), input, instanceId); } /** * Schedules a new workflow using DurableTask client. * * @param any Workflow type * @param name Workflow name * @param input the input to pass to the scheduled orchestration instance. Must be serializable. * @param instanceId the unique ID of the orchestration instance to schedule * @return the instanceId parameter value. */ public String scheduleNewWorkflow(String name, Object input, String instanceId) { return this.innerClient.scheduleNewOrchestrationInstance(name, input, instanceId); } /** * Schedules a new workflow with a specified set of options for execution. * * @param any Workflow type * @param clazz Class extending Workflow to start an instance of. * @param options the options for the new workflow, including input, instance ID, etc. * @return the instanceId parameter value. */ public String scheduleNewWorkflow(Class clazz, NewWorkflowOptions options) { return this.scheduleNewWorkflow(clazz.getCanonicalName(), options); } /** * Schedules a new workflow with a specified set of options for execution. * * @param any Workflow type * @param name name of the workflow to schedule * @param options the options for the new workflow, including input, instance ID, etc. * @return the instanceId parameter value. */ public String scheduleNewWorkflow(String name, NewWorkflowOptions options) { NewOrchestrationInstanceOptions orchestrationInstanceOptions = fromNewWorkflowOptions(options); return this.innerClient.scheduleNewOrchestrationInstance(name, orchestrationInstanceOptions); } /** * Suspend the workflow associated with the provided instance id. * * @param workflowInstanceId Workflow instance id to suspend. * @param reason reason for suspending the workflow instance. */ public void suspendWorkflow(String workflowInstanceId, @Nullable String reason) { this.innerClient.suspendInstance(workflowInstanceId, reason); } /** * Resume the workflow associated with the provided instance id. * * @param workflowInstanceId Workflow instance id to resume. * @param reason reason for resuming the workflow instance. */ public void resumeWorkflow(String workflowInstanceId, @Nullable String reason) { this.innerClient.resumeInstance(workflowInstanceId, reason); } /** * Terminates the workflow associated with the provided instance id. * * @param workflowInstanceId Workflow instance id to terminate. * @param output the optional output to set for the terminated orchestration instance. */ public void terminateWorkflow(String workflowInstanceId, @Nullable Object output) { this.innerClient.terminate(workflowInstanceId, output); } /** * Fetches workflow instance metadata from the configured durable store. * * @param instanceId the unique ID of the workflow instance to fetch * @param getInputsAndOutputs true to fetch the workflow instance's * inputs, outputs, and custom status, or false to omit them * @return a metadata record that describes the workflow instance and it execution status, or a default instance * @deprecated Use {@link #getWorkflowState(String, boolean)} instead. */ @Nullable @Deprecated(forRemoval = true) public WorkflowInstanceStatus getInstanceState(String instanceId, boolean getInputsAndOutputs) { OrchestrationMetadata metadata = this.innerClient.getInstanceMetadata(instanceId, getInputsAndOutputs); return metadata == null ? null : new DefaultWorkflowInstanceStatus(metadata); } /** * Fetches workflow instance metadata from the configured durable store. * * @param instanceId the unique ID of the workflow instance to fetch * @param getInputsAndOutputs true to fetch the workflow instance's * inputs, outputs, and custom status, or false to omit them * @return a metadata record that describes the workflow instance and it execution status, or a default instance */ @Nullable public WorkflowState getWorkflowState(String instanceId, boolean getInputsAndOutputs) { OrchestrationMetadata metadata = this.innerClient.getInstanceMetadata(instanceId, getInputsAndOutputs); return metadata == null ? null : new DefaultWorkflowState(metadata); } /** * Waits for an workflow to start running and returns an * {@link WorkflowInstanceStatus} object that contains metadata about the started * instance and optionally its input, output, and custom status payloads. * *

    A "started" workflow instance is any instance not in the Pending state. * *

    If an workflow instance is already running when this method is called, * the method will return immediately. * * @param instanceId the unique ID of the workflow instance to wait for * @param timeout the amount of time to wait for the workflow instance to start * @param getInputsAndOutputs true to fetch the workflow instance's * inputs, outputs, and custom status, or false to omit them * @return the workflow instance metadata or null if no such instance is found * @throws TimeoutException when the workflow instance is not started within the specified amount of time * @deprecated Use {@link #waitForWorkflowStart(String, Duration, boolean)} instead. */ @Deprecated(forRemoval = true) @Nullable public WorkflowInstanceStatus waitForInstanceStart(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException { OrchestrationMetadata metadata = this.innerClient.waitForInstanceStart(instanceId, timeout, getInputsAndOutputs); return metadata == null ? null : new DefaultWorkflowInstanceStatus(metadata); } /** * Waits for a workflow to start running and returns an * {@link WorkflowState} object that contains metadata about the started * instance and optionally its input, output, and custom status payloads. * *

    A "started" workflow instance is any instance not in the Pending state. * *

    If an workflow instance is already running when this method is called, * the method will return immediately. * * @param instanceId the unique ID of the workflow instance to wait for * @param timeout the amount of time to wait for the workflow instance to start * @param getInputsAndOutputs true to fetch the workflow instance's * inputs, outputs, and custom status, or false to omit them * @return the workflow instance metadata or null if no such instance is found * @throws TimeoutException when the workflow instance is not started within the specified amount of time */ @Nullable public WorkflowState waitForWorkflowStart(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException { OrchestrationMetadata metadata = this.innerClient.waitForInstanceStart(instanceId, timeout, getInputsAndOutputs); return metadata == null ? null : new DefaultWorkflowState(metadata); } /** * Waits for an workflow to complete and returns an {@link WorkflowInstanceStatus} object that contains * metadata about the completed instance. * *

    A "completed" workflow instance is any instance in one of the terminal states. For example, the * Completed, Failed, or Terminated states. * *

    Workflows are long-running and could take hours, days, or months before completing. * Workflows can also be eternal, in which case they'll never complete unless terminated. * In such cases, this call may block indefinitely, so care must be taken to ensure appropriate timeouts are used. * If an workflow instance is already complete when this method is called, the method will return immediately. * * @param instanceId the unique ID of the workflow instance to wait for * @param timeout the amount of time to wait for the workflow instance to complete * @param getInputsAndOutputs true to fetch the workflow instance's inputs, outputs, and custom * status, or false to omit them * @return the workflow instance metadata or null if no such instance is found * @throws TimeoutException when the workflow instance is not completed within the specified amount of time * @deprecated Use {@link #waitForWorkflowCompletion(String, Duration, boolean)} instead. */ @Nullable @Deprecated(forRemoval = true) public WorkflowInstanceStatus waitForInstanceCompletion(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException { OrchestrationMetadata metadata = this.innerClient.waitForInstanceCompletion(instanceId, timeout, getInputsAndOutputs); return metadata == null ? null : new DefaultWorkflowInstanceStatus(metadata); } /** * Waits for an workflow to complete and returns an {@link WorkflowState} object that contains * metadata about the completed instance. * *

    A "completed" workflow instance is any instance in one of the terminal states. For example, the * Completed, Failed, or Terminated states. * *

    Workflows are long-running and could take hours, days, or months before completing. * Workflows can also be eternal, in which case they'll never complete unless terminated. * In such cases, this call may block indefinitely, so care must be taken to ensure appropriate timeouts are used. * If an workflow instance is already complete when this method is called, the method will return immediately. * * @param instanceId the unique ID of the workflow instance to wait for * @param timeout the amount of time to wait for the workflow instance to complete * @param getInputsAndOutputs true to fetch the workflow instance's inputs, outputs, and custom * status, or false to omit them * @return the workflow instance metadata or null if no such instance is found * @throws TimeoutException when the workflow instance is not completed within the specified amount of time */ @Nullable public WorkflowState waitForWorkflowCompletion(String instanceId, Duration timeout, boolean getInputsAndOutputs) throws TimeoutException { OrchestrationMetadata metadata = this.innerClient.waitForInstanceCompletion(instanceId, timeout, getInputsAndOutputs); return metadata == null ? null : new DefaultWorkflowState(metadata); } /** * Sends an event notification message to awaiting workflow instance. * * @param workflowInstanceId The ID of the workflow instance that will handle the event. * @param eventName The name of the event. Event names are case-insensitive. * @param eventPayload The serializable data payload to include with the event. */ public void raiseEvent(String workflowInstanceId, String eventName, Object eventPayload) { this.innerClient.raiseEvent(workflowInstanceId, eventName, eventPayload); } /** * Purges workflow instance state from the workflow state store. * * @param workflowInstanceId The unique ID of the workflow instance to purge. * @return Return true if the workflow state was found and purged successfully otherwise false. * @deprecated Use {@link #purgeWorkflow(String)} instead. */ @Deprecated(forRemoval = true) public boolean purgeInstance(String workflowInstanceId) { PurgeResult result = this.innerClient.purgeInstance(workflowInstanceId); if (result != null) { return result.getDeletedInstanceCount() > 0; } return false; } /** * Purges workflow instance state from the workflow state store. * * @param workflowInstanceId The unique ID of the workflow instance to purge. * @return Return true if the workflow state was found and purged successfully otherwise false. */ public boolean purgeWorkflow(String workflowInstanceId) { PurgeResult result = this.innerClient.purgeInstance(workflowInstanceId); if (result != null) { return result.getDeletedInstanceCount() > 0; } return false; } /** * Closes the inner DurableTask client and shutdown the GRPC channel. */ public void close() throws InterruptedException { try { if (this.innerClient != null) { this.innerClient.close(); this.innerClient = null; } } finally { if (this.grpcChannel != null && !this.grpcChannel.isShutdown()) { this.grpcChannel.shutdown().awaitTermination(5, TimeUnit.SECONDS); this.grpcChannel = null; } } } /** * Builds a {@link ManagedChannel} that includes the API-token interceptor plus any extras. */ private static ManagedChannel buildChannelWithAdditional( Properties properties, ClientInterceptor... extra) { if (extra == null || extra.length == 0) { return NetworkUtils.buildGrpcManagedChannel(properties, new ApiTokenClientInterceptor(properties)); } ClientInterceptor[] interceptors = new ClientInterceptor[1 + extra.length]; interceptors[0] = new ApiTokenClientInterceptor(properties); System.arraycopy(extra, 0, interceptors, 1, extra.length); return NetworkUtils.buildGrpcManagedChannel(properties, interceptors); } /** * Static method to create the DurableTaskClient. * * @param grpcChannel ManagedChannel for GRPC. * @return a new instance of a DurableTaskClient with a GRPC channel. */ private static DurableTaskClient createDurableTaskClient(ManagedChannel grpcChannel) { return new DurableTaskGrpcClientBuilder() .grpcChannel(grpcChannel) .build(); } private static NewOrchestrationInstanceOptions fromNewWorkflowOptions(NewWorkflowOptions options) { NewOrchestrationInstanceOptions instanceOptions = new NewOrchestrationInstanceOptions(); if (options.getVersion() != null) { instanceOptions.setVersion(options.getVersion()); } if (options.getInstanceId() != null) { instanceOptions.setInstanceId(options.getInstanceId()); } if (options.getInput() != null) { instanceOptions.setInput(options.getInput()); } if (options.getStartTime() != null) { instanceOptions.setStartTime(options.getStartTime()); } return instanceOptions; } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/client/NewWorkflowOptions.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.client; import java.time.Instant; /** * Options for starting a new instance of a workflow. */ public class NewWorkflowOptions { private String version; private String instanceId; private Object input; private Instant startTime; /** * Sets the version of the workflow to start. * * @param version the user-defined version of workflow * @return this {@link NewWorkflowOptions} object */ public NewWorkflowOptions setVersion(String version) { this.version = version; return this; } /** * Sets the instance ID of the workflow to start. * *

    If no instance ID is configured, the workflow will be created with a randomly generated instance ID. * * @param instanceId the ID of the new workflow * @return this {@link NewWorkflowOptions} object */ public NewWorkflowOptions setInstanceId(String instanceId) { this.instanceId = instanceId; return this; } /** * Sets the input of the workflow to start. * * @param input the input of the new workflow * @return this {@link NewWorkflowOptions} object */ public NewWorkflowOptions setInput(Object input) { this.input = input; return this; } /** * Sets the start time of the new workflow. * *

    By default, new workflow instances start executing immediately. This * method can be used to start them at a specific time in the future. If set, * Dapr will not wait for the workflow to "start" which can improve * throughput of creating many workflows. * * @param startTime the start time of the new workflow * @return this {@link NewWorkflowOptions} object */ public NewWorkflowOptions setStartTime(Instant startTime) { this.startTime = startTime; return this; } /** * Gets the user-specified version of the new workflow. * * @return the user-specified version of the new workflow. */ public String getVersion() { return this.version; } /** * Gets the instance ID of the new workflow. * * @return the instance ID of the new workflow. */ public String getInstanceId() { return this.instanceId; } /** * Gets the input of the new workflow. * * @return the input of the new workflow. */ public Object getInput() { return this.input; } /** * Gets the configured start time of the new workflow instance. * * @return the configured start time of the new workflow instance. */ public Instant getStartTime() { return this.startTime; } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/client/WorkflowFailureDetails.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.client; /** * Represents a workflow failure details. */ public interface WorkflowFailureDetails { /** * Gets the error type, which is the namespace-qualified exception type name. * * @return the error type, which is the namespace-qualified exception type name */ String getErrorType(); /** * Gets the error message. * * @return the error message */ String getErrorMessage(); /** * Gets the stack trace. * * @return the stack trace */ String getStackTrace(); /** * Checks whether the failure was caused by the provided exception class. * * @param exceptionClass the exception class to check * @return {@code true} if the failure was caused by the provided exception class */ default boolean isCausedBy(Class exceptionClass) { throw new UnsupportedOperationException("This method is not implemented"); } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/client/WorkflowInstanceStatus.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.client; import javax.annotation.Nullable; import java.time.Instant; /** * Represents a snapshot of a workflow instance's current state, including * metadata. * @deprecated Use {@link WorkflowState} instead. */ @Deprecated(forRemoval = true) public interface WorkflowInstanceStatus { /** * Gets the name of the workflow. * * @return the name of the workflow */ String getName(); /** * Gets the unique ID of the workflow instance. * * @return the unique ID of the workflow instance */ String getInstanceId(); /** * Gets the current runtime status of the workflow instance at the time this * object was fetched. * * @return the current runtime status of the workflow instance at the time this object was fetched */ WorkflowRuntimeStatus getRuntimeStatus(); /** * Gets the workflow instance's creation time in UTC. * * @return the workflow instance's creation time in UTC */ Instant getCreatedAt(); /** * Gets the workflow instance's last updated time in UTC. * * @return the workflow instance's last updated time in UTC */ Instant getLastUpdatedAt(); /** * Gets the workflow instance's serialized input, if any, as a string value. * * @return the workflow instance's serialized input or {@code null} */ String getSerializedInput(); /** * Gets the workflow instance's serialized output, if any, as a string value. * * @return the workflow instance's serialized output or {@code null} */ String getSerializedOutput(); /** * Gets the failure details, if any, for the failed workflow instance. * *

    This method returns data only if the workflow is in the * {@link WorkflowFailureDetails} failureDetails, * and only if this instance metadata was fetched with the option to include * output data. * * @return the failure details of the failed workflow instance or {@code null} */ @Nullable WorkflowFailureDetails getFailureDetails(); /** * Gets a value indicating whether the workflow instance was running at the time * this object was fetched. * * @return {@code true} if the workflow existed and was in a running state otherwise {@code false} */ boolean isRunning(); /** * Gets a value indicating whether the workflow instance was completed at the * time this object was fetched. * *

    A workflow instance is considered completed when its runtime status value is * {@link WorkflowRuntimeStatus#COMPLETED}, * {@link WorkflowRuntimeStatus#FAILED}, or * {@link WorkflowRuntimeStatus#TERMINATED}. * * @return {@code true} if the workflow was in a terminal state; otherwise {@code false} */ boolean isCompleted(); /** * Deserializes the workflow's input into an object of the specified type. * *

    Deserialization is performed using the DataConverter that was * configured on the DurableTaskClient object that created this workflow * metadata object. * * @param type the class associated with the type to deserialize the input data * into * @param the type to deserialize the input data into * @return the deserialized input value * @throws IllegalStateException if the metadata was fetched without the option * to read inputs and outputs */ T readInputAs(Class type); /** * Deserializes the workflow's output into an object of the specified type. * *

    Deserialization is performed using the DataConverter that was * configured on the DurableTaskClient * object that created this workflow metadata object. * * @param type the class associated with the type to deserialize the output data * into * @param the type to deserialize the output data into * @return the deserialized input value * @throws IllegalStateException if the metadata was fetched without the option * to read inputs and outputs */ T readOutputAs(Class type); } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/client/WorkflowRuntimeStatus.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.client; /** * Enum describing the runtime status of a workflow. */ public enum WorkflowRuntimeStatus { /** * The workflow started running. */ RUNNING, /** * The workflow completed normally. */ COMPLETED, /** * The workflow is continued as new. */ CONTINUED_AS_NEW, /** * The workflow completed with an unhandled exception. */ FAILED, /** * The workflow was abruptly cancelled via a management API call. */ CANCELED, /** * The workflow was abruptly terminated via a management API call. */ TERMINATED, /** * The workflow was scheduled but hasn't started running. */ PENDING, /** * The workflow was suspended. */ SUSPENDED } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/client/WorkflowState.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.client; import javax.annotation.Nullable; import java.time.Instant; /** * Represents a snapshot of a workflow instance's current state, including * metadata. */ public interface WorkflowState { /** * Gets the name of the workflow. * * @return the name of the workflow */ String getName(); /** * Gets the unique ID of the workflow instance. * * @return the unique ID of the workflow instance */ String getWorkflowId(); /** * Gets the current runtime status of the workflow instance at the time this * object was fetched. * * @return the current runtime status of the workflow instance at the time this object was fetched */ WorkflowRuntimeStatus getRuntimeStatus(); /** * Gets the workflow instance's creation time in UTC. * * @return the workflow instance's creation time in UTC */ Instant getCreatedAt(); /** * Gets the workflow instance's last updated time in UTC. * * @return the workflow instance's last updated time in UTC */ Instant getLastUpdatedAt(); /** * Gets the workflow instance's serialized input, if any, as a string value. * * @return the workflow instance's serialized input or {@code null} */ String getSerializedInput(); /** * Gets the workflow instance's serialized output, if any, as a string value. * * @return the workflow instance's serialized output or {@code null} */ String getSerializedOutput(); /** * Gets the failure details, if any, for the failed workflow instance. * *

    This method returns data only if the workflow is in the * {@link WorkflowFailureDetails} failureDetails, * and only if this instance metadata was fetched with the option to include * output data. * * @return the failure details of the failed workflow instance or {@code null} */ @Nullable WorkflowFailureDetails getFailureDetails(); /** * Gets a value indicating whether the workflow instance was running at the time * this object was fetched. * * @return {@code true} if the workflow existed and was in a running state otherwise {@code false} */ boolean isRunning(); /** * Gets a value indicating whether the workflow instance was completed at the * time this object was fetched. * *

    A workflow instance is considered completed when its runtime status value is * {@link WorkflowRuntimeStatus#COMPLETED}, * {@link WorkflowRuntimeStatus#FAILED}, or * {@link WorkflowRuntimeStatus#TERMINATED}. * * @return {@code true} if the workflow was in a terminal state; otherwise {@code false} */ boolean isCompleted(); /** * Deserializes the workflow's input into an object of the specified type. * *

    Deserialization is performed using the DataConverter that was * configured on the DurableTaskClient object that created this workflow * metadata object. * * @param type the class associated with the type to deserialize the input data * into * @param the type to deserialize the input data into * @return the deserialized input value * @throws IllegalStateException if the metadata was fetched without the option * to read inputs and outputs */ T readInputAs(Class type); /** * Deserializes the workflow's output into an object of the specified type. * *

    Deserialization is performed using the DataConverter that was * configured on the DurableTaskClient * object that created this workflow metadata object. * * @param type the class associated with the type to deserialize the output data * into * @param the type to deserialize the output data into * @return the deserialized input value * @throws IllegalStateException if the metadata was fetched without the option * to read inputs and outputs */ T readOutputAs(Class type); } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/internal/ApiTokenClientInterceptor.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.internal; import io.dapr.client.Headers; import io.dapr.config.Properties; import io.grpc.CallOptions; import io.grpc.Channel; import io.grpc.ClientCall; import io.grpc.ClientInterceptor; import io.grpc.ForwardingClientCall; import io.grpc.Metadata; import io.grpc.MethodDescriptor; public class ApiTokenClientInterceptor implements ClientInterceptor { private Properties properties; public ApiTokenClientInterceptor(Properties properties) { this.properties = properties; } @Override public ClientCall interceptCall( MethodDescriptor methodDescriptor, CallOptions options, Channel channel) { // TBD: do we need timeout in workflow client? ClientCall clientCall = channel.newCall(methodDescriptor, options); return new ForwardingClientCall.SimpleForwardingClientCall(clientCall) { @Override public void start(final Listener responseListener, final Metadata metadata) { String daprApiToken = properties.getValue(Properties.API_TOKEN); if (daprApiToken != null) { metadata.put(Metadata.Key.of(Headers.DAPR_API_TOKEN, Metadata.ASCII_STRING_MARSHALLER), daprApiToken); } super.start(responseListener, metadata); } }; } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowActivityContext.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskActivityContext; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Wrapper for Durable Task Framework {@link TaskActivityContext}. */ public class DefaultWorkflowActivityContext implements WorkflowActivityContext { private final TaskActivityContext innerContext; private final Logger logger; /** * Constructor for WorkflowActivityContext. * * @param context TaskActivityContext * @throws IllegalArgumentException if context is null */ public DefaultWorkflowActivityContext(TaskActivityContext context) throws IllegalArgumentException { this(context, WorkflowActivityContext.class); } /** * Constructor for WorkflowActivityContext. * * @param context TaskActivityContext * @param clazz Class to use for logger * @throws IllegalArgumentException if context is null */ public DefaultWorkflowActivityContext(TaskActivityContext context, Class clazz) throws IllegalArgumentException { this(context, LoggerFactory.getLogger(clazz)); } /** * Constructor for WorkflowActivityContext. * * @param context TaskActivityContext * @param logger org.slf4j.Logger instance * @throws IllegalArgumentException if context is null */ public DefaultWorkflowActivityContext(TaskActivityContext context, Logger logger) throws IllegalArgumentException { if (context == null) { throw new IllegalArgumentException("Context cannot be null"); } if (logger == null) { throw new IllegalArgumentException("Logger cannot be null"); } this.innerContext = context; this.logger = logger; } /** * Gets the logger for the current activity. * * @return the logger for the current activity */ @Override public Logger getLogger() { return this.logger; } /** * Gets the name of the current activity. * * @return the name of the current activity */ @Override public String getName() { return this.innerContext.getName(); } /** * Gets the input of the current activity. * * @param the type of the input * @param targetType targetType of the input * @return the input of the current activity */ @Override public T getInput(Class targetType) { return this.innerContext.getInput(targetType); } @Override public String getTraceParent() { return this.innerContext.getTraceParent(); } @Override public String getTaskExecutionId() { return this.innerContext.getTaskExecutionId(); } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowContext.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.CompositeTaskFailedException; import io.dapr.durabletask.RetryHandler; import io.dapr.durabletask.RetryPolicy; import io.dapr.durabletask.Task; import io.dapr.durabletask.TaskCanceledException; import io.dapr.durabletask.TaskOptions; import io.dapr.durabletask.TaskOrchestrationContext; import io.dapr.workflows.WorkflowContext; import io.dapr.workflows.WorkflowTaskOptions; import io.dapr.workflows.WorkflowTaskRetryContext; import io.dapr.workflows.WorkflowTaskRetryHandler; import io.dapr.workflows.WorkflowTaskRetryPolicy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.helpers.NOPLogger; import javax.annotation.Nullable; import java.time.Duration; import java.time.Instant; import java.time.ZonedDateTime; import java.util.List; import java.util.UUID; public class DefaultWorkflowContext implements WorkflowContext { private final TaskOrchestrationContext innerContext; private final Logger logger; /** * Constructor for DefaultWorkflowContext. * * @param context TaskOrchestrationContext * @throws IllegalArgumentException if context is null */ public DefaultWorkflowContext(TaskOrchestrationContext context) throws IllegalArgumentException { this(context, WorkflowContext.class); } /** * Constructor for DefaultWorkflowContext. * * @param context TaskOrchestrationContext * @param clazz Class to use for logger * @throws IllegalArgumentException if context is null */ public DefaultWorkflowContext(TaskOrchestrationContext context, Class clazz) throws IllegalArgumentException { this(context, LoggerFactory.getLogger(clazz)); } /** * Constructor for DefaultWorkflowContext. * * @param context TaskOrchestrationContext * @param logger Logger * @throws IllegalArgumentException if context or logger is null */ public DefaultWorkflowContext(TaskOrchestrationContext context, Logger logger) throws IllegalArgumentException { if (context == null) { throw new IllegalArgumentException("Context cannot be null"); } if (logger == null) { throw new IllegalArgumentException("Logger cannot be null"); } this.innerContext = context; this.logger = logger; } /** * {@inheritDoc} */ public Logger getLogger() { if (this.innerContext.getIsReplaying()) { return NOPLogger.NOP_LOGGER; } return this.logger; } /** * {@inheritDoc} */ public String getName() { return this.innerContext.getName(); } /** * {@inheritDoc} */ public String getInstanceId() { return this.innerContext.getInstanceId(); } /** * {@inheritDoc} */ public Instant getCurrentInstant() { return this.innerContext.getCurrentInstant(); } /** * {@inheritDoc} */ public void complete(Object output) { this.innerContext.complete(output); } /** * {@inheritDoc} */ @Override public Task waitForExternalEvent(String name, Duration timeout, Class dataType) throws TaskCanceledException { return this.innerContext.waitForExternalEvent(name, timeout, dataType); } /** * Waits for an event to be raised named {@code name} and returns a {@link Task} * that completes when the event is * received or is canceled when {@code timeout} expires. * *

    See {@link #waitForExternalEvent(String, Duration, Class)} for a full * description. * * @param name the case-insensitive name of the event to wait for * @param timeout the amount of time to wait before canceling the returned * {@code Task} * @return a new {@link Task} that completes when the external event is received * or when {@code timeout} expires * @throws TaskCanceledException if the specified {@code timeout} value expires * before the event is received */ @Override public Task waitForExternalEvent(String name, Duration timeout) throws TaskCanceledException { return this.innerContext.waitForExternalEvent(name, timeout, Void.class); } /** * Waits for an event to be raised named {@code name} and returns a {@link Task} * that completes when the event is * received. * *

    See {@link #waitForExternalEvent(String, Duration, Class)} for a full * description. * * @param name the case-insensitive name of the event to wait for * @return a new {@link Task} that completes when the external event is received */ @Override public Task waitForExternalEvent(String name) throws TaskCanceledException { return this.innerContext.waitForExternalEvent(name, null, Void.class); } @Override public boolean isReplaying() { return this.innerContext.getIsReplaying(); } /** * {@inheritDoc} */ public Task callActivity(String name, Object input, WorkflowTaskOptions options, Class returnType) { TaskOptions taskOptions = toTaskOptions(options); return this.innerContext.callActivity(name, input, taskOptions, returnType); } /** * {@inheritDoc} */ public Task> allOf(List> tasks) throws CompositeTaskFailedException { return this.innerContext.allOf(tasks); } /** * {@inheritDoc} */ public Task> anyOf(List> tasks) { return this.innerContext.anyOf(tasks); } /** * {@inheritDoc} */ public Task createTimer(Duration duration) { return this.innerContext.createTimer(duration); } @Override public Task createTimer(ZonedDateTime zonedDateTime) { return this.innerContext.createTimer(zonedDateTime); } /** * {@inheritDoc} */ public T getInput(Class targetType) { return this.innerContext.getInput(targetType); } /** * {@inheritDoc} */ @Override public Task callChildWorkflow(String name, @Nullable Object input, @Nullable String instanceID, @Nullable WorkflowTaskOptions options, Class returnType) { TaskOptions taskOptions = toTaskOptions(options); return this.innerContext.callSubOrchestrator(name, input, instanceID, taskOptions, returnType); } /** * {@inheritDoc} */ @Override public void continueAsNew(Object input) { this.innerContext.continueAsNew(input); } /** * {@inheritDoc} */ @Override public void continueAsNew(Object input, boolean preserveUnprocessedEvents) { this.innerContext.continueAsNew(input, preserveUnprocessedEvents); } /** * {@inheritDoc} */ @Override public UUID newUuid() { return this.innerContext.newUuid(); } private TaskOptions toTaskOptions(WorkflowTaskOptions options) { if (options == null) { return null; } RetryPolicy retryPolicy = toRetryPolicy(options.getRetryPolicy()); RetryHandler retryHandler = toRetryHandler(options.getRetryHandler()); return TaskOptions.builder() .retryPolicy(retryPolicy) .retryHandler(retryHandler) .appID(options.getAppId()) .build(); } /** * Converts a {@link WorkflowTaskRetryPolicy} to a {@link RetryPolicy}. * * @param workflowTaskRetryPolicy The {@link WorkflowTaskRetryPolicy} being converted * @return A {@link RetryPolicy} */ private RetryPolicy toRetryPolicy(WorkflowTaskRetryPolicy workflowTaskRetryPolicy) { if (workflowTaskRetryPolicy == null) { return null; } RetryPolicy retryPolicy = new RetryPolicy( workflowTaskRetryPolicy.getMaxNumberOfAttempts(), workflowTaskRetryPolicy.getFirstRetryInterval() ); retryPolicy.setBackoffCoefficient(workflowTaskRetryPolicy.getBackoffCoefficient()); if (workflowTaskRetryPolicy.getMaxRetryInterval() != null) { retryPolicy.setMaxRetryInterval(workflowTaskRetryPolicy.getMaxRetryInterval()); } if (workflowTaskRetryPolicy.getRetryTimeout() != null) { retryPolicy.setRetryTimeout(workflowTaskRetryPolicy.getRetryTimeout()); } return retryPolicy; } /** * Converts a {@link WorkflowTaskRetryHandler} to a {@link RetryHandler}. * * @param workflowTaskRetryHandler The {@link WorkflowTaskRetryHandler} being converted * @return A {@link RetryHandler} */ private RetryHandler toRetryHandler(WorkflowTaskRetryHandler workflowTaskRetryHandler) { if (workflowTaskRetryHandler == null) { return null; } return retryContext -> { WorkflowTaskRetryContext workflowRetryContext = new WorkflowTaskRetryContext( this, retryContext.getLastAttemptNumber(), new DefaultWorkflowFailureDetails(retryContext.getLastFailure()), retryContext.getTotalRetryTime() ); return workflowTaskRetryHandler.handle(workflowRetryContext); }; } /** * Set custom status to a workflow execution. * * @param status to set to the execution */ public void setCustomStatus(Object status) { innerContext.setCustomStatus(status); } public boolean isPatched(String patchName) { return this.innerContext.isPatched(patchName); } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowFailureDetails.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.FailureDetails; import io.dapr.workflows.client.WorkflowFailureDetails; /** * Represents a workflow failure details. */ public class DefaultWorkflowFailureDetails implements WorkflowFailureDetails { private final FailureDetails workflowFailureDetails; /** * Class constructor. * * @param failureDetails failure Details */ public DefaultWorkflowFailureDetails(FailureDetails failureDetails) { this.workflowFailureDetails = failureDetails; } /** * Gets the error type, which is the namespace-qualified exception type name. * * @return the error type, which is the namespace-qualified exception type name */ @Override public String getErrorType() { return workflowFailureDetails.getErrorType(); } /** * Gets the error message. * * @return the error message */ @Override public String getErrorMessage() { return workflowFailureDetails.getErrorMessage(); } /** * Gets the stack trace. * * @return the stack trace */ @Override public String getStackTrace() { return workflowFailureDetails.getStackTrace(); } /** * Checks whether the failure was caused by the provided exception class. * * @param exceptionClass the exception class to check * @return {@code true} if the failure was caused by the provided exception class */ @Override public boolean isCausedBy(Class exceptionClass) { return workflowFailureDetails.isCausedBy(exceptionClass); } @Override public String toString() { return workflowFailureDetails.toString(); } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowInstanceStatus.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.FailureDetails; import io.dapr.durabletask.OrchestrationMetadata; import io.dapr.durabletask.OrchestrationRuntimeStatus; import io.dapr.workflows.client.WorkflowFailureDetails; import io.dapr.workflows.client.WorkflowInstanceStatus; import io.dapr.workflows.client.WorkflowRuntimeStatus; import javax.annotation.Nullable; import java.time.Instant; /** * Represents a snapshot of a workflow instance's current state, including * metadata. * @deprecated Use {@link DefaultWorkflowState} instead. */ @Deprecated(forRemoval = true) public class DefaultWorkflowInstanceStatus implements WorkflowInstanceStatus { private final OrchestrationMetadata orchestrationMetadata; @Nullable private final WorkflowFailureDetails failureDetails; /** * Class constructor. * * @param orchestrationMetadata Durable task orchestration metadata */ public DefaultWorkflowInstanceStatus(OrchestrationMetadata orchestrationMetadata) { if (orchestrationMetadata == null) { throw new IllegalArgumentException("OrchestrationMetadata cannot be null"); } this.orchestrationMetadata = orchestrationMetadata; FailureDetails details = orchestrationMetadata.getFailureDetails(); if (details != null) { this.failureDetails = new DefaultWorkflowFailureDetails(details); } else { this.failureDetails = null; } } /** * Gets the name of the workflow. * * @return the name of the workflow */ public String getName() { return orchestrationMetadata.getName(); } /** * Gets the unique ID of the workflow instance. * * @return the unique ID of the workflow instance */ public String getInstanceId() { return orchestrationMetadata.getInstanceId(); } /** * Gets the current runtime status of the workflow instance at the time this * object was fetched. * * @return the current runtime status of the workflow instance at the time this object was fetched */ public WorkflowRuntimeStatus getRuntimeStatus() { OrchestrationRuntimeStatus status = orchestrationMetadata.getRuntimeStatus(); return WorkflowRuntimeStatusConverter.fromOrchestrationRuntimeStatus(status); } /** * Gets the workflow instance's creation time in UTC. * * @return the workflow instance's creation time in UTC */ public Instant getCreatedAt() { return orchestrationMetadata.getCreatedAt(); } /** * Gets the workflow instance's last updated time in UTC. * * @return the workflow instance's last updated time in UTC */ public Instant getLastUpdatedAt() { return orchestrationMetadata.getLastUpdatedAt(); } /** * Gets the workflow instance's serialized input, if any, as a string value. * * @return the workflow instance's serialized input or {@code null} */ public String getSerializedInput() { return orchestrationMetadata.getSerializedInput(); } /** * Gets the workflow instance's serialized output, if any, as a string value. * * @return the workflow instance's serialized output or {@code null} */ public String getSerializedOutput() { return orchestrationMetadata.getSerializedOutput(); } /** * Gets the failure details, if any, for the failed workflow instance. * *

    This method returns data only if the workflow is in the * {@link OrchestrationRuntimeStatus#FAILED} state, * and only if this instance metadata was fetched with the option to include * output data. * * @return the failure details of the failed workflow instance or {@code null} */ @Nullable public WorkflowFailureDetails getFailureDetails() { return this.failureDetails; } /** * Gets a value indicating whether the workflow instance was running at the time * this object was fetched. * * @return {@code true} if the workflow existed and was in a running state otherwise {@code false} */ public boolean isRunning() { return orchestrationMetadata.isRunning(); } /** * Gets a value indicating whether the workflow instance was completed at the * time this object was fetched. * *

    A workflow instance is considered completed when its runtime status value is * {@link WorkflowRuntimeStatus#COMPLETED}, * {@link WorkflowRuntimeStatus#FAILED}, or * {@link WorkflowRuntimeStatus#TERMINATED}. * * @return {@code true} if the workflow was in a terminal state; otherwise {@code false} */ public boolean isCompleted() { return orchestrationMetadata.isCompleted(); } /** * Deserializes the workflow's input into an object of the specified type. * *

    Deserialization is performed using the DataConverter that was * configured on the DurableTaskClient object that created this workflow * metadata object. * * @param type the class associated with the type to deserialize the input data * into * @param the type to deserialize the input data into * @return the deserialized input value * @throws IllegalStateException if the metadata was fetched without the option * to read inputs and outputs */ public T readInputAs(Class type) { return orchestrationMetadata.readInputAs(type); } /** * Deserializes the workflow's output into an object of the specified type. * *

    Deserialization is performed using the DataConverter that was * configured on the DurableTaskClient * object that created this workflow metadata object. * * @param type the class associated with the type to deserialize the output data * into * @param the type to deserialize the output data into * @return the deserialized input value * @throws IllegalStateException if the metadata was fetched without the option * to read inputs and outputs */ public T readOutputAs(Class type) { return orchestrationMetadata.readOutputAs(type); } /** * Generates a user-friendly string representation of the current metadata * object. * * @return a user-friendly string representation of the current metadata object */ public String toString() { return orchestrationMetadata.toString(); } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowState.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.FailureDetails; import io.dapr.durabletask.OrchestrationMetadata; import io.dapr.durabletask.OrchestrationRuntimeStatus; import io.dapr.workflows.client.WorkflowFailureDetails; import io.dapr.workflows.client.WorkflowRuntimeStatus; import io.dapr.workflows.client.WorkflowState; import javax.annotation.Nullable; import java.time.Instant; /** * Represents a snapshot of a workflow instance's current state, including * metadata. */ public class DefaultWorkflowState implements WorkflowState { private final OrchestrationMetadata orchestrationMetadata; @Nullable private final WorkflowFailureDetails failureDetails; /** * Class constructor. * * @param orchestrationMetadata Durable task orchestration metadata */ public DefaultWorkflowState(OrchestrationMetadata orchestrationMetadata) { if (orchestrationMetadata == null) { throw new IllegalArgumentException("OrchestrationMetadata cannot be null"); } this.orchestrationMetadata = orchestrationMetadata; FailureDetails details = orchestrationMetadata.getFailureDetails(); if (details != null) { this.failureDetails = new DefaultWorkflowFailureDetails(details); } else { this.failureDetails = null; } } /** * Gets the name of the workflow. * * @return the name of the workflow */ public String getName() { return orchestrationMetadata.getName(); } /** * Gets the unique ID of the workflow instance. * * @return the unique ID of the workflow instance */ public String getWorkflowId() { return orchestrationMetadata.getInstanceId(); } /** * Gets the current runtime status of the workflow instance at the time this * object was fetched. * * @return the current runtime status of the workflow instance at the time this object was fetched */ public WorkflowRuntimeStatus getRuntimeStatus() { OrchestrationRuntimeStatus status = orchestrationMetadata.getRuntimeStatus(); return WorkflowRuntimeStatusConverter.fromOrchestrationRuntimeStatus(status); } /** * Gets the workflow instance's creation time in UTC. * * @return the workflow instance's creation time in UTC */ public Instant getCreatedAt() { return orchestrationMetadata.getCreatedAt(); } /** * Gets the workflow instance's last updated time in UTC. * * @return the workflow instance's last updated time in UTC */ public Instant getLastUpdatedAt() { return orchestrationMetadata.getLastUpdatedAt(); } /** * Gets the workflow instance's serialized input, if any, as a string value. * * @return the workflow instance's serialized input or {@code null} */ public String getSerializedInput() { return orchestrationMetadata.getSerializedInput(); } /** * Gets the workflow instance's serialized output, if any, as a string value. * * @return the workflow instance's serialized output or {@code null} */ public String getSerializedOutput() { return orchestrationMetadata.getSerializedOutput(); } /** * Gets the failure details, if any, for the failed workflow instance. * *

    This method returns data only if the workflow is in the * {@link OrchestrationRuntimeStatus#FAILED} state, * and only if this instance metadata was fetched with the option to include * output data. * * @return the failure details of the failed workflow instance or {@code null} */ @Nullable public WorkflowFailureDetails getFailureDetails() { return this.failureDetails; } /** * Gets a value indicating whether the workflow instance was running at the time * this object was fetched. * * @return {@code true} if the workflow existed and was in a running state otherwise {@code false} */ public boolean isRunning() { return orchestrationMetadata.isRunning(); } /** * Gets a value indicating whether the workflow instance was completed at the * time this object was fetched. * *

    A workflow instance is considered completed when its runtime status value is * {@link WorkflowRuntimeStatus#COMPLETED}, * {@link WorkflowRuntimeStatus#FAILED}, or * {@link WorkflowRuntimeStatus#TERMINATED}. * * @return {@code true} if the workflow was in a terminal state; otherwise {@code false} */ public boolean isCompleted() { return orchestrationMetadata.isCompleted(); } /** * Deserializes the workflow's input into an object of the specified type. * *

    Deserialization is performed using the DataConverter that was * configured on the DurableTaskClient object that created this workflow * metadata object. * * @param type the class associated with the type to deserialize the input data * into * @param the type to deserialize the input data into * @return the deserialized input value * @throws IllegalStateException if the metadata was fetched without the option * to read inputs and outputs */ public T readInputAs(Class type) { return orchestrationMetadata.readInputAs(type); } /** * Deserializes the workflow's output into an object of the specified type. * *

    Deserialization is performed using the DataConverter that was * configured on the DurableTaskClient * object that created this workflow metadata object. * * @param type the class associated with the type to deserialize the output data * into * @param the type to deserialize the output data into * @return the deserialized input value * @throws IllegalStateException if the metadata was fetched without the option * to read inputs and outputs */ public T readOutputAs(Class type) { return orchestrationMetadata.readOutputAs(type); } /** * Generates a user-friendly string representation of the current metadata * object. * * @return a user-friendly string representation of the current metadata object */ public String toString() { return orchestrationMetadata.toString(); } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/WorkflowActivityClassWrapper.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskActivity; import io.dapr.durabletask.TaskActivityFactory; import io.dapr.workflows.WorkflowActivity; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; /** * Wrapper for Durable Task Framework task activity factory. */ public class WorkflowActivityClassWrapper implements TaskActivityFactory { private final Constructor activityConstructor; private final String name; /** * Constructor for WorkflowActivityWrapper. * * @param name Name of the activity to wrap. * @param clazz Class of the activity to wrap. */ public WorkflowActivityClassWrapper(String name, Class clazz) { this.name = name; try { this.activityConstructor = clazz.getDeclaredConstructor(); } catch (NoSuchMethodException e) { throw new RuntimeException( String.format("No constructor found for activity class '%s'.", this.name), e); } } /** * Constructor for WorkflowActivityWrapper. * * @param clazz Class of the activity to wrap. */ public WorkflowActivityClassWrapper(Class clazz) { this(clazz.getCanonicalName(), clazz); } @Override public String getName() { return name; } @Override public TaskActivity create() { return ctx -> { Object result; T activity; try { activity = this.activityConstructor.newInstance(); } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) { throw new RuntimeException( String.format("Unable to instantiate instance of activity class '%s'", this.name), e); } result = activity.run(new DefaultWorkflowActivityContext(ctx, activity.getClass())); return result; }; } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/WorkflowActivityInstanceWrapper.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskActivity; import io.dapr.durabletask.TaskActivityFactory; import io.dapr.workflows.WorkflowActivity; /** * Wrapper for Durable Task Framework task activity factory. */ public class WorkflowActivityInstanceWrapper implements TaskActivityFactory { private final T activity; private final String name; /** * Constructor for WorkflowActivityWrapper. * * @param name Name of the activity to wrap. * @param instance Instance of the activity to wrap. */ public WorkflowActivityInstanceWrapper(String name, T instance) { this.name = name; this.activity = instance; } /** * Constructor for WorkflowActivityWrapper. * * @param instance Instance of the activity to wrap. */ public WorkflowActivityInstanceWrapper(T instance) { this(instance.getClass().getCanonicalName(), instance); } @Override public String getName() { return name; } @Override public TaskActivity create() { return ctx -> activity.run(new DefaultWorkflowActivityContext(ctx, activity.getClass())); } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/WorkflowClassWrapper.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskOrchestration; import io.dapr.workflows.Workflow; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; /** * Wrapper for Durable Task Framework orchestration factory. */ class WorkflowClassWrapper extends WorkflowVersionWrapper { private final Constructor workflowConstructor; private final String name; public WorkflowClassWrapper(Class clazz) { super(); this.name = clazz.getCanonicalName(); try { this.workflowConstructor = clazz.getDeclaredConstructor(); } catch (NoSuchMethodException e) { throw new RuntimeException( String.format("No constructor found for workflow class '%s'.", this.name), e ); } } public WorkflowClassWrapper(String name, Class clazz, String versionName, Boolean isLatestVersion) { super(versionName, isLatestVersion); this.name = name; try { this.workflowConstructor = clazz.getDeclaredConstructor(); } catch (NoSuchMethodException e) { throw new RuntimeException( String.format("No constructor found for workflow class '%s'.", this.name), e ); } } @Override public String getName() { return name; } @Override public TaskOrchestration create() { return ctx -> { T workflow; try { workflow = this.workflowConstructor.newInstance(); } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) { throw new RuntimeException( String.format("Unable to instantiate instance of workflow class '%s'", this.name), e ); } workflow.run(new DefaultWorkflowContext(ctx, workflow.getClass())); }; } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/WorkflowInstanceWrapper.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskOrchestration; import io.dapr.workflows.Workflow; /** * Wrapper for Durable Task Framework orchestration factory. */ class WorkflowInstanceWrapper extends WorkflowVersionWrapper { private final T workflow; private final String name; public WorkflowInstanceWrapper(T instance) { this.name = instance.getClass().getCanonicalName(); this.workflow = instance; } public WorkflowInstanceWrapper(String name, T instance, String versionName, Boolean isLatestVersion) { super(versionName, isLatestVersion); this.name = name; this.workflow = instance; } @Override public String getName() { return name; } @Override public TaskOrchestration create() { return ctx -> workflow.run(new DefaultWorkflowContext(ctx, workflow.getClass())); } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/WorkflowRuntime.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.DurableTaskGrpcWorker; import io.grpc.ManagedChannel; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; /** * Contains methods to register workflows and activities. */ public class WorkflowRuntime implements AutoCloseable { private final DurableTaskGrpcWorker worker; private final ManagedChannel managedChannel; private final ExecutorService executorService; /** * Constructor. * * @param worker grpcWorker processing activities. * @param managedChannel grpc channel. * @param executorService executor service responsible for running the threads. */ public WorkflowRuntime(DurableTaskGrpcWorker worker, ManagedChannel managedChannel, ExecutorService executorService) { this.worker = worker; this.managedChannel = managedChannel; this.executorService = executorService; } /** * Start the Workflow runtime processing items and block. * */ public void start() { this.start(true); } /** * Start the Workflow runtime processing items. * * @param block block the thread if true */ public void start(boolean block) { if (block) { this.worker.startAndBlock(); } else { this.worker.start(); } } /** * {@inheritDoc} */ public void close() { this.shutDownWorkerPool(); this.closeSideCarChannel(); this.worker.close(); } private void closeSideCarChannel() { this.managedChannel.shutdown(); try { if (!this.managedChannel.awaitTermination(60, TimeUnit.SECONDS)) { this.managedChannel.shutdownNow(); } } catch (InterruptedException ex) { Thread.currentThread().interrupt(); } } private void shutDownWorkerPool() { this.executorService.shutdown(); try { if (!this.executorService.awaitTermination(60, TimeUnit.SECONDS)) { this.executorService.shutdownNow(); } } catch (InterruptedException ex) { Thread.currentThread().interrupt(); } } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/WorkflowRuntimeBuilder.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.config.Properties; import io.dapr.durabletask.DurableTaskGrpcWorkerBuilder; import io.dapr.durabletask.TaskActivityFactory; import io.dapr.durabletask.orchestration.TaskOrchestrationFactory; import io.dapr.utils.NetworkUtils; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.internal.ApiTokenClientInterceptor; import io.grpc.ClientInterceptor; import io.grpc.ManagedChannel; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Collections; import java.util.HashSet; import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class WorkflowRuntimeBuilder { private ClientInterceptor workflowApiTokenInterceptor; private static volatile WorkflowRuntime instance; private final Logger logger; private final Set workflows = new HashSet<>(); private final Set activities = new HashSet<>(); private final Set activitySet = Collections.synchronizedSet(new HashSet<>()); private final Set workflowSet = Collections.synchronizedSet(new HashSet<>()); private final DurableTaskGrpcWorkerBuilder builder; private final ManagedChannel managedChannel; private ExecutorService executorService; /** * Constructs the WorkflowRuntimeBuilder. */ public WorkflowRuntimeBuilder() { this(new Properties()); } /** * Constructs the WorkflowRuntimeBuilder. * * @param properties Properties to use. */ public WorkflowRuntimeBuilder(Properties properties) { this(properties, LoggerFactory.getLogger(WorkflowRuntimeBuilder.class)); } public WorkflowRuntimeBuilder(Logger logger) { this(new Properties(), logger); } private WorkflowRuntimeBuilder(Properties properties, Logger logger) { this.workflowApiTokenInterceptor = new ApiTokenClientInterceptor(properties); this.managedChannel = NetworkUtils.buildGrpcManagedChannel(properties, workflowApiTokenInterceptor); this.builder = new DurableTaskGrpcWorkerBuilder().grpcChannel(this.managedChannel); this.logger = logger; } /** * Returns a WorkflowRuntime object. * * @return A WorkflowRuntime object. */ public WorkflowRuntime build() { if (instance == null) { synchronized (WorkflowRuntime.class) { this.executorService = this.executorService == null ? Executors.newCachedThreadPool() : this.executorService; if (instance == null) { instance = new WorkflowRuntime( this.builder.withExecutorService(this.executorService).build(), this.managedChannel, this.executorService); } } } this.logger.info("List of registered workflows: {}", this.workflowSet); this.logger.info("List of registered activities: {}", this.activitySet); this.logger.info("Successfully built dapr workflow runtime"); return instance; } /** * Register Executor Service to use with workflow. * * @param executorService to be used. * @return {@link WorkflowRuntimeBuilder}. */ public WorkflowRuntimeBuilder withExecutorService(ExecutorService executorService) { this.executorService = executorService; this.builder.withExecutorService(executorService); return this; } /** * Registers a Workflow object. * * @param any Workflow type * @param clazz the class being registered * @return the WorkflowRuntimeBuilder */ public WorkflowRuntimeBuilder registerWorkflow(Class clazz) { return this.registerWorkflow(clazz.getCanonicalName(), clazz, null, null); } /** * Registers a Workflow object. * * @param any Workflow type * @param name the name of the workflow to register * @param clazz the class being registered * @return the WorkflowRuntimeBuilder */ public WorkflowRuntimeBuilder registerWorkflow(String name, Class clazz) { return this.registerWorkflow(name, clazz, null, null); } /** * Registers a Workflow object. * * @param any Workflow type * @param name the name of the workflow to register * @param clazz the class being registered * @param versionName the version name of the workflow * @param isLatestVersion whether the workflow is the latest version * @return the WorkflowRuntimeBuilder */ public WorkflowRuntimeBuilder registerWorkflow(String name, Class clazz, String versionName, Boolean isLatestVersion) { if (StringUtils.isEmpty(name)) { throw new IllegalArgumentException("Workflow name cannot be empty"); } this.builder.addOrchestration(new WorkflowClassWrapper<>(name, clazz, versionName, isLatestVersion)); this.workflowSet.add(name); this.workflows.add(name); if (StringUtils.isEmpty(versionName)) { this.logger.info("Registered Workflow: {}", clazz.getSimpleName()); } else { this.logger.info("Registered Workflow Version: {} {} - isLatest {}", clazz.getSimpleName(), versionName, isLatestVersion); } return this; } /** * Registers a Workflow object. * * @param any Workflow type * @param instance the workflow instance being registered * @return the WorkflowRuntimeBuilder */ public WorkflowRuntimeBuilder registerWorkflow(T instance) { var name = instance.getClass().getCanonicalName(); this.registerWorkflow(name, instance, null, null); return this; } /** * Registers a Workflow object. * * @param any Workflow type * @param name the name of the workflow to register * @param instance the workflow instance being registered * @param versionName the version name of the workflow * @param isLatestVersion whether the workflow is the latest version * @return the WorkflowRuntimeBuilder */ public WorkflowRuntimeBuilder registerWorkflow(String name, T instance, String versionName, Boolean isLatestVersion) { if (StringUtils.isEmpty(name)) { throw new IllegalArgumentException("Workflow name cannot be empty"); } this.builder.addOrchestration(new WorkflowInstanceWrapper<>(name, instance, versionName, isLatestVersion)); this.workflowSet.add(name); this.workflows.add(name); if (StringUtils.isEmpty(versionName)) { this.logger.info("Registered Workflow {}: {}", name, instance.getClass()); } else { this.logger.info("Registered Workflow Version {}: {} {} - isLatest {}", name, instance.getClass().getSimpleName(), versionName, isLatestVersion); } return this; } /** * Registers an Activity object. * * @param clazz the class being registered * @param any WorkflowActivity type * @return the WorkflowRuntimeBuilder */ public WorkflowRuntimeBuilder registerActivity(Class clazz) { return registerActivity(clazz.getCanonicalName(), clazz); } /** * Registers an Activity object. * * @param any WorkflowActivity type * @param name Name of the activity to register. * @param clazz Class of the activity to register. * @return the WorkflowRuntimeBuilder */ public WorkflowRuntimeBuilder registerActivity(String name, Class clazz) { if (StringUtils.isEmpty(name)) { throw new IllegalArgumentException("Activity name cannot be empty"); } this.builder.addActivity(new WorkflowActivityClassWrapper<>(name, clazz)); this.activitySet.add(name); this.activities.add(name); this.logger.info("Registered Activity: {}", clazz.getSimpleName()); return this; } /** * Registers an Activity object. * * @param any WorkflowActivity type * @param instance the class instance being registered * @return the WorkflowRuntimeBuilder */ public WorkflowRuntimeBuilder registerActivity(T instance) { return this.registerActivity(instance.getClass().getCanonicalName(), instance); } /** * Registers an Activity object. * * @param any WorkflowActivity type * @param name Name of the activity to register. * @param instance the class instance being registered * @return the WorkflowRuntimeBuilder */ public WorkflowRuntimeBuilder registerActivity(String name, T instance) { this.builder.addActivity(new WorkflowActivityInstanceWrapper<>(name, instance)); this.activitySet.add(name); this.activities.add(name); this.logger.info("Registered Activity: {}", name); return this; } /** * Registers a Task Activity using a {@link TaskActivityFactory}. * *

    This method allows advanced use cases where activities are created * dynamically or require custom instantiation logic instead of relying * on class-based or instance-based registration. * * @param activityName the logical name of the activity to register * @param taskActivityFactory the factory responsible for creating the activity * @return the {@link WorkflowRuntimeBuilder} */ public WorkflowRuntimeBuilder registerTaskActivityFactory( String activityName, TaskActivityFactory taskActivityFactory) { this.builder.addActivity(taskActivityFactory); this.activitySet.add(activityName); this.activities.add(activityName); this.logger.info("Registered Activity: {}", activityName); return this; } /** * Registers a Task Orchestration using a {@link TaskOrchestrationFactory}. * *

    This method is intended for advanced scenarios where orchestrations * are created programmatically or require custom construction logic, * rather than being registered via workflow classes or instances. * * @param orchestrationName the logical name of the orchestration to register * @param taskOrchestrationFactory the factory responsible for creating the orchestration * @return the {@link WorkflowRuntimeBuilder} */ public WorkflowRuntimeBuilder registerTaskOrchestrationFactory( String orchestrationName, TaskOrchestrationFactory taskOrchestrationFactory) { this.builder.addOrchestration(taskOrchestrationFactory); this.workflows.add(orchestrationName); this.workflowSet.add(orchestrationName); this.logger.info("Registered Workflow: {}", orchestrationName); return this; } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/WorkflowRuntimeStatusConverter.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.OrchestrationRuntimeStatus; import io.dapr.workflows.client.WorkflowRuntimeStatus; public class WorkflowRuntimeStatusConverter { private WorkflowRuntimeStatusConverter() { } /** * Converts an OrchestrationRuntimeStatus to a WorkflowRuntimeStatus. * * @param status the OrchestrationRuntimeStatus to convert * @return the corresponding WorkflowRuntimeStatus * @throws IllegalArgumentException if the status is null or unknown */ public static WorkflowRuntimeStatus fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus status) { if (status == null) { throw new IllegalArgumentException("status cannot be null"); } switch (status) { case RUNNING: return WorkflowRuntimeStatus.RUNNING; case COMPLETED: return WorkflowRuntimeStatus.COMPLETED; case CONTINUED_AS_NEW: return WorkflowRuntimeStatus.CONTINUED_AS_NEW; case FAILED: return WorkflowRuntimeStatus.FAILED; case CANCELED: return WorkflowRuntimeStatus.CANCELED; case TERMINATED: return WorkflowRuntimeStatus.TERMINATED; case PENDING: return WorkflowRuntimeStatus.PENDING; case SUSPENDED: return WorkflowRuntimeStatus.SUSPENDED; default: throw new IllegalArgumentException(String.format("Unknown status value: %s", status)); } } } ================================================ FILE: sdk-workflows/src/main/java/io/dapr/workflows/runtime/WorkflowVersionWrapper.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.orchestration.TaskOrchestrationFactory; public abstract class WorkflowVersionWrapper implements TaskOrchestrationFactory { private final String versionName; private final Boolean isLatestVersion; public WorkflowVersionWrapper() { this.versionName = ""; this.isLatestVersion = false; } public WorkflowVersionWrapper(String versionName, Boolean isLatestVersion) { this.versionName = versionName; this.isLatestVersion = isLatestVersion; } @Override public String getVersionName() { return versionName; } @Override public Boolean isLatestVersion() { return isLatestVersion; } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/DefaultWorkflowContextTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows; import io.dapr.durabletask.CompositeTaskFailedException; import io.dapr.durabletask.RetryContext; import io.dapr.durabletask.RetryHandler; import io.dapr.durabletask.Task; import io.dapr.durabletask.TaskCanceledException; import io.dapr.durabletask.TaskOptions; import io.dapr.durabletask.TaskOrchestrationContext; import io.dapr.workflows.runtime.DefaultWorkflowContext; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.slf4j.Logger; import javax.annotation.Nullable; import java.time.Duration; import java.time.Instant; import java.time.ZonedDateTime; import java.util.Arrays; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class DefaultWorkflowContextTest { private DefaultWorkflowContext context; private DefaultWorkflowContext contextWithClass; private TaskOrchestrationContext mockInnerContext; private WorkflowContext testWorkflowContext; @BeforeEach public void setUp() { mockInnerContext = mock(TaskOrchestrationContext.class); testWorkflowContext = new WorkflowContext() { @Override public Logger getLogger() { return null; } @Override public String getName() { return null; } @Override public String getInstanceId() { return null; } @Override public Instant getCurrentInstant() { return null; } @Override public void complete(Object output) { } @Override public Task waitForExternalEvent(String name, Duration timeout, Class dataType) throws TaskCanceledException { return null; } @Override public Task waitForExternalEvent(String name, Duration timeout) throws TaskCanceledException { return null; } @Override public Task waitForExternalEvent(String name) throws TaskCanceledException { return null; } @Override public Task callActivity(String name, Object input, WorkflowTaskOptions options, Class returnType) { return null; } @Override public boolean isReplaying() { return false; } @Override public Task> allOf(List> tasks) throws CompositeTaskFailedException { return null; } @Override public Task> anyOf(List> tasks) { return null; } @Override public Task createTimer(Duration duration) { return null; } @Override public Task createTimer(ZonedDateTime zonedDateTime) { return null; } @Override public V getInput(Class targetType) { return null; } @Override public Task callChildWorkflow(String name, @Nullable Object input, @Nullable String instanceID, @Nullable WorkflowTaskOptions options, Class returnType) { return null; } @Override public void continueAsNew(Object input, boolean preserveUnprocessedEvents) { } @Override public void setCustomStatus(Object status) { } @Override public boolean isPatched(String patchName) { return false; } }; context = new DefaultWorkflowContext(mockInnerContext); contextWithClass = new DefaultWorkflowContext(mockInnerContext, testWorkflowContext.getClass()); } @Test public void getNameTest() { context.getName(); verify(mockInnerContext, times(1)).getName(); } @Test public void getInstanceIdTest() { context.getInstanceId(); verify(mockInnerContext, times(1)).getInstanceId(); } @Test public void getCurrentInstantTest() { context.getCurrentInstant(); verify(mockInnerContext, times(1)).getCurrentInstant(); } @Test public void waitForExternalEventWithEventAndDurationTest() { String expectedEvent = "TestEvent"; Duration expectedDuration = Duration.ofSeconds(1); context.waitForExternalEvent(expectedEvent, expectedDuration); verify(mockInnerContext, times(1)).waitForExternalEvent(expectedEvent, expectedDuration, Void.class); } @Test public void waitForExternalEventTest() { String expectedEvent = "TestEvent"; Duration expectedDuration = Duration.ofSeconds(1); context.waitForExternalEvent(expectedEvent, expectedDuration, String.class); verify(mockInnerContext, times(1)).waitForExternalEvent(expectedEvent, expectedDuration, String.class); } @Test public void callActivityTest() { String expectedName = "TestActivity"; String expectedInput = "TestInput"; context.callActivity(expectedName, expectedInput, String.class); verify(mockInnerContext, times(1)).callActivity(expectedName, expectedInput, null, String.class); } @Test public void DaprWorkflowContextWithEmptyInnerContext() { assertThrows(IllegalArgumentException.class, () -> context = new DefaultWorkflowContext(mockInnerContext, (Logger)null)); } @Test public void DaprWorkflowContextWithEmptyLogger() { assertThrows(IllegalArgumentException.class, () -> context = new DefaultWorkflowContext(null, (Logger)null)); } @Test public void completeTest() { context.complete(null); verify(mockInnerContext, times(1)).complete(null); } @Test public void getIsReplayingTest() { context.isReplaying(); verify(mockInnerContext, times(1)).getIsReplaying(); } @Test public void getLoggerReplayingTest() { Logger mockLogger = mock(Logger.class); when(context.isReplaying()).thenReturn(true); DefaultWorkflowContext testContext = new DefaultWorkflowContext(mockInnerContext, mockLogger); String expectedArg = "test print"; testContext.getLogger().info(expectedArg); verify(mockLogger, times(0)).info(any(String.class)); } @Test public void getLoggerFirstTimeTest() { Logger mockLogger = mock(Logger.class); when(context.isReplaying()).thenReturn(false); DefaultWorkflowContext testContext = new DefaultWorkflowContext(mockInnerContext, mockLogger); String expectedArg = "test print"; testContext.getLogger().info(expectedArg); verify(mockLogger, times(1)).info(expectedArg); } @Test public void continueAsNewTest() { String expectedInput = "TestInput"; context.continueAsNew(expectedInput); verify(mockInnerContext, times(1)).continueAsNew(expectedInput); } @Test public void allOfTest() { Task t1 = mockInnerContext.callActivity("task1"); Task t2 = mockInnerContext.callActivity("task2"); List> taskList = Arrays.asList(t1, t2); context.allOf(taskList); verify(mockInnerContext, times(1)).allOf(taskList); } @Test public void anyOfTest() { Task t1 = mockInnerContext.callActivity("task1"); Task t2 = mockInnerContext.callActivity("task2"); Task t3 = mockInnerContext.callActivity("task3"); List> taskList = Arrays.asList(t1, t2); context.anyOf(taskList); verify(mockInnerContext, times(1)).anyOf(taskList); context.anyOf(t1, t2, t3); verify(mockInnerContext, times(1)).anyOf(Arrays.asList(t1, t2, t3)); } @Test public void createTimerTest() { context.createTimer(Duration.ofSeconds(10)); verify(mockInnerContext, times(1)).createTimer(Duration.ofSeconds(10)); } @Test public void createTimerWithZonedDateTimeTest() { ZonedDateTime now = ZonedDateTime.now(); context.createTimer(now); verify(mockInnerContext, times(1)).createTimer(now); } @Test public void callChildWorkflowWithName() { String expectedName = "TestActivity"; context.callChildWorkflow(expectedName); verify(mockInnerContext, times(1)).callSubOrchestrator(expectedName, null, null, null, Void.class); } @Test public void callChildWorkflowWithRetryPolicy() { String expectedName = "TestActivity"; String expectedInput = "TestInput"; String expectedInstanceId = "TestInstanceId"; WorkflowTaskRetryPolicy retryPolicy = WorkflowTaskRetryPolicy.newBuilder() .setMaxNumberOfAttempts(1) .setFirstRetryInterval(Duration.ofSeconds(10)) .build(); WorkflowTaskOptions executionOptions = new WorkflowTaskOptions(retryPolicy); ArgumentCaptor captor = ArgumentCaptor.forClass(TaskOptions.class); context.callChildWorkflow(expectedName, expectedInput, expectedInstanceId, executionOptions, String.class); verify(mockInnerContext, times(1)) .callSubOrchestrator( eq(expectedName), eq(expectedInput), eq(expectedInstanceId), captor.capture(), eq(String.class) ); TaskOptions taskOptions = captor.getValue(); assertEquals(retryPolicy.getMaxNumberOfAttempts(), taskOptions.getRetryPolicy().getMaxNumberOfAttempts()); assertEquals(retryPolicy.getFirstRetryInterval(), taskOptions.getRetryPolicy().getFirstRetryInterval()); assertEquals(Duration.ZERO, taskOptions.getRetryPolicy().getRetryTimeout()); assertNull(taskOptions.getRetryHandler()); } @Test public void callChildWorkflowWithRetryHandler() { String expectedName = "TestActivity"; String expectedInput = "TestInput"; String expectedInstanceId = "TestInstanceId"; WorkflowTaskRetryHandler retryHandler = spy(new WorkflowTaskRetryHandler() { @Override public boolean handle(WorkflowTaskRetryContext retryContext) { return true; } }); WorkflowTaskOptions executionOptions = new WorkflowTaskOptions(retryHandler); ArgumentCaptor captor = ArgumentCaptor.forClass(TaskOptions.class); context.callChildWorkflow(expectedName, expectedInput, expectedInstanceId, executionOptions, String.class); verify(mockInnerContext, times(1)) .callSubOrchestrator( eq(expectedName), eq(expectedInput), eq(expectedInstanceId), captor.capture(), eq(String.class) ); TaskOptions taskOptions = captor.getValue(); RetryHandler durableRetryHandler = taskOptions.getRetryHandler(); RetryContext retryContext = mock(RetryContext.class, invocationOnMock -> null); durableRetryHandler.handle(retryContext); verify(retryHandler, times(1)).handle(any()); assertNull(taskOptions.getRetryPolicy()); } @Test public void callChildWorkflowWithRetryPolicyAndHandler() { String expectedName = "TestActivity"; String expectedInput = "TestInput"; String expectedInstanceId = "TestInstanceId"; WorkflowTaskRetryPolicy retryPolicy = WorkflowTaskRetryPolicy.newBuilder() .setMaxNumberOfAttempts(1) .setFirstRetryInterval(Duration.ofSeconds(10)) .build(); WorkflowTaskRetryHandler retryHandler = spy(new WorkflowTaskRetryHandler() { @Override public boolean handle(WorkflowTaskRetryContext retryContext) { return true; } }); WorkflowTaskOptions executionOptions = new WorkflowTaskOptions(retryPolicy, retryHandler); ArgumentCaptor captor = ArgumentCaptor.forClass(TaskOptions.class); context.callChildWorkflow(expectedName, expectedInput, expectedInstanceId, executionOptions, String.class); verify(mockInnerContext, times(1)) .callSubOrchestrator( eq(expectedName), eq(expectedInput), eq(expectedInstanceId), captor.capture(), eq(String.class) ); TaskOptions taskOptions = captor.getValue(); RetryHandler durableRetryHandler = taskOptions.getRetryHandler(); RetryContext retryContext = mock(RetryContext.class, invocationOnMock -> null); durableRetryHandler.handle(retryContext); verify(retryHandler, times(1)).handle(any()); assertEquals(retryPolicy.getMaxNumberOfAttempts(), taskOptions.getRetryPolicy().getMaxNumberOfAttempts()); assertEquals(retryPolicy.getFirstRetryInterval(), taskOptions.getRetryPolicy().getFirstRetryInterval()); assertEquals(Duration.ZERO, taskOptions.getRetryPolicy().getRetryTimeout()); } @Test public void callChildWorkflow() { String expectedName = "TestActivity"; String expectedInput = "TestInput"; context.callChildWorkflow(expectedName, expectedInput, String.class); verify(mockInnerContext, times(1)).callSubOrchestrator(expectedName, expectedInput, null, null, String.class); } @Test public void callChildWorkflowWithAppId() { String expectedName = "TestActivity"; String expectedInput = "TestInput"; String expectedInstanceId = "TestInstanceId"; String expectedAppId = "remote-app"; WorkflowTaskOptions executionOptions = new WorkflowTaskOptions(expectedAppId); ArgumentCaptor captor = ArgumentCaptor.forClass(TaskOptions.class); context.callChildWorkflow(expectedName, expectedInput, expectedInstanceId, executionOptions, String.class); verify(mockInnerContext, times(1)) .callSubOrchestrator( eq(expectedName), eq(expectedInput), eq(expectedInstanceId), captor.capture(), eq(String.class) ); TaskOptions taskOptions = captor.getValue(); assertEquals(expectedAppId, taskOptions.getAppID()); assertNull(taskOptions.getRetryPolicy()); assertNull(taskOptions.getRetryHandler()); } @Test public void setCustomStatusWorkflow() { String customStatus = "CustomStatus"; context.setCustomStatus(customStatus); verify(mockInnerContext, times(1)).setCustomStatus(customStatus); } @Test public void testIsPatched() { context.isPatched("patch"); verify(mockInnerContext, times(1)).isPatched("patch"); } @Test public void newUuidTest() { context.newUuid(); verify(mockInnerContext, times(1)).newUuid(); } @Test public void newUuidTestNoImplementationExceptionTest() { RuntimeException runtimeException = assertThrows(RuntimeException.class, testWorkflowContext::newUuid); String expectedMessage = "No implementation found."; assertEquals(expectedMessage, runtimeException.getMessage()); } @Test public void workflowRetryPolicyRetryTimeoutValueShouldHaveRightValueWhenBeingSet() { String expectedName = "TestActivity"; String expectedInput = "TestInput"; String expectedInstanceId = "TestInstanceId"; WorkflowTaskRetryPolicy retryPolicy = WorkflowTaskRetryPolicy.newBuilder() .setMaxNumberOfAttempts(1) .setFirstRetryInterval(Duration.ofSeconds(10)) .setRetryTimeout(Duration.ofSeconds(10)) .build(); WorkflowTaskOptions executionOptions = new WorkflowTaskOptions(retryPolicy); ArgumentCaptor captor = ArgumentCaptor.forClass(TaskOptions.class); context.callChildWorkflow(expectedName, expectedInput, expectedInstanceId, executionOptions, String.class); verify(mockInnerContext, times(1)) .callSubOrchestrator( eq(expectedName), eq(expectedInput), eq(expectedInstanceId), captor.capture(), eq(String.class) ); TaskOptions taskOptions = captor.getValue(); assertEquals(Duration.ofSeconds(10), taskOptions.getRetryPolicy().getRetryTimeout()); } @Test public void workflowRetryPolicyRetryThrowIllegalArgumentWhenNullRetryTimeoutIsSet() { assertThrows(IllegalArgumentException.class, () -> WorkflowTaskRetryPolicy.newBuilder() .setMaxNumberOfAttempts(1) .setFirstRetryInterval(Duration.ofSeconds(10)) .setRetryTimeout(null) .build()); } @Test public void workflowRetryPolicyRetryThrowIllegalArgumentWhenRetryTimeoutIsLessThanMaxRetryInterval() { assertThrows(IllegalArgumentException.class, () -> WorkflowTaskRetryPolicy.newBuilder() .setMaxNumberOfAttempts(1) .setFirstRetryInterval(Duration.ofSeconds(10)) .setRetryTimeout(Duration.ofSeconds(9)) .build()); } @Test public void callActivityRetryPolicyMaxRetryIntervalShouldBePropagated() { String expectedName = "TestActivity"; String expectedInput = "TestInput"; Duration expectedMaxRetryInterval = Duration.ofSeconds(60); WorkflowTaskRetryPolicy retryPolicy = WorkflowTaskRetryPolicy.newBuilder() .setMaxNumberOfAttempts(5) .setFirstRetryInterval(Duration.ofSeconds(1)) .setMaxRetryInterval(expectedMaxRetryInterval) .build(); WorkflowTaskOptions options = new WorkflowTaskOptions(retryPolicy); ArgumentCaptor captor = ArgumentCaptor.forClass(TaskOptions.class); context.callActivity(expectedName, expectedInput, options, String.class); verify(mockInnerContext, times(1)) .callActivity(eq(expectedName), eq(expectedInput), captor.capture(), eq(String.class)); assertEquals(expectedMaxRetryInterval, captor.getValue().getRetryPolicy().getMaxRetryInterval()); } @Test public void callActivityRetryPolicyDefaultMaxRetryIntervalShouldBeZeroWhenNotSet() { String expectedName = "TestActivity"; String expectedInput = "TestInput"; WorkflowTaskRetryPolicy retryPolicy = WorkflowTaskRetryPolicy.newBuilder() .setMaxNumberOfAttempts(5) .setFirstRetryInterval(Duration.ofSeconds(1)) .build(); WorkflowTaskOptions options = new WorkflowTaskOptions(retryPolicy); ArgumentCaptor captor = ArgumentCaptor.forClass(TaskOptions.class); context.callActivity(expectedName, expectedInput, options, String.class); verify(mockInnerContext, times(1)) .callActivity(eq(expectedName), eq(expectedInput), captor.capture(), eq(String.class)); assertEquals(Duration.ZERO, captor.getValue().getRetryPolicy().getMaxRetryInterval()); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/WorkflowTaskOptionsTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.workflows; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class WorkflowTaskOptionsTest { @Test void testConstructorWithRetryPolicyAndHandler() { WorkflowTaskRetryPolicy retryPolicy = WorkflowTaskRetryPolicy.newBuilder().build(); WorkflowTaskRetryHandler retryHandler = (context) -> true; WorkflowTaskOptions options = new WorkflowTaskOptions(retryPolicy, retryHandler); assertEquals(retryPolicy, options.getRetryPolicy()); assertEquals(retryHandler, options.getRetryHandler()); assertNull(options.getAppId()); } @Test void testConstructorWithRetryPolicyOnly() { WorkflowTaskRetryPolicy retryPolicy = WorkflowTaskRetryPolicy.newBuilder().build(); WorkflowTaskOptions options = new WorkflowTaskOptions(retryPolicy); assertEquals(retryPolicy, options.getRetryPolicy()); assertNull(options.getRetryHandler()); assertNull(options.getAppId()); } @Test void testConstructorWithRetryHandlerOnly() { WorkflowTaskRetryHandler retryHandler = (context) -> true; WorkflowTaskOptions options = new WorkflowTaskOptions(retryHandler); assertNull(options.getRetryPolicy()); assertEquals(retryHandler, options.getRetryHandler()); assertNull(options.getAppId()); } @Test void testConstructorWithAppIdOnly() { String appId = "test-app"; WorkflowTaskOptions options = new WorkflowTaskOptions(appId); assertNull(options.getRetryPolicy()); assertNull(options.getRetryHandler()); assertEquals(appId, options.getAppId()); } @Test void testConstructorWithAllParameters() { WorkflowTaskRetryPolicy retryPolicy = WorkflowTaskRetryPolicy.newBuilder().build(); WorkflowTaskRetryHandler retryHandler = (context) -> true; String appId = "test-app"; WorkflowTaskOptions options = new WorkflowTaskOptions(retryPolicy, retryHandler, appId); assertEquals(retryPolicy, options.getRetryPolicy()); assertEquals(retryHandler, options.getRetryHandler()); assertEquals(appId, options.getAppId()); } @Test void testConstructorWithRetryPolicyAndAppId() { WorkflowTaskRetryPolicy retryPolicy = WorkflowTaskRetryPolicy.newBuilder().build(); String appId = "test-app"; WorkflowTaskOptions options = new WorkflowTaskOptions(retryPolicy, appId); assertEquals(retryPolicy, options.getRetryPolicy()); assertNull(options.getRetryHandler()); assertEquals(appId, options.getAppId()); } @Test void testConstructorWithRetryHandlerAndAppId() { WorkflowTaskRetryHandler retryHandler = (context) -> true; String appId = "test-app"; WorkflowTaskOptions options = new WorkflowTaskOptions(retryHandler, appId); assertNull(options.getRetryPolicy()); assertEquals(retryHandler, options.getRetryHandler()); assertEquals(appId, options.getAppId()); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/WorkflowTest.java ================================================ package io.dapr.workflows; import static org.junit.Assert.assertThrows; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import org.junit.Test; public class WorkflowTest { @Test public void testWorkflow() { WorkflowStub stub = mock(WorkflowStub.class); Workflow workflow = new TestWorkflow(stub); WorkflowContext ctx = mock(WorkflowContext.class); doNothing().when(stub).run(ctx); workflow.run(ctx); verify(stub, times(1)).run(eq(ctx)); } @Test public void testWorkflow_throwException() { WorkflowStub stub = mock(WorkflowStub.class); Workflow workflow = new TestWorkflow(stub); WorkflowContext ctx = mock(WorkflowContext.class); Exception e = new RuntimeException(); doThrow(e).when(stub).run(ctx); // should throw the exception, not catch assertThrows(RuntimeException.class, () -> { workflow.run(ctx); }); verify(stub, times(1)).run(eq(ctx)); } public static class TestWorkflow implements Workflow { private final WorkflowStub stub; public TestWorkflow(WorkflowStub stub) { this.stub = stub; } @Override public WorkflowStub create() { return stub; } } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/client/DaprWorkflowClientTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.client; import io.dapr.durabletask.DurableTaskClient; import io.dapr.durabletask.NewOrchestrationInstanceOptions; import io.dapr.durabletask.OrchestrationMetadata; import io.dapr.durabletask.OrchestrationRuntimeStatus; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowContext; import io.dapr.workflows.WorkflowStub; import io.grpc.ManagedChannel; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import java.lang.reflect.Constructor; import java.time.Duration; import java.time.Instant; import java.util.Arrays; import java.util.concurrent.TimeoutException; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class DaprWorkflowClientTest { private static Constructor constructor; private DaprWorkflowClient client; private DurableTaskClient mockInnerClient; private ManagedChannel mockGrpcChannel; public static class TestWorkflow implements Workflow { @Override public WorkflowStub create() { return WorkflowContext::getInstanceId; } } @BeforeAll public static void beforeAll() { constructor = Constructor.class.cast(Arrays.stream(DaprWorkflowClient.class.getDeclaredConstructors()) .filter(c -> c.getParameters().length == 2 && c.getParameterTypes()[0] == DurableTaskClient.class) .map(c -> { c.setAccessible(true); return c; }).findFirst().get()); } @BeforeEach public void setUp() throws Exception { mockInnerClient = mock(DurableTaskClient.class); mockGrpcChannel = mock(ManagedChannel.class); when(mockGrpcChannel.shutdown()).thenReturn(mockGrpcChannel); client = constructor.newInstance(mockInnerClient, mockGrpcChannel); } @Test public void EmptyConstructor() { assertDoesNotThrow(() -> new DaprWorkflowClient()); } @Test public void scheduleNewWorkflowWithArgName() { String expectedName = TestWorkflow.class.getCanonicalName(); client.scheduleNewWorkflow(TestWorkflow.class); verify(mockInnerClient, times(1)).scheduleNewOrchestrationInstance(expectedName); } @Test public void scheduleNewWorkflowWithArgsNameInput() { String expectedName = TestWorkflow.class.getCanonicalName(); Object expectedInput = new Object(); client.scheduleNewWorkflow(TestWorkflow.class, expectedInput); verify(mockInnerClient, times(1)) .scheduleNewOrchestrationInstance(expectedName, expectedInput); } @Test public void scheduleNewWorkflowWithArgsNameInputInstance() { String expectedName = TestWorkflow.class.getCanonicalName(); Object expectedInput = new Object(); String expectedInstanceId = "myTestInstance123"; client.scheduleNewWorkflow(TestWorkflow.class, expectedInput, expectedInstanceId); verify(mockInnerClient, times(1)) .scheduleNewOrchestrationInstance(expectedName, expectedInput, expectedInstanceId); } @Test public void scheduleNewWorkflowWithNewWorkflowOption() { String expectedName = TestWorkflow.class.getCanonicalName(); Instant expectedStartTime = Instant.now(); Object expectedInput = new Object(); NewWorkflowOptions newWorkflowOptions = new NewWorkflowOptions(); newWorkflowOptions.setInput(expectedInput).setStartTime(expectedStartTime); mockInnerClient.scheduleNewOrchestrationInstance(any(String.class), any(NewOrchestrationInstanceOptions.class)); client.scheduleNewWorkflow(TestWorkflow.class, newWorkflowOptions); ArgumentCaptor captor = ArgumentCaptor.forClass( NewOrchestrationInstanceOptions.class ); verify(mockInnerClient, times(1)) .scheduleNewOrchestrationInstance(eq(expectedName), captor.capture()); assertEquals(expectedStartTime, captor.getValue().getStartTime()); assertEquals(expectedInput, captor.getValue().getInput()); } @Test public void terminateWorkflow() { String expectedArgument = "TestWorkflowInstanceId"; client.terminateWorkflow(expectedArgument, null); verify(mockInnerClient, times(1)).terminate(expectedArgument, null); } @Test public void getInstanceMetadata() { // Arrange String instanceId = "TestWorkflowInstanceId"; OrchestrationMetadata expectedMetadata = mock(OrchestrationMetadata.class); when(expectedMetadata.getInstanceId()).thenReturn(instanceId); when(expectedMetadata.getName()).thenReturn("WorkflowName"); when(expectedMetadata.getRuntimeStatus()).thenReturn(OrchestrationRuntimeStatus.RUNNING); when(mockInnerClient.getInstanceMetadata(instanceId, true)).thenReturn(expectedMetadata); // Act WorkflowState metadata = client.getWorkflowState(instanceId, true); // Assert verify(mockInnerClient, times(1)).getInstanceMetadata(instanceId, true); assertNotEquals(metadata, null); assertEquals(metadata.getWorkflowId(), expectedMetadata.getInstanceId()); assertEquals(metadata.getName(), expectedMetadata.getName()); assertEquals(metadata.isRunning(), expectedMetadata.isRunning()); assertEquals(metadata.isCompleted(), expectedMetadata.isCompleted()); } @Test public void waitForInstanceStart() throws TimeoutException { // Arrange String instanceId = "TestWorkflowInstanceId"; Duration timeout = Duration.ofSeconds(10); OrchestrationMetadata expectedMetadata = mock(OrchestrationMetadata.class); when(expectedMetadata.getInstanceId()).thenReturn(instanceId); when(mockInnerClient.waitForInstanceStart(instanceId, timeout, true)).thenReturn(expectedMetadata); // Act WorkflowState result = client.waitForWorkflowStart(instanceId, timeout, true); // Assert verify(mockInnerClient, times(1)).waitForInstanceStart(instanceId, timeout, true); assertNotEquals(result, null); assertEquals(result.getWorkflowId(), expectedMetadata.getInstanceId()); } @Test public void waitForInstanceCompletion() throws TimeoutException { // Arrange String instanceId = "TestWorkflowInstanceId"; Duration timeout = Duration.ofSeconds(10); OrchestrationMetadata expectedMetadata = mock(OrchestrationMetadata.class); when(expectedMetadata.getInstanceId()).thenReturn(instanceId); when(mockInnerClient.waitForInstanceCompletion(instanceId, timeout, true)).thenReturn(expectedMetadata); // Act WorkflowState result = client.waitForWorkflowCompletion(instanceId, timeout, true); // Assert verify(mockInnerClient, times(1)).waitForInstanceCompletion(instanceId, timeout, true); assertNotEquals(result, null); assertEquals(result.getWorkflowId(), expectedMetadata.getInstanceId()); } @Test public void raiseEvent() { String expectedInstanceId = "TestWorkflowInstanceId"; String expectedEventName = "TestEventName"; Object expectedEventPayload = new Object(); client.raiseEvent(expectedInstanceId, expectedEventName, expectedEventPayload); verify(mockInnerClient, times(1)).raiseEvent(expectedInstanceId, expectedEventName, expectedEventPayload); } @Test public void suspendResumeInstance() { String expectedArgument = "TestWorkflowInstanceId"; client.suspendWorkflow(expectedArgument, "suspending workflow instance"); client.resumeWorkflow(expectedArgument, "resuming workflow instance"); verify(mockInnerClient, times(1)).suspendInstance(expectedArgument, "suspending workflow instance"); verify(mockInnerClient, times(1)).resumeInstance(expectedArgument, "resuming workflow instance"); } @Test public void purgeInstance() { String expectedArgument = "TestWorkflowInstanceId"; client.purgeWorkflow(expectedArgument); verify(mockInnerClient, times(1)).purgeInstance(expectedArgument); } @Test public void close() throws InterruptedException { client.close(); verify(mockInnerClient, times(1)).close(); verify(mockGrpcChannel, times(1)).shutdown(); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/client/NewWorkflowOptionsTest.java ================================================ package io.dapr.workflows.client; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.time.Instant; public class NewWorkflowOptionsTest { @Test void testNewWorkflowOption() { NewWorkflowOptions workflowOption = new NewWorkflowOptions(); String version = "v1"; String instanceId = "123"; Object input = new Object(); Instant startTime = Instant.now(); workflowOption.setVersion(version) .setInstanceId(instanceId) .setInput(input) .setStartTime(startTime); Assertions.assertEquals(version, workflowOption.getVersion()); Assertions.assertEquals(instanceId, workflowOption.getInstanceId()); Assertions.assertEquals(input, workflowOption.getInput()); Assertions.assertEquals(startTime, workflowOption.getStartTime()); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/client/WorkflowInstanceStatusTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.client; import io.dapr.durabletask.FailureDetails; import io.dapr.durabletask.OrchestrationMetadata; import io.dapr.durabletask.OrchestrationRuntimeStatus; import io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.time.Instant; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class WorkflowInstanceStatusTest { private OrchestrationMetadata mockOrchestrationMetadata; private WorkflowInstanceStatus workflowMetadata; @BeforeEach public void setUp() { mockOrchestrationMetadata = mock(OrchestrationMetadata.class); workflowMetadata = new DefaultWorkflowInstanceStatus(mockOrchestrationMetadata); } @Test public void getInstanceId() { String expected = "instanceId"; when(mockOrchestrationMetadata.getInstanceId()).thenReturn(expected); String result = workflowMetadata.getInstanceId(); verify(mockOrchestrationMetadata, times(1)).getInstanceId(); assertEquals(expected, result); } @Test public void getName() { String expected = "WorkflowName"; when(mockOrchestrationMetadata.getName()).thenReturn(expected); String result = workflowMetadata.getName(); verify(mockOrchestrationMetadata, times(1)).getName(); assertEquals(expected, result); } @Test public void getCreatedAt() { Instant expected = Instant.now(); when(mockOrchestrationMetadata.getCreatedAt()).thenReturn(expected); Instant result = workflowMetadata.getCreatedAt(); verify(mockOrchestrationMetadata, times(1)).getCreatedAt(); assertEquals(expected, result); } @Test public void getLastUpdatedAt() { Instant expected = Instant.now(); when(mockOrchestrationMetadata.getLastUpdatedAt()).thenReturn(expected); Instant result = workflowMetadata.getLastUpdatedAt(); verify(mockOrchestrationMetadata, times(1)).getLastUpdatedAt(); assertEquals(expected, result); } @Test public void getFailureDetails() { FailureDetails mockFailureDetails = mock(FailureDetails.class); when(mockFailureDetails.getErrorType()).thenReturn("errorType"); when(mockFailureDetails.getErrorMessage()).thenReturn("errorMessage"); when(mockFailureDetails.getStackTrace()).thenReturn("stackTrace"); OrchestrationMetadata orchestrationMetadata = mock(OrchestrationMetadata.class); when(orchestrationMetadata.getFailureDetails()).thenReturn(mockFailureDetails); WorkflowInstanceStatus metadata = new DefaultWorkflowInstanceStatus(orchestrationMetadata); WorkflowFailureDetails result = metadata.getFailureDetails(); verify(orchestrationMetadata, times(1)).getFailureDetails(); assertEquals(mockFailureDetails.getErrorType(), result.getErrorType()); assertEquals(mockFailureDetails.getErrorMessage(), result.getErrorMessage()); assertEquals(mockFailureDetails.getStackTrace(), result.getStackTrace()); } @Test public void getRuntimeStatus() { WorkflowRuntimeStatus expected = WorkflowRuntimeStatus.RUNNING; when(mockOrchestrationMetadata.getRuntimeStatus()).thenReturn(OrchestrationRuntimeStatus.RUNNING); WorkflowRuntimeStatus result = workflowMetadata.getRuntimeStatus(); verify(mockOrchestrationMetadata, times(1)).getRuntimeStatus(); assertEquals(expected, result); } @Test public void isRunning() { boolean expected = true; when(mockOrchestrationMetadata.isRunning()).thenReturn(expected); boolean result = workflowMetadata.isRunning(); verify(mockOrchestrationMetadata, times(1)).isRunning(); assertEquals(expected, result); } @Test public void isCompleted() { boolean expected = true; when(mockOrchestrationMetadata.isCompleted()).thenReturn(expected); boolean result = workflowMetadata.isCompleted(); verify(mockOrchestrationMetadata, times(1)).isCompleted(); assertEquals(expected, result); } @Test public void getSerializedInput() { String expected = "{input: \"test\"}"; when(mockOrchestrationMetadata.getSerializedInput()).thenReturn(expected); String result = workflowMetadata.getSerializedInput(); verify(mockOrchestrationMetadata, times(1)).getSerializedInput(); assertEquals(expected, result); } @Test public void getSerializedOutput() { String expected = "{output: \"test\"}"; when(mockOrchestrationMetadata.getSerializedOutput()).thenReturn(expected); String result = workflowMetadata.getSerializedOutput(); verify(mockOrchestrationMetadata, times(1)).getSerializedOutput(); assertEquals(expected, result); } @Test public void readInputAs() { String expected = "[{property: \"test input\"}}]"; when(mockOrchestrationMetadata.readInputAs(String.class)).thenReturn(expected); String result = workflowMetadata.readInputAs(String.class); verify(mockOrchestrationMetadata, times(1)).readInputAs(String.class); assertEquals(expected, result); } @Test public void readOutputAs() { String expected = "[{property: \"test output\"}}]"; when(mockOrchestrationMetadata.readOutputAs(String.class)).thenReturn(expected); String result = workflowMetadata.readOutputAs(String.class); verify(mockOrchestrationMetadata, times(1)).readOutputAs(String.class); assertEquals(expected, result); } @Test public void testToString() { String expected = "string value"; when(mockOrchestrationMetadata.toString()).thenReturn(expected); String result = workflowMetadata.toString(); assertEquals(expected, result); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/client/WorkflowStateTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.client; import io.dapr.durabletask.FailureDetails; import io.dapr.durabletask.OrchestrationMetadata; import io.dapr.durabletask.OrchestrationRuntimeStatus; import io.dapr.workflows.runtime.DefaultWorkflowState; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.time.Instant; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class WorkflowStateTest { private OrchestrationMetadata mockOrchestrationMetadata; private WorkflowState workflowMetadata; @BeforeEach public void setUp() { mockOrchestrationMetadata = mock(OrchestrationMetadata.class); workflowMetadata = new DefaultWorkflowState(mockOrchestrationMetadata); } @Test public void getInstanceId() { String expected = "instanceId"; when(mockOrchestrationMetadata.getInstanceId()).thenReturn(expected); String result = workflowMetadata.getWorkflowId(); verify(mockOrchestrationMetadata, times(1)).getInstanceId(); assertEquals(expected, result); } @Test public void getName() { String expected = "WorkflowName"; when(mockOrchestrationMetadata.getName()).thenReturn(expected); String result = workflowMetadata.getName(); verify(mockOrchestrationMetadata, times(1)).getName(); assertEquals(expected, result); } @Test public void getCreatedAt() { Instant expected = Instant.now(); when(mockOrchestrationMetadata.getCreatedAt()).thenReturn(expected); Instant result = workflowMetadata.getCreatedAt(); verify(mockOrchestrationMetadata, times(1)).getCreatedAt(); assertEquals(expected, result); } @Test public void getLastUpdatedAt() { Instant expected = Instant.now(); when(mockOrchestrationMetadata.getLastUpdatedAt()).thenReturn(expected); Instant result = workflowMetadata.getLastUpdatedAt(); verify(mockOrchestrationMetadata, times(1)).getLastUpdatedAt(); assertEquals(expected, result); } @Test public void getFailureDetails() { FailureDetails mockFailureDetails = mock(FailureDetails.class); when(mockFailureDetails.getErrorType()).thenReturn("errorType"); when(mockFailureDetails.getErrorMessage()).thenReturn("errorMessage"); when(mockFailureDetails.getStackTrace()).thenReturn("stackTrace"); OrchestrationMetadata orchestrationMetadata = mock(OrchestrationMetadata.class); when(orchestrationMetadata.getFailureDetails()).thenReturn(mockFailureDetails); WorkflowState metadata = new DefaultWorkflowState(orchestrationMetadata); WorkflowFailureDetails result = metadata.getFailureDetails(); verify(orchestrationMetadata, times(1)).getFailureDetails(); assertEquals(mockFailureDetails.getErrorType(), result.getErrorType()); assertEquals(mockFailureDetails.getErrorMessage(), result.getErrorMessage()); assertEquals(mockFailureDetails.getStackTrace(), result.getStackTrace()); } @Test public void getRuntimeStatus() { WorkflowRuntimeStatus expected = WorkflowRuntimeStatus.RUNNING; when(mockOrchestrationMetadata.getRuntimeStatus()).thenReturn(OrchestrationRuntimeStatus.RUNNING); WorkflowRuntimeStatus result = workflowMetadata.getRuntimeStatus(); verify(mockOrchestrationMetadata, times(1)).getRuntimeStatus(); assertEquals(expected, result); } @Test public void isRunning() { boolean expected = true; when(mockOrchestrationMetadata.isRunning()).thenReturn(expected); boolean result = workflowMetadata.isRunning(); verify(mockOrchestrationMetadata, times(1)).isRunning(); assertEquals(expected, result); } @Test public void isCompleted() { boolean expected = true; when(mockOrchestrationMetadata.isCompleted()).thenReturn(expected); boolean result = workflowMetadata.isCompleted(); verify(mockOrchestrationMetadata, times(1)).isCompleted(); assertEquals(expected, result); } @Test public void getSerializedInput() { String expected = "{input: \"test\"}"; when(mockOrchestrationMetadata.getSerializedInput()).thenReturn(expected); String result = workflowMetadata.getSerializedInput(); verify(mockOrchestrationMetadata, times(1)).getSerializedInput(); assertEquals(expected, result); } @Test public void getSerializedOutput() { String expected = "{output: \"test\"}"; when(mockOrchestrationMetadata.getSerializedOutput()).thenReturn(expected); String result = workflowMetadata.getSerializedOutput(); verify(mockOrchestrationMetadata, times(1)).getSerializedOutput(); assertEquals(expected, result); } @Test public void readInputAs() { String expected = "[{property: \"test input\"}}]"; when(mockOrchestrationMetadata.readInputAs(String.class)).thenReturn(expected); String result = workflowMetadata.readInputAs(String.class); verify(mockOrchestrationMetadata, times(1)).readInputAs(String.class); assertEquals(expected, result); } @Test public void readOutputAs() { String expected = "[{property: \"test output\"}}]"; when(mockOrchestrationMetadata.readOutputAs(String.class)).thenReturn(expected); String result = workflowMetadata.readOutputAs(String.class); verify(mockOrchestrationMetadata, times(1)).readOutputAs(String.class); assertEquals(expected, result); } @Test public void testToString() { String expected = "string value"; when(mockOrchestrationMetadata.toString()).thenReturn(expected); String result = workflowMetadata.toString(); assertEquals(expected, result); } @Test public void testWithNoMetadata() { String message = Assertions.assertThrows(IllegalArgumentException.class, () -> { DefaultWorkflowState workflowState = new DefaultWorkflowState(null); }).getMessage(); Assertions.assertTrue(message.contains("OrchestrationMetadata cannot be null")); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/runtime/DefaultWorkflowActivityContextTest.java ================================================ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskActivityContext; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; class DefaultWorkflowActivityContextTest { @Test @DisplayName("Should successfully create context and return correct values for all methods") void shouldSuccessfullyCreateContextAndReturnCorrectValuesForAllMethods() { TaskActivityContext mockInnerContext = mock(TaskActivityContext.class); DefaultWorkflowActivityContext context = new DefaultWorkflowActivityContext(mockInnerContext); when(mockInnerContext.getName()).thenReturn("TestActivity"); when(mockInnerContext.getInput(any())).thenReturn("TestInput"); when(mockInnerContext.getTaskExecutionId()).thenReturn("TestExecutionId"); when(mockInnerContext.getTraceParent()).thenReturn("00244654132154564654"); assertNotNull(context.getLogger()); assertEquals("TestActivity", context.getName()); String input = context.getInput(String.class); assertEquals("TestInput", input); assertEquals("TestExecutionId", context.getTaskExecutionId()); assertEquals("00244654132154564654", context.getTraceParent()); } @Test @DisplayName("Should throw IllegalArgumentException when context parameter is null") void shouldThrowIllegalArgumentExceptionWhenContextParameterIsNull() { IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { new DefaultWorkflowActivityContext(null, TaskActivityContext.class); }); assertEquals("Context cannot be null", exception.getMessage()); } @Test @DisplayName("Should throw IllegalArgumentException when logger parameter is null") void shouldThrowIllegalArgumentExceptionWhenLoggerParameterIsNull() { TaskActivityContext mockInnerContext = mock(TaskActivityContext.class); IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> { new DefaultWorkflowActivityContext(mockInnerContext, (Logger) null); }); assertEquals("Logger cannot be null", exception.getMessage()); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/runtime/WorkflowActivityClassWrapperTest.java ================================================ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskActivityContext; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.junit.Test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.*; public class WorkflowActivityClassWrapperTest { public static class TestActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { String activityContextName = ctx.getName(); return ctx.getInput(String.class) + " world! from " + activityContextName + " with task execution key " + ctx.getTaskExecutionId(); } } @Test public void getName() { WorkflowActivityClassWrapper wrapper = new WorkflowActivityClassWrapper<>(TestActivity.class); assertEquals( "io.dapr.workflows.runtime.WorkflowActivityClassWrapperTest.TestActivity", wrapper.getName() ); } @Test public void createWithClass() { TaskActivityContext mockContext = mock(TaskActivityContext.class); WorkflowActivityClassWrapper wrapper = new WorkflowActivityClassWrapper<>(TestActivity.class); when(mockContext.getInput(String.class)).thenReturn("Hello"); when(mockContext.getName()).thenReturn("TestActivityContext"); when(mockContext.getTaskExecutionId()).thenReturn("123"); Object result = wrapper.create().run(mockContext); verify(mockContext, times(1)).getInput(String.class); assertEquals("Hello world! from TestActivityContext with task execution key 123", result); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/runtime/WorkflowActivityInstanceWrapperTest.java ================================================ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskActivityContext; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.junit.Test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class WorkflowActivityInstanceWrapperTest { public static class TestActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { String activityContextName = ctx.getName(); return ctx.getInput(String.class) + " world! from " + activityContextName; } } @Test public void getName() { WorkflowActivityInstanceWrapper wrapper = new WorkflowActivityInstanceWrapper<>(new TestActivity()); assertEquals( "io.dapr.workflows.runtime.WorkflowActivityInstanceWrapperTest.TestActivity", wrapper.getName() ); } @Test public void createWithInstance() { TaskActivityContext mockContext = mock(TaskActivityContext.class); WorkflowActivityInstanceWrapper wrapper = new WorkflowActivityInstanceWrapper<>(new TestActivity()); when(mockContext.getInput(String.class)).thenReturn("Hello"); when(mockContext.getName()).thenReturn("TestActivityContext"); Object result = wrapper.create().run(mockContext); verify(mockContext, times(1)).getInput(String.class); assertEquals("Hello world! from TestActivityContext", result); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/runtime/WorkflowClassWrapperTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskOrchestrationContext; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowContext; import io.dapr.workflows.WorkflowStub; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.function.Executable; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrowsExactly; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class WorkflowClassWrapperTest { public static class TestWorkflow implements Workflow { @Override public WorkflowStub create() { return WorkflowContext::getInstanceId; } } public static abstract class TestErrorWorkflow implements Workflow { public TestErrorWorkflow(String s){} @Override public WorkflowStub create() { return WorkflowContext::getInstanceId; } } public static abstract class TestPrivateWorkflow implements Workflow { private TestPrivateWorkflow(){} @Override public WorkflowStub create() { return WorkflowContext::getInstanceId; } } @Test public void getName() { WorkflowClassWrapper wrapper = new WorkflowClassWrapper<>(TestWorkflow.class); assertEquals( "io.dapr.workflows.runtime.WorkflowClassWrapperTest.TestWorkflow", wrapper.getName() ); } @Test public void createWithClass() { TaskOrchestrationContext mockContext = mock(TaskOrchestrationContext.class); WorkflowClassWrapper wrapper = new WorkflowClassWrapper<>(TestWorkflow.class); when(mockContext.getInstanceId()).thenReturn("uuid"); wrapper.create().run(mockContext); verify(mockContext, times(1)).getInstanceId(); } @Test public void createWithClassAndVersion() { TaskOrchestrationContext mockContext = mock(TaskOrchestrationContext.class); WorkflowClassWrapper wrapper = new WorkflowClassWrapper<>("TestWorkflow", TestWorkflow.class, "v1",false); when(mockContext.getInstanceId()).thenReturn("uuid"); wrapper.create().run(mockContext); verify(mockContext, times(1)).getInstanceId(); } @Test public void createErrorClassAndVersion() { assertThrowsExactly(RuntimeException.class, () -> new WorkflowClassWrapper<>(TestErrorWorkflow.class)); assertThrowsExactly(RuntimeException.class, () -> new WorkflowClassWrapper<>("TestErrorWorkflow", TestErrorWorkflow.class, "v1",false)); WorkflowClassWrapper wrapper = new WorkflowClassWrapper<>("TestPrivateWorkflow", TestPrivateWorkflow.class, "v2",false); TaskOrchestrationContext mockContext = mock(TaskOrchestrationContext.class); assertThrowsExactly(RuntimeException.class, () -> wrapper.create().run(mockContext)); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/runtime/WorkflowInstanceWrapperTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskOrchestrationContext; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowContext; import io.dapr.workflows.WorkflowStub; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class WorkflowInstanceWrapperTest { public static class TestWorkflow implements Workflow { @Override public WorkflowStub create() { return WorkflowContext::getInstanceId; } } @Test public void getName() { WorkflowInstanceWrapper wrapper = new WorkflowInstanceWrapper<>(new TestWorkflow()); assertEquals( "io.dapr.workflows.runtime.WorkflowInstanceWrapperTest.TestWorkflow", wrapper.getName() ); } @Test public void createWithInstance() { TaskOrchestrationContext mockContext = mock(TaskOrchestrationContext.class); WorkflowInstanceWrapper wrapper = new WorkflowInstanceWrapper<>(new TestWorkflow()); when(mockContext.getInstanceId()).thenReturn("uuid"); wrapper.create().run(mockContext); verify(mockContext, times(1)).getInstanceId(); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/runtime/WorkflowRuntimeBuilderTest.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskActivity; import io.dapr.durabletask.TaskActivityFactory; import io.dapr.durabletask.TaskOrchestration; import io.dapr.durabletask.orchestration.TaskOrchestrationFactory; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import io.dapr.workflows.WorkflowStub; import org.junit.Assert; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import java.io.ByteArrayOutputStream; import java.io.PrintStream; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; public class WorkflowRuntimeBuilderTest { public static class TestWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { }; } } @Test public void registerValidWorkflowInstances() { var b = new WorkflowRuntimeBuilder(); assertDoesNotThrow(() -> b.registerWorkflow("TestWorkflow", new TestWorkflow(), null, null)); assertDoesNotThrow(() -> b.registerWorkflow("NameWithClass", TestWorkflow.class)); // assertDoesNotThrow(() -> b.registerWorkflow(new TestWorkflowWithNameAndVersionIsLatest())); Assert.assertThrows(IllegalArgumentException.class, () -> b.registerWorkflow("", new TestWorkflow(), null, null)); Assert.assertThrows(IllegalArgumentException.class, () -> b.registerWorkflow("", TestWorkflow.class, null, null)); Assert.assertThrows(IllegalArgumentException.class, () -> b.registerActivity("", new TestActivity())); Assert.assertThrows(IllegalArgumentException.class, () -> b.registerActivity("", TestActivity.class)); } public static class TestActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { return null; } } @Test public void registerValidVersionWorkflowClass() { assertDoesNotThrow(() -> new WorkflowRuntimeBuilder().registerWorkflow("TestWorkflow", TestWorkflow.class, "testWorkflowV1", false)); assertDoesNotThrow(() -> new WorkflowRuntimeBuilder().registerWorkflow("TestWorkflow", TestWorkflow.class, "testWorkflowV2", true)); } @Test public void registerValidVersionWorkflowInstance() { assertDoesNotThrow(() -> new WorkflowRuntimeBuilder().registerWorkflow("testWorkflowV1", new TestWorkflow(), "testWorkflowV1", false)); assertDoesNotThrow(() -> new WorkflowRuntimeBuilder().registerWorkflow("testWorkflowV2", new TestWorkflow(), "testWorkflowV2", true)); } @Test public void registerValidWorkflowClass() { assertDoesNotThrow(() -> new WorkflowRuntimeBuilder().registerWorkflow(TestWorkflow.class)); } @Test public void registerValidTaskActivityFactory() { class A implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { return "a"; } } assertDoesNotThrow(() -> new WorkflowRuntimeBuilder().registerTaskActivityFactory(A.class.getName(), new TaskActivityFactory() { @Override public String getName() { return A.class.getName(); } @Override public TaskActivity create() { A a = new A(); return ctx -> a.run(new DefaultWorkflowActivityContext(ctx, a.getClass())); } })); } @Test public void registerValidWorkflowInstance() { assertDoesNotThrow(() -> new WorkflowRuntimeBuilder().registerWorkflow(new TestWorkflow())); } @Test public void registerValidWorkflowOrchestrator() { class W implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.complete("w"); }; } } assertDoesNotThrow(() -> { new WorkflowRuntimeBuilder().registerTaskOrchestrationFactory(W.class.getName(), new TaskOrchestrationFactory() { @Override public String getName() { return W.class.getName(); } @Override public TaskOrchestration create() { W w = new W(); return ctx -> w.run(new DefaultWorkflowContext(ctx, w.getClass())); } @Override public String getVersionName() { return ""; } @Override public Boolean isLatestVersion() { return null; } }); }); } @Test public void registerValidWorkflowActivityClass() { assertDoesNotThrow(() -> new WorkflowRuntimeBuilder().registerActivity(TestActivity.class)); } @Test public void registerValidWorkflowActivityInstance() { assertDoesNotThrow(() -> new WorkflowRuntimeBuilder().registerActivity(new TestActivity())); } @Test public void loggingOutputTest() { // Set the output stream for log capturing ByteArrayOutputStream outStreamCapture = new ByteArrayOutputStream(); System.setOut(new PrintStream(outStreamCapture)); Logger testLogger = mock(Logger.class); var runtimeBuilder = new WorkflowRuntimeBuilder(testLogger); assertDoesNotThrow(() -> runtimeBuilder.registerWorkflow(TestWorkflow.class)); assertDoesNotThrow(() -> runtimeBuilder.registerActivity(TestActivity.class)); var runtime = runtimeBuilder.build(); verify(testLogger, times(1)) .info(eq("Registered Workflow: {}"), eq("TestWorkflow")); verify(testLogger, times(1)) .info(eq("Registered Activity: {}"), eq("TestActivity")); runtime.close(); } @Test public void buildTest() { assertDoesNotThrow(() -> { try { WorkflowRuntime runtime = new WorkflowRuntimeBuilder().build(); System.out.println("WorkflowRuntime created"); runtime.close(); } catch (Exception e) { throw new RuntimeException(e); } }); } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/runtime/WorkflowRuntimeStatusConverterTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.OrchestrationRuntimeStatus; import io.dapr.workflows.client.WorkflowRuntimeStatus; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.fail; public class WorkflowRuntimeStatusConverterTest { @Test public void fromOrchestrationRuntimeStatus() { assertEquals(WorkflowRuntimeStatus.RUNNING, WorkflowRuntimeStatusConverter.fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus.RUNNING) ); assertEquals(WorkflowRuntimeStatus.COMPLETED, WorkflowRuntimeStatusConverter.fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus.COMPLETED) ); assertEquals(WorkflowRuntimeStatus.CONTINUED_AS_NEW, WorkflowRuntimeStatusConverter.fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus.CONTINUED_AS_NEW) ); assertEquals(WorkflowRuntimeStatus.FAILED, WorkflowRuntimeStatusConverter.fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus.FAILED) ); assertEquals(WorkflowRuntimeStatus.CANCELED, WorkflowRuntimeStatusConverter.fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus.CANCELED) ); assertEquals(WorkflowRuntimeStatus.TERMINATED, WorkflowRuntimeStatusConverter.fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus.TERMINATED) ); assertEquals(WorkflowRuntimeStatus.PENDING, WorkflowRuntimeStatusConverter.fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus.PENDING) ); assertEquals(WorkflowRuntimeStatus.SUSPENDED, WorkflowRuntimeStatusConverter.fromOrchestrationRuntimeStatus(OrchestrationRuntimeStatus.SUSPENDED) ); } @Test public void fromOrchestrationRuntimeStatusThrowsIllegalArgumentException() { try { WorkflowRuntimeStatusConverter.fromOrchestrationRuntimeStatus(null); fail("Expected exception not thrown"); } catch (IllegalArgumentException e) { assertEquals("status cannot be null", e.getMessage()); } } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/runtime/WorkflowRuntimeTest.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.DurableTaskGrpcWorker; import io.dapr.durabletask.DurableTaskGrpcWorkerBuilder; import io.dapr.config.Properties; import io.dapr.utils.NetworkUtils; import org.junit.jupiter.api.Test; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; public class WorkflowRuntimeTest { @Test public void startTest() { DurableTaskGrpcWorker worker = new DurableTaskGrpcWorkerBuilder().build(); WorkflowRuntime runtime = new WorkflowRuntime(worker, NetworkUtils.buildGrpcManagedChannel(new Properties()), Executors.newCachedThreadPool()); assertDoesNotThrow(() -> runtime.start(false)); } @Test public void closeWithoutStarting() { DurableTaskGrpcWorker worker = new DurableTaskGrpcWorkerBuilder().build(); try (WorkflowRuntime runtime = new WorkflowRuntime(worker, NetworkUtils.buildGrpcManagedChannel(new Properties()), Executors.newCachedThreadPool())) { assertDoesNotThrow(runtime::close); } } } ================================================ FILE: sdk-workflows/src/test/java/io/dapr/workflows/runtime/WorkflowVersionWrapperTest.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.workflows.runtime; import io.dapr.durabletask.TaskOrchestration; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class WorkflowVersionWrapperTest { @Test void getVersionProperties() { var versionWrapper = new WorkflowVersionWrapper("A",true) { @Override public String getName() { return "demo"; } @Override public TaskOrchestration create() { return null; } }; assertEquals("A",versionWrapper.getVersionName()); assertEquals(true, versionWrapper.isLatestVersion()); } } ================================================ FILE: settings.xml ================================================ ossrh ${env.OSSRH_USER_TOKEN} ${env.OSSRH_PWD_TOKEN} true ${env.GPG_KEY} ${env.GPG_PWD} ================================================ FILE: spotbugs-exclude.xml ================================================ ================================================ FILE: spring-boot-4-examples/consumer-app/pom.xml ================================================ 4.0.0 io.dapr spring-boot-4-examples 1.18.0-SNAPSHOT ../pom.xml sb4-consumer-app sb4-consumer-app Spring Boot 4, Testcontainers and Dapr Integration Examples :: Consumer App org.springframework.boot spring-boot-starter-webmvc org.springframework.boot spring-boot-starter-actuator io.dapr.spring dapr-spring-boot-4-starter io.dapr.spring dapr-spring-boot-4-starter-test test org.testcontainers junit-jupiter test org.testcontainers postgresql test org.testcontainers rabbitmq test org.testcontainers kafka test org.junit.jupiter junit-jupiter-api test org.springframework.boot spring-boot-starter-webmvc-test test org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-4-examples/consumer-app/src/main/java/io/dapr/springboot4/examples/consumer/ConsumerApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.consumer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); } } ================================================ FILE: spring-boot-4-examples/consumer-app/src/main/java/io/dapr/springboot4/examples/consumer/Order.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.consumer; public class Order { private String id; private String item; private Integer amount; public Order() { } /** * Creates a new Order. * * @param id order id * @param item item reference * @param amount of items in the order */ public Order(String id, String item, Integer amount) { this.id = id; this.item = item; this.amount = amount; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getItem() { return item; } public void setItem(String item) { this.item = item; } public Integer getAmount() { return amount; } public void setAmount(Integer amount) { this.amount = amount; } @Override public String toString() { return "Order{" + "id='" + id + '\'' + ", item='" + item + '\'' + ", amount=" + amount + '}'; } } ================================================ FILE: spring-boot-4-examples/consumer-app/src/main/java/io/dapr/springboot4/examples/consumer/SubscriberRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.consumer; import io.dapr.Topic; import io.dapr.client.domain.CloudEvent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @RestController public class SubscriberRestController { private final Logger logger = LoggerFactory.getLogger(SubscriberRestController.class); private List events = new ArrayList<>(); /** * Subscribe to cloud events. * @param cloudEvent payload */ @PostMapping("subscribe") @Topic(pubsubName = "pubsub", name = "topic") public void subscribe(@RequestBody CloudEvent cloudEvent) { logger.info("Order Event Received: " + cloudEvent.getData()); events.add(cloudEvent); } @GetMapping("events") public List getAllEvents() { return events; } } ================================================ FILE: spring-boot-4-examples/consumer-app/src/main/resources/application.properties ================================================ dapr.pubsub.name=pubsub spring.application.name=consumer-app server.port=8081 ================================================ FILE: spring-boot-4-examples/consumer-app/src/test/java/io/dapr/springboot4/examples/consumer/ConsumerAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.consumer; import io.dapr.client.DaprClient; import io.dapr.spring.messaging.DaprMessagingTemplate; import io.dapr.springboot.DaprAutoConfiguration; import io.dapr.testcontainers.DaprContainer; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.test.web.servlet.client.RestTestClient; import org.testcontainers.containers.wait.strategy.Wait; import java.time.Duration; import static org.awaitility.Awaitility.await; import static org.hamcrest.CoreMatchers.equalTo; @SpringBootTest(classes = {TestConsumerApplication.class, DaprTestContainersConfig.class, ConsumerAppTestConfiguration.class, DaprAutoConfiguration.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) class ConsumerAppIT { private static final String SUBSCRIPTION_MESSAGE_PATTERN = ".*app is subscribed to the following topics.*"; @Autowired private DaprMessagingTemplate messagingTemplate; @Autowired private SubscriberRestController subscriberRestController; @Autowired private DaprClient daprClient; @Autowired private DaprContainer daprContainer; @LocalServerPort private int port; private RestTestClient client; @BeforeAll public static void setup() { org.testcontainers.Testcontainers.exposeHostPorts(8081); } @BeforeEach void setUp() { client = RestTestClient.bindToServer() .baseUrl("http://localhost:" + port) .build(); Wait.forLogMessage(SUBSCRIPTION_MESSAGE_PATTERN, 1).waitUntilReady(daprContainer); } @Test void testMessageConsumer() throws InterruptedException { messagingTemplate.send("topic", new Order("abc-123", "the mars volta LP", 1)); client.get() .uri("/events") .exchange() .expectStatus().isOk(); await().atMost(Duration.ofSeconds(10)) .until(subscriberRestController.getAllEvents()::size, equalTo(1)); } } ================================================ FILE: spring-boot-4-examples/consumer-app/src/test/java/io/dapr/springboot4/examples/consumer/ConsumerAppTestConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.consumer; import io.dapr.client.DaprClient; import io.dapr.spring.boot.properties.pubsub.DaprPubSubProperties; import io.dapr.spring.messaging.DaprMessagingTemplate; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @EnableConfigurationProperties({DaprPubSubProperties.class}) public class ConsumerAppTestConfiguration { @Bean public DaprMessagingTemplate messagingTemplate(DaprClient daprClient, DaprPubSubProperties daprPubSubProperties) { return new DaprMessagingTemplate<>(daprClient, daprPubSubProperties.getName(), false); } } ================================================ FILE: spring-boot-4-examples/consumer-app/src/test/java/io/dapr/springboot4/examples/consumer/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.consumer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import org.testcontainers.containers.RabbitMQContainer; import org.testcontainers.utility.DockerImageName; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public Statement apply(Statement base, Description description) { return null; } @Override public String getId() { return "dapr-network"; } @Override public void close() { } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RabbitMQContainer rabbitMQContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RabbitMQContainer(DockerImageName.parse("rabbitmq:3.7.25-management-alpine")) .withExposedPorts(5672) .withNetworkAliases("rabbitmq") .withReuse(reuse) .withNetwork(daprNetwork); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RabbitMQContainer rabbitMQContainer, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); Map rabbitMqProperties = new HashMap<>(); rabbitMqProperties.put("connectionString", "amqp://guest:guest@rabbitmq:5672"); rabbitMqProperties.put("user", "guest"); rabbitMqProperties.put("password", "guest"); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("consumer-app") .withNetwork(daprNetwork).withComponent(new Component("pubsub", "pubsub.rabbitmq", "v1", rabbitMqProperties)) .withDaprLogLevel(DaprLogLevel.INFO) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .withAppPort(8081).withAppChannelAddress("host.testcontainers.internal") .withReusablePlacement(reuse) .withReusableScheduler(reuse) .withAppHealthCheckPath("/actuator/health") .dependsOn(rabbitMQContainer); } } ================================================ FILE: spring-boot-4-examples/consumer-app/src/test/java/io/dapr/springboot4/examples/consumer/TestConsumerApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.consumer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestConsumerApplication { public static void main(String[] args) { SpringApplication.from(ConsumerApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8081); } } ================================================ FILE: spring-boot-4-examples/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml spring-boot-4-examples pom true 4.0.5 6.0.2 producer-app consumer-app workflows tools.jackson jackson-bom 3.1.1 pom import org.springframework.boot spring-boot-dependencies ${springboot4.version} pom import org.springframework.boot spring-boot-starter-webmvc ${springboot4.version} org.springframework.boot spring-boot-starter-webmvc-test ${springboot4.version} test org.springframework.boot spring-boot-starter-restclient ${springboot4.version} org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true org.apache.maven.plugins maven-failsafe-plugin ${project.build.outputDirectory} org.jacoco jacoco-maven-plugin **/*io/dapr/springboot/examples/** ================================================ FILE: spring-boot-4-examples/producer-app/pom.xml ================================================ 4.0.0 io.dapr spring-boot-4-examples 1.18.0-SNAPSHOT ../pom.xml sb4-producer-app sb4-producer-app Spring Boot 4, Testcontainers and Dapr Integration Examples :: Producer App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-webmvc org.springframework.boot spring-boot-starter-webmvc-test test io.dapr.spring dapr-spring-boot-4-starter io.dapr.spring dapr-spring-boot-4-starter-test test org.testcontainers postgresql test org.testcontainers rabbitmq test org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/Customer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; public class Customer { private String customerName; private String workflowId; private boolean inCustomerDB = false; private boolean followUp = false; public boolean isFollowUp() { return followUp; } public void setFollowUp(boolean followUp) { this.followUp = followUp; } public boolean isInCustomerDB() { return inCustomerDB; } public void setInCustomerDB(boolean inCustomerDB) { this.inCustomerDB = inCustomerDB; } public String getWorkflowId() { return workflowId; } public void setWorkflowId(String workflowId) { this.workflowId = workflowId; } public String getCustomerName() { return customerName; } public void setCustomerName(String customerName) { this.customerName = customerName; } @Override public String toString() { return "Customer [customerName=" + customerName + ", workflowId=" + workflowId + ", inCustomerDB=" + inCustomerDB + ", followUp=" + followUp + "]"; } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/CustomerStore.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import org.springframework.stereotype.Component; import java.util.Collection; import java.util.HashMap; import java.util.Map; @Component public class CustomerStore { private Map customers = new HashMap<>(); public void addCustomer(Customer customer) { customers.put(customer.getCustomerName(), customer); } public Customer getCustomer(String customerName) { return customers.get(customerName); } public Collection getCustomers() { return customers.values(); } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/CustomersRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import io.dapr.springboot4.examples.producer.workflow.CustomerWorkflow; import io.dapr.workflows.client.DaprWorkflowClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.Collection; import java.util.HashMap; import java.util.Map; @RestController @EnableDaprWorkflows public class CustomersRestController { private final Logger logger = LoggerFactory.getLogger(CustomersRestController.class); @Autowired private DaprWorkflowClient daprWorkflowClient; @Autowired private CustomerStore customerStore; @GetMapping("/") public String root() { return "OK"; } private Map customersWorkflows = new HashMap<>(); /** * Track customer endpoint. * * @param customer provided customer to track * @return confirmation that the workflow instance was created for a given customer */ @PostMapping("/customers") public String trackCustomer(@RequestBody Customer customer) { String instanceId = daprWorkflowClient.scheduleNewWorkflow(CustomerWorkflow.class, customer); logger.info("Workflow instance " + instanceId + " started"); customersWorkflows.put(customer.getCustomerName(), instanceId); return "New Workflow Instance created for Customer: " + customer.getCustomerName(); } /** * Request customer follow-up. * @param customer associated with a workflow instance * @return confirmation that the follow-up was requested */ @PostMapping("/customers/followup") public String customerNotification(@RequestBody Customer customer) { logger.info("Customer follow-up requested: " + customer.getCustomerName()); String workflowIdForCustomer = customersWorkflows.get(customer.getCustomerName()); if (workflowIdForCustomer == null || workflowIdForCustomer.isEmpty()) { return "There is no workflow associated with customer: " + customer.getCustomerName(); } else { daprWorkflowClient.raiseEvent(workflowIdForCustomer, "CustomerReachOut", customer); return "Customer Follow-up requested"; } } public Collection getCustomers() { return customerStore.getCustomers(); } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/Jackson3SerializerConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.spring.boot4.autoconfigure.client.Jackson3ObjectSerializer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import tools.jackson.databind.DeserializationFeature; import tools.jackson.databind.SerializationFeature; import tools.jackson.databind.json.JsonMapper; /** * Example configuration showing how to provide a custom {@link DaprObjectSerializer} * backed by a customized Jackson 3 {@link JsonMapper}. * *

    By defining a {@link DaprObjectSerializer} bean here, the default auto-configured * serializer from {@code DaprJackson3SB4AutoConfiguration} is skipped (due to * {@code @ConditionalOnMissingBean}). * *

    To use the default auto-configured serializer instead, simply remove or * comment out this class. */ @Configuration public class Jackson3SerializerConfiguration { @Bean public DaprObjectSerializer daprObjectSerializer() { JsonMapper customMapper = JsonMapper.builder() .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) .disable(SerializationFeature.FAIL_ON_EMPTY_BEANS) .build(); return new Jackson3ObjectSerializer(customMapper); } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/Order.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import org.springframework.data.annotation.Id; public class Order { @Id private String id; private String item; private Integer amount; public Order() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getItem() { return item; } public void setItem(String item) { this.item = item; } public Integer getAmount() { return amount; } public void setAmount(Integer amount) { this.amount = amount; } @Override public String toString() { return "Order{" + "id='" + id + '\'' + ", item='" + item + '\'' + ", amount=" + amount + '}'; } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/OrderDTO.java ================================================ package io.dapr.springboot4.examples.producer; public class OrderDTO { private String id; private String item; private Integer amount; public OrderDTO() { } public OrderDTO(String id, String item, Integer amount) { this.id = id; this.item = item; this.amount = amount; } public String getId() { return id; } public String getItem() { return item; } public Integer getAmount() { return amount; } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/OrderRepository.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import org.springframework.data.repository.CrudRepository; import java.util.List; public interface OrderRepository extends CrudRepository { List findByItem(String item); List findByAmount(Integer amount); } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/OrdersRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import io.dapr.client.DaprClient; import io.dapr.client.domain.ExecuteStateTransactionRequest; import io.dapr.client.domain.State; import io.dapr.client.domain.TransactionalStateOperation; import io.dapr.spring6.data.repository.config.EnableDaprRepositories; import io.dapr.spring.messaging.DaprMessagingTemplate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @EnableDaprRepositories public class OrdersRestController { private static final Logger logger = LoggerFactory.getLogger(OrdersRestController.class); @Autowired private OrderRepository repository; @Autowired private DaprMessagingTemplate messagingTemplate; @Autowired private DaprClient daprClient; /** * Store orders from customers. * @param order from the customer * * @return confirmation that the order was stored and the event published */ @PostMapping("/orders") public String storeOrder(@RequestBody Order order) { logger.info("Storing Order: " + order); repository.save(order); logger.info("Publishing Order Event: " + order); messagingTemplate.send("topic", order); return "Order Stored and Event Published"; } @PostMapping("/orders/outbox") public String storeOrderOutbox(@RequestBody Order order) { logger.info("Storing Order with Outbox: {}", order); ExecuteStateTransactionRequest transactionRequest = new ExecuteStateTransactionRequest("kvstore-outbox"); State state = new State<>( order.getId(), order, null ); TransactionalStateOperation operation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.UPSERT, state ); transactionRequest.setOperations(List.of(operation)); daprClient.executeStateTransaction(transactionRequest).block(); logger.info("Order Stored with Outbox: {}", order); return "Order Stored with Outbox"; } @GetMapping("/orders") public Iterable getAll() { return repository.findAll(); } @GetMapping("/orders/byItem/") public Iterable getAllByItem(@RequestParam("item") String item) { return repository.findByItem(item); } @GetMapping("/orders/byAmount/") public Iterable getAllByItem(@RequestParam("amount") Integer amount) { return repository.findByAmount(amount); } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/ProducerAppConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.spring.boot.properties.pubsub.DaprPubSubProperties; import io.dapr.spring.boot.properties.statestore.DaprStateStoreProperties; import io.dapr.spring6.data.DaprKeyValueAdapterResolver; import io.dapr.spring6.data.DaprKeyValueTemplate; import io.dapr.spring6.data.KeyValueAdapterResolver; import io.dapr.spring.messaging.DaprMessagingTemplate; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @EnableConfigurationProperties({DaprPubSubProperties.class, DaprStateStoreProperties.class}) public class ProducerAppConfiguration { @Bean public ObjectMapper mapper() { return new ObjectMapper(); } /** * Produce a KeyValueAdapterResolver for Dapr. * @param daprClient dapr client * @param mapper object mapper * @param daprStatestoreProperties properties to configure state store * @return KeyValueAdapterResolver */ @Bean public KeyValueAdapterResolver keyValueAdapterResolver(DaprClient daprClient, ObjectMapper mapper, DaprStateStoreProperties daprStatestoreProperties) { String storeName = daprStatestoreProperties.getName(); String bindingName = daprStatestoreProperties.getBinding(); return new DaprKeyValueAdapterResolver(daprClient, mapper, storeName, bindingName); } @Bean public DaprKeyValueTemplate daprKeyValueTemplate(KeyValueAdapterResolver keyValueAdapterResolver) { return new DaprKeyValueTemplate(keyValueAdapterResolver); } @Bean public DaprMessagingTemplate messagingTemplate(DaprClient daprClient, DaprPubSubProperties daprPubSubProperties) { return new DaprMessagingTemplate<>(daprClient, daprPubSubProperties.getName(), false); } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/ProducerApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ProducerApplication { public static void main(String[] args) { SpringApplication.run(ProducerApplication.class, args); } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/workflow/CustomerFollowupActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer.workflow; import io.dapr.springboot4.examples.producer.Customer; import io.dapr.springboot4.examples.producer.CustomerStore; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class CustomerFollowupActivity implements WorkflowActivity { private final Logger logger = LoggerFactory.getLogger(CustomerFollowupActivity.class); private final CustomerStore customerStore; public CustomerFollowupActivity(CustomerStore customerStore) { this.customerStore = customerStore; } @Override public Object run(WorkflowActivityContext ctx) { Customer customer = ctx.getInput(Customer.class); //Let's get the hydrate the real customer from the CustomerStore customer = customerStore.getCustomer(customer.getCustomerName()); customer.setFollowUp(true); customerStore.addCustomer(customer); logger.info("Customer: " + customer.getCustomerName() + " follow-up done."); return customer; } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/workflow/CustomerWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer.workflow; import io.dapr.springboot4.examples.producer.Customer; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; import java.time.Duration; @Component public class CustomerWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { String instanceId = ctx.getInstanceId(); Customer customer = ctx.getInput(Customer.class); customer.setWorkflowId(instanceId); ctx.getLogger().info("Let's register the customer: " + customer.getCustomerName()); ctx.callActivity(RegisterCustomerActivity.class.getName(), customer, Customer.class).await(); ctx.getLogger().info("Let's wait for the customer: " + customer.getCustomerName() + " to request a follow up."); customer = ctx.waitForExternalEvent("CustomerReachOut", Duration.ofMinutes(5), Customer.class).await(); ctx.getLogger().info("Let's book a follow up for the customer: " + customer.getCustomerName()); customer = ctx.callActivity(CustomerFollowupActivity.class.getName(), customer, Customer.class).await(); ctx.getLogger().info("Congratulations the customer: " + customer.getCustomerName() + " is happy!"); ctx.complete(customer); }; } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/java/io/dapr/springboot4/examples/producer/workflow/RegisterCustomerActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer.workflow; import io.dapr.springboot4.examples.producer.Customer; import io.dapr.springboot4.examples.producer.CustomerStore; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class RegisterCustomerActivity implements WorkflowActivity { private final Logger logger = LoggerFactory.getLogger(RegisterCustomerActivity.class); private final CustomerStore customerStore; public RegisterCustomerActivity(CustomerStore customerStore) { this.customerStore = customerStore; } @Override public Object run(WorkflowActivityContext ctx) { Customer customer = ctx.getInput(Customer.class); customer.setInCustomerDB(true); logger.info("Customer: " + customer.getCustomerName() + " registered."); customerStore.addCustomer(customer); return customer; } } ================================================ FILE: spring-boot-4-examples/producer-app/src/main/resources/application.properties ================================================ spring.application.name=producer-app dapr.pubsub.name=pubsub dapr.statestore.name=kvstore dapr.statestore.binding=kvbinding ================================================ FILE: spring-boot-4-examples/producer-app/src/test/java/io/dapr/springboot4/examples/producer/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.Subscription; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import org.testcontainers.containers.PostgreSQLContainer; import org.testcontainers.containers.RabbitMQContainer; import org.testcontainers.utility.DockerImageName; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { static final String CONNECTION_STRING = "host=postgres user=postgres password=password port=5432 connect_timeout=10 database=dapr_db_repository"; static final Map STATE_STORE_PROPERTIES = createStateStoreProperties(); static final Map STATE_STORE_OUTBOX_PROPERTIES = createStateStoreOutboxProperties(); static final Map BINDING_PROPERTIES = Collections.singletonMap("connectionString", CONNECTION_STRING); @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public Statement apply(Statement base, Description description) { return null; } @Override public String getId() { return "dapr-network"; } @Override public void close() { } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RabbitMQContainer rabbitMQContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RabbitMQContainer(DockerImageName.parse("rabbitmq:3.7.25-management-alpine")) .withExposedPorts(5672) .withNetworkAliases("rabbitmq") .withReuse(reuse) .withNetwork(daprNetwork); } @Bean public PostgreSQLContainer postgreSQLContainer(Network daprNetwork) { return new PostgreSQLContainer<>("postgres:16-alpine") .withNetworkAliases("postgres") .withDatabaseName("dapr_db_repository") .withUsername("postgres") .withPassword("password") .withExposedPorts(5432) .withNetwork(daprNetwork); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, PostgreSQLContainer postgreSQLContainer, RabbitMQContainer rabbitMQContainer) { Map rabbitMqProperties = new HashMap<>(); rabbitMqProperties.put("connectionString", "amqp://guest:guest@rabbitmq:5672"); rabbitMqProperties.put("user", "guest"); rabbitMqProperties.put("password", "guest"); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("producer-app") .withNetwork(daprNetwork) .withComponent(new Component("kvstore", "state.postgresql", "v1", STATE_STORE_PROPERTIES)) .withComponent(new Component("kvbinding", "bindings.postgresql", "v1", BINDING_PROPERTIES)) .withComponent(new Component("pubsub", "pubsub.rabbitmq", "v1", rabbitMqProperties)) .withComponent(new Component("kvstore-outbox", "state.postgresql", "v1", STATE_STORE_OUTBOX_PROPERTIES)) .withSubscription(new Subscription("app", "pubsub", "topic", "/subscribe")) .withAppPort(8080) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(rabbitMQContainer) .dependsOn(postgreSQLContainer); } private static Map createStateStoreProperties() { Map result = new HashMap<>(); result.put("keyPrefix", "name"); result.put("actorStateStore", String.valueOf(true)); result.put("connectionString", CONNECTION_STRING); return result; } private static Map createStateStoreOutboxProperties() { Map result = new HashMap<>(); result.put("connectionString", CONNECTION_STRING); result.put("outboxPublishPubsub", "pubsub"); result.put("outboxPublishTopic", "outbox-topic"); return result; } } ================================================ FILE: spring-boot-4-examples/producer-app/src/test/java/io/dapr/springboot4/examples/producer/ProducerAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import io.dapr.client.DaprClient; import io.dapr.springboot.DaprAutoConfiguration; import io.dapr.springboot4.examples.producer.Customer; import io.dapr.springboot4.examples.producer.CustomerStore; import io.dapr.springboot4.examples.producer.OrderDTO; import io.dapr.springboot4.examples.producer.workflow.CustomerFollowupActivity; import io.dapr.springboot4.examples.producer.workflow.CustomerWorkflow; import io.dapr.springboot4.examples.producer.workflow.RegisterCustomerActivity; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.wait.strategy.DaprWait; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.client.RestTestClient; import java.time.Duration; import java.util.List; import static org.awaitility.Awaitility.await; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @SpringBootTest(classes = {TestProducerApplication.class, DaprTestContainersConfig.class, DaprAutoConfiguration.class, CustomerWorkflow.class, CustomerFollowupActivity.class, RegisterCustomerActivity.class, CustomerStore.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) class ProducerAppIT { @Autowired private TestSubscriberRestController controller; @Autowired private CustomerStore customerStore; @Autowired private DaprClient daprClient; @Autowired private DaprContainer daprContainer; @LocalServerPort private int port; private RestTestClient client; @BeforeEach void setUp() { client = RestTestClient.bindToServer() .baseUrl("http://localhost:" + port) .build(); org.testcontainers.Testcontainers.exposeHostPorts(8080); DaprWait.forSubscription("pubsub", "topic").waitUntilReady(daprContainer); } @AfterEach void cleanUp() { controller.getAllEvents().clear(); } @Test void testOrdersOutboxEndpointAndMessaging() { OrderDTO order = new OrderDTO("outbox-order-123", "Lorem ipsum", 1000); client.post() .uri("/orders/outbox") .contentType(MediaType.APPLICATION_JSON) .body(order) .exchange() .expectStatus().isOk(); await().atMost(Duration.ofSeconds(15)) .until(controller.getAllEvents()::size, equalTo(1)); } // @Test // void testOrdersEndpointAndMessaging() { // OrderDTO order = new OrderDTO("abc-123", "the mars volta LP", 1); // // client.post() // .uri("/orders") // .contentType(MediaType.APPLICATION_JSON) // .body(order) // .exchange() // .expectStatus().isOk(); // // await().atMost(Duration.ofSeconds(15)) // .until(controller.getAllEvents()::size, equalTo(1)); // // // Get all orders // List orders = client.get() // .uri("/orders") // .exchange() // .expectStatus().isOk() // .returnResult(new ParameterizedTypeReference>() {}) // .getResponseBody(); // // assertNotNull(orders); // assertEquals(1, orders.size()); // // // Query by item // List ordersByItem = client.get() // .uri(uriBuilder -> uriBuilder // .path("/orders/byItem/") // .queryParam("item", "the mars volta LP") // .build()) // .exchange() // .expectStatus().isOk() // .returnResult(new ParameterizedTypeReference>() {}) // .getResponseBody(); // // assertNotNull(ordersByItem); // assertEquals(1, ordersByItem.size()); // // // Query by item - no match // List ordersByOtherItem = client.get() // .uri(uriBuilder -> uriBuilder // .path("/orders/byItem/") // .queryParam("item", "other") // .build()) // .exchange() // .expectStatus().isOk() // .returnResult(new ParameterizedTypeReference>() {}) // .getResponseBody(); // // assertNotNull(ordersByOtherItem); // assertEquals(0, ordersByOtherItem.size()); // // // Query by amount // List ordersByAmount = client.get() // .uri(uriBuilder -> uriBuilder // .path("/orders/byAmount/") // .queryParam("amount", 1) // .build()) // .exchange() // .expectStatus().isOk() // .returnResult(new ParameterizedTypeReference>() {}) // .getResponseBody(); // // assertNotNull(ordersByAmount); // assertEquals(1, ordersByAmount.size()); // // // Query by amount - no match // List ordersByOtherAmount = client.get() // .uri(uriBuilder -> uriBuilder // .path("/orders/byAmount/") // .queryParam("amount", 2) // .build()) // .exchange() // .expectStatus().isOk() // .returnResult(new ParameterizedTypeReference>() {}) // .getResponseBody(); // // assertNotNull(ordersByOtherAmount); // assertEquals(0, ordersByOtherAmount.size()); // // } @Test void testCustomersWorkflows() { client.post() .uri("/customers") .contentType(MediaType.APPLICATION_JSON) .body("{\"customerName\": \"salaboy\"}") .exchange() .expectStatus().isOk(); await().atMost(Duration.ofSeconds(15)) .until(customerStore.getCustomers()::size, equalTo(1)); Customer customer = customerStore.getCustomer("salaboy"); assertTrue(customer.isInCustomerDB()); String workflowId = customer.getWorkflowId(); client.post() .uri("/customers/followup") .contentType(MediaType.APPLICATION_JSON) .body("{ \"workflowId\": \"" + workflowId + "\",\"customerName\": \"salaboy\" }") .exchange() .expectStatus().isOk(); assertEquals(1, customerStore.getCustomers().size()); await().atMost(Duration.ofSeconds(10)) .until(customerStore.getCustomer("salaboy")::isFollowUp, equalTo(true)); } } ================================================ FILE: spring-boot-4-examples/producer-app/src/test/java/io/dapr/springboot4/examples/producer/TestProducerApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import io.dapr.springboot4.examples.producer.ProducerApplication; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestProducerApplication { public static void main(String[] args) { SpringApplication.from(ProducerApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8080); } } ================================================ FILE: spring-boot-4-examples/producer-app/src/test/java/io/dapr/springboot4/examples/producer/TestSubscriberRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.producer; import io.dapr.Topic; import io.dapr.client.domain.CloudEvent; import io.dapr.springboot4.examples.producer.Order; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @RestController public class TestSubscriberRestController { private List events = new ArrayList<>(); private final Logger logger = LoggerFactory.getLogger(TestSubscriberRestController.class); @PostMapping("subscribe") @Topic(pubsubName = "pubsub", name = "topic") public void subscribe(@RequestBody CloudEvent cloudEvent){ logger.info("Order Event Received: " + cloudEvent.getData()); events.add(cloudEvent); } @PostMapping("outbox-subscribe") @Topic(pubsubName = "pubsub", name = "outbox-topic") public void outboxSubscribe(@RequestBody CloudEvent cloudEvent) { // we are receiving the Order with CloudEvent as String due to the // following issue https://github.com/dapr/java-sdk/issues/1580 logger.info("Outbox Order Event Received: " + cloudEvent.getData()); events.add(cloudEvent); } public List getAllEvents() { return events; } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/README.md ================================================ # Multi App workflow Example This example demonstrates how you can create distributed workflows where the orchestrator doesn't host the workflow activities. For more documentation about how Multi App Workflows work [check the official documentation here](https://v1-16.docs.dapr.io/developing-applications/building-blocks/workflow/workflow-multi-app/). This example is composed by three Spring Boot applications: - `orchestrator`: The `orchestrator` app contains the Dapr Workflow definition and expose REST endpoints to create and raise events against workflow instances. - `worker-one`: The `worker-one` app contains the `RegisterCustomerActivity` definition, which will be called by the `orchestrator` app. - `worker-two`: The `worker-two` app contains the `CustomerFollowupActivity` definition, which will be called by the `orchestrator` app. To start the applications you need to run the following commands on separate terminals, starting from the `multi-app` directory. To start the `orchestrator` app run: ```bash cd orchestrator/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` The `orchestrator` application will run on port `8080`. On a separate terminal, to start the `worker-one` app run: ```bash cd worker-one/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` The `worker-one` application will run on port `8081`. On a separate terminal, to start the `worker-two` app run: ```bash cd worker-two/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` The `worker-two` application will run on port `8082`. You can create new workflow instances of the `CustomerWorkflow` by calling the `/customers` endpoint of the `orchestrator` application. ```bash curl -X POST localhost:8080/customers -H 'Content-Type: application/json' -d '{ "customerName": "salaboy" }' ``` The workflow definition [`CustomerWorkflow`](orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/CustomerWorkflow.java) that you can find inside the `orchestrator` app, performs the following orchestration when a new workflow instance is created: - Call the `RegisterCustomerActivity` activity which can be found inside the `worker-one` application. - You can find in the workflow definition the configuration to make reference to an Activity that is hosted by a different Dapr application. ```java customer = ctx.callActivity("io.dapr.springboot.examples.workerone.RegisterCustomerActivity", customer, new WorkflowTaskOptions("worker-one"), Customer.class). await(); ``` - Wait for an external event of type `CustomerReachOut` with a timeout of 5 minutes: ```java ctx.waitForExternalEvent("CustomerReachOut", Duration.ofMinutes(5), Customer.class).await(); ``` - You can check the status of the workflow for a given customer by sending the following request: ```shell curl -X POST localhost:8080/customers/status -H 'Content-Type: application/json' -d '{ "customerName": "salaboy" }' ``` - You can call the following endpoint on the `orchestrator` app to raise the external event: ```shell curl -X POST localhost:8080/customers/followup -H 'Content-Type: application/json' -d '{ "customerName": "salaboy" }' ``` - When the event is received, the workflow move forward to the last activity called `CustomerFollowUpActivity`, that can be found on the `worker-two` app. ```java customer = ctx.callActivity("io.dapr.springboot.examples.workertwo.CustomerFollowupActivity", customer, new WorkflowTaskOptions("worker-two"), Customer.class). await(); ``` - The workflow completes by handing out the final version of the `Customer` object that has been modified the workflow activities. You can retrieve the `Customer` payload by running the following command: ```shell curl -X POST localhost:8080/customers/output -H 'Content-Type: application/json' -d '{ "customerName": "salaboy" }' ``` ## Testing Multi App Workflows Testing becomes a complex task when you are dealing with multiple Spring Boot applications. For testing this workflow, we rely on [Testcontainers](https://testcontainers.com) to create the entire setup which enable us to run the workflow end to end. You can find the end-to-end test in the [`OrchestratorAppIT.java`](orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/OrchestratorAppIT.java) class inside the `orchestrator` application. This test interact with the application REST endpoints to validate their correct execution. But the magic behind the test can be located in the [`DaprTestContainersConfig.class`](orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/DaprTestContainersConfig.java) which defines the configuration for all the Dapr containers and the `worker-one` and `worker-two` applications. Check this class to gain a deeper understand how to configure multiple Dapr-enabled applications. ================================================ FILE: spring-boot-4-examples/workflows/multi-app/orchestrator/pom.xml ================================================ 4.0.0 io.dapr sb4-multi-app 1.18.0-SNAPSHOT ../pom.xml sb4-orchestrator sb4-orchestrator Spring Boot 4, Testcontainers and Dapr Integration Examples :: Orchestrator App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-webmvc org.springframework.boot spring-boot-starter-webmvc-test test io.dapr.spring dapr-spring-boot-4-starter io.dapr.spring dapr-spring-boot-4-starter-test test com.redis testcontainers-redis test io.dapr sb4-worker-one ${project.version} test io.dapr sb4-worker-two ${project.version} test org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true org.apache.maven.plugins maven-failsafe-plugin integration-test verify **/*IT.java ================================================ FILE: spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/Customer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.orchestrator; public class Customer { private String customerName; private String workflowId; private boolean inCustomerDB = false; private boolean followUp = false; public boolean isFollowUp() { return followUp; } public void setFollowUp(boolean followUp) { this.followUp = followUp; } public boolean isInCustomerDB() { return inCustomerDB; } public void setInCustomerDB(boolean inCustomerDB) { this.inCustomerDB = inCustomerDB; } public String getWorkflowId() { return workflowId; } public void setWorkflowId(String workflowId) { this.workflowId = workflowId; } public String getCustomerName() { return customerName; } public void setCustomerName(String customerName) { this.customerName = customerName; } @Override public String toString() { return "Customer [customerName=" + customerName + ", workflowId=" + workflowId + ", inCustomerDB=" + inCustomerDB + ", followUp=" + followUp + "]"; } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/CustomerWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.orchestrator; import io.dapr.durabletask.TaskCanceledException; import io.dapr.durabletask.TaskFailedException; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; import org.springframework.stereotype.Component; import java.time.Duration; @Component public class CustomerWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { String instanceId = ctx.getInstanceId(); Customer customer = ctx.getInput(Customer.class); customer.setWorkflowId(instanceId); ctx.getLogger().info("Let's register the customer: {}", customer.getCustomerName()); customer = ctx.callActivity("io.dapr.springboot4.examples.workerone.RegisterCustomerActivity", customer, new WorkflowTaskOptions("worker-one"), Customer.class).await(); ctx.getLogger().info("Let's wait for the customer: {} to request a follow up.", customer.getCustomerName()); ctx.waitForExternalEvent("CustomerReachOut", Duration.ofMinutes(5), Customer.class).await(); ctx.getLogger().info("Let's book a follow up for the customer: {}", customer.getCustomerName()); customer = ctx.callActivity("io.dapr.springboot4.examples.workertwo.CustomerFollowupActivity", customer, new WorkflowTaskOptions("worker-two"), Customer.class).await(); ctx.getLogger().info("Congratulations the customer: {} is happy!", customer.getCustomerName()); ctx.getLogger().info("Final customer: {} ", customer); ctx.complete(customer); }; } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/CustomersRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.orchestrator; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; @RestController public class CustomersRestController { private final Logger logger = LoggerFactory.getLogger(CustomersRestController.class); @Autowired private DaprWorkflowClient daprWorkflowClient; @GetMapping("/") public String root() { return "OK"; } private final Map customersWorkflows = new HashMap<>(); /** * Track customer endpoint. * * @param customer provided customer to track * @return confirmation that the workflow instance was created for a given customer */ @PostMapping("/customers") public String trackCustomer(@RequestBody Customer customer) { String instanceId = daprWorkflowClient.scheduleNewWorkflow(CustomerWorkflow.class, customer); logger.info("Workflow instance {} started", instanceId); customersWorkflows.put(customer.getCustomerName(), instanceId); return "New Workflow Instance created for Customer: " + customer.getCustomerName(); } /** * Request customer follow-up. * @param customer associated with a workflow instance * @return confirmation that the follow-up was requested */ @PostMapping("/customers/followup") public String customerNotification(@RequestBody Customer customer) { logger.info("Customer follow-up requested: {}", customer.getCustomerName()); String workflowIdForCustomer = customersWorkflows.get(customer.getCustomerName()); if (workflowIdForCustomer == null || workflowIdForCustomer.isEmpty()) { return "There is no workflow associated with customer: " + customer.getCustomerName(); } daprWorkflowClient.raiseEvent(workflowIdForCustomer, "CustomerReachOut", customer); return "Customer Follow-up requested"; } /** * Request customer workflow instance status. * @param customer associated with a workflow instance * @return the workflow instance status for a given customer */ @PostMapping("/customers/status") public String getCustomerStatus(@RequestBody Customer customer) { logger.info("Customer status requested: {}", customer.getCustomerName()); String workflowIdForCustomer = customersWorkflows.get(customer.getCustomerName()); if (workflowIdForCustomer == null || workflowIdForCustomer.isEmpty()) { return "N/A"; } WorkflowState instanceState = daprWorkflowClient.getWorkflowState(workflowIdForCustomer, true); assert instanceState != null; return "Workflow for Customer: " + customer.getCustomerName() + " is " + instanceState.getRuntimeStatus().name(); } /** * Request customer output. * @param customer associated with a workflow instance * @return Customer status after the workflow execution finished */ @PostMapping("/customers/output") public Customer getCustomerOutput(@RequestBody Customer customer) { logger.info("Customer output requested: {}", customer.getCustomerName()); String workflowIdForCustomer = customersWorkflows.get(customer.getCustomerName()); if (workflowIdForCustomer == null || workflowIdForCustomer.isEmpty()) { return null; } WorkflowState instanceState = daprWorkflowClient.getWorkflowState(workflowIdForCustomer, true); assert instanceState != null; return instanceState.readOutputAs(Customer.class); } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot4/examples/orchestrator/OrchestratorApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.orchestrator; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableDaprWorkflows public class OrchestratorApplication { public static void main(String[] args) { SpringApplication.run(OrchestratorApplication.class, args); } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/orchestrator/src/main/resources/application.properties ================================================ spring.application.name=orchestrator ================================================ FILE: spring-boot-4-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.orchestrator; import com.redis.testcontainers.RedisContainer; import io.dapr.testcontainers.*; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.Network; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.utility.DockerImageName; import org.testcontainers.utility.MountableFile; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.*; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } private Map getRedisProps(){ Map redisProps = new HashMap<>(); redisProps.put("redisHost", "redis:6379"); redisProps.put("redisPassword", ""); redisProps.put("actorStateStore", String.valueOf(true)); return redisProps; } @Bean public DaprPlacementContainer placementContainer(Network daprNetwork, Environment env){ boolean reuse = env.getProperty("reuse", Boolean.class, false); return new DaprPlacementContainer(DockerImageName.parse(DAPR_PLACEMENT_IMAGE_TAG)) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("placement"); } @Bean public DaprSchedulerContainer schedulerContainer(Network daprNetwork, Environment env){ boolean reuse = env.getProperty("reuse", Boolean.class, false); return new DaprSchedulerContainer(DockerImageName.parse(DAPR_SCHEDULER_IMAGE_TAG)) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("scheduler"); } @Bean("workerOneDapr") @ConditionalOnProperty(prefix = "tests", name = "workers.enabled", havingValue = "true") public DaprContainer workerOneDapr(Network daprNetwork, RedisContainer redisContainer, Environment env, DaprPlacementContainer daprPlacementContainer, DaprSchedulerContainer daprSchedulerContainer) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("worker-one") .withNetworkAliases("worker-one") .withNetwork(daprNetwork) .withPlacementContainer(daprPlacementContainer) .withSchedulerContainer(daprSchedulerContainer) .withComponent(new Component("kvstore", "state.redis", "v1", getRedisProps())) .dependsOn(daprPlacementContainer) .dependsOn(daprSchedulerContainer) .dependsOn(redisContainer); } @Bean @ConditionalOnProperty(prefix = "tests", name = "workers.enabled", havingValue = "true") public GenericContainer workerOneContainer(Network daprNetwork, @Qualifier("workerOneDapr") DaprContainer workerOneDapr, DaprPlacementContainer daprPlacementContainer, DaprSchedulerContainer daprSchedulerContainer){ return new GenericContainer<>(DockerImages.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("../worker-one/target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-Ddapr.grpc.endpoint=worker-one:50001", "-Ddapr.http.endpoint=worker-one:3500", "-jar", "worker-one.jar") .withNetwork(daprNetwork) .dependsOn(workerOneDapr) .dependsOn(daprPlacementContainer) .dependsOn(daprSchedulerContainer) .waitingFor(Wait.forLogMessage(".*Started WorkerOneApplication.*", 1)) .withLogConsumer(outputFrame -> System.out.println("WorkerOneApplication: " + outputFrame.getUtf8String())); } @Bean("workerTwoDapr") @ConditionalOnProperty(prefix = "tests", name = "workers.enabled", havingValue = "true") public DaprContainer workerTwoDapr(Network daprNetwork, RedisContainer redisContainer, Environment env, DaprPlacementContainer daprPlacementContainer, DaprSchedulerContainer daprSchedulerContainer) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("worker-two") .withNetworkAliases("worker-two") .withNetwork(daprNetwork) .withPlacementContainer(daprPlacementContainer) .withSchedulerContainer(daprSchedulerContainer) .withComponent(new Component("kvstore", "state.redis", "v1", getRedisProps())) .dependsOn(daprPlacementContainer) .dependsOn(daprSchedulerContainer) .dependsOn(redisContainer); } @Bean @ConditionalOnProperty(prefix = "tests", name = "workers.enabled", havingValue = "true") public GenericContainer workerTwoContainer(Network daprNetwork, @Qualifier("workerTwoDapr") DaprContainer workerTwoDapr, DaprPlacementContainer daprPlacementContainer, DaprSchedulerContainer daprSchedulerContainer){ return new GenericContainer<>(DockerImages.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("../worker-two/target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-Ddapr.grpc.endpoint=worker-two:50001", "-Ddapr.http.endpoint=worker-two:3500", "-jar", "worker-two.jar") .withNetwork(daprNetwork) .dependsOn(workerTwoDapr) .dependsOn(daprPlacementContainer) .dependsOn(daprSchedulerContainer) .waitingFor(Wait.forLogMessage(".*Started WorkerTwoApplication.*", 1)) .withLogConsumer(outputFrame -> System.out.println("WorkerTwoApplication: " + outputFrame.getUtf8String())); } @Bean public RedisContainer redisContainer(Network daprNetwork, Environment env){ boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RedisContainer(RedisContainer.DEFAULT_IMAGE_NAME) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("redis"); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RedisContainer redisContainer, Environment env, DaprPlacementContainer daprPlacementContainer, DaprSchedulerContainer daprSchedulerContainer) { return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("orchestrator") .withNetwork(daprNetwork) .withPlacementContainer(daprPlacementContainer) .withSchedulerContainer(daprSchedulerContainer) .withComponent(new Component("kvstore", "state.redis", "v1", getRedisProps())) .withAppPort(8080) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(daprPlacementContainer) .dependsOn(daprSchedulerContainer) .dependsOn(redisContainer); } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/DockerImages.java ================================================ package io.dapr.springboot4.examples.orchestrator; public interface DockerImages { String JDK_17_TEMURIN_JAMMY = "eclipse-temurin:17-jdk-jammy"; } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/OrchestratorAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.orchestrator; import io.dapr.springboot4.examples.orchestrator.Customer; import io.dapr.springboot4.examples.orchestrator.CustomersRestController; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.client.RestTestClient; import java.time.Duration; import static org.awaitility.Awaitility.await; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @SpringBootTest(classes = {TestOrchestratorApplication.class, DaprTestContainersConfig.class, CustomersRestController.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, properties = {"reuse=false", "tests.workers.enabled=true"}) class OrchestratorAppIT { @LocalServerPort private int port; private RestTestClient client; @BeforeEach void setUp() { client = RestTestClient.bindToServer() .baseUrl("http://localhost:" + port) .build(); org.testcontainers.Testcontainers.exposeHostPorts(8080); } @Test void testCustomersWorkflows() throws InterruptedException { // Create a new workflow instance for a given customer client.post() .uri("/customers") .contentType(MediaType.APPLICATION_JSON) .body("{\"customerName\": \"salaboy\"}") .exchange() .expectStatus().isOk(); // Wait for the workflow instance to be running by checking the status await().atMost(Duration.ofSeconds(5)).until(() -> { String workflowStatus = client.post() .uri("/customers/status") .contentType(MediaType.APPLICATION_JSON) .body("{\"customerName\": \"salaboy\" }") .exchange() .expectStatus().isOk() .returnResult(String.class) .getResponseBody(); return "Workflow for Customer: salaboy is RUNNING".equals(workflowStatus); } ); // Raise an external event to move the workflow forward client.post() .uri("/customers/followup") .contentType(MediaType.APPLICATION_JSON) .body("{\"customerName\": \"salaboy\" }") .exchange() .expectStatus().isOk(); // Wait for the workflow instance to be completed by checking the status await().atMost(Duration.ofSeconds(5)).until(() -> { String workflowStatus = client.post() .uri("/customers/status") .contentType(MediaType.APPLICATION_JSON) .body("{\"customerName\": \"salaboy\" }") .exchange() .expectStatus().isOk() .returnResult(String.class) .getResponseBody(); return "Workflow for Customer: salaboy is COMPLETED".equals(workflowStatus); } ); // Get the customer after running all the workflow activities Customer customer = client.post() .uri("/customers/output") .contentType(MediaType.APPLICATION_JSON) .body("{\"customerName\": \"salaboy\" }") .exchange() .expectStatus().isOk() .returnResult(Customer.class) .getResponseBody(); assertNotNull(customer); assertTrue(customer.isInCustomerDB()); assertTrue(customer.isFollowUp()); } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot4/examples/orchestrator/TestOrchestratorApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.orchestrator; import io.dapr.springboot4.examples.orchestrator.OrchestratorApplication; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestOrchestratorApplication { public static void main(String[] args) { SpringApplication.from(OrchestratorApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8080); } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/orchestrator/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore server.port=8080 ================================================ FILE: spring-boot-4-examples/workflows/multi-app/pom.xml ================================================ 4.0.0 io.dapr sb4-workflows 1.18.0-SNAPSHOT ../pom.xml sb4-multi-app pom true orchestrator worker-one worker-two org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-4-examples/workflows/multi-app/spotbugs-exclude.xml ================================================ ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-one/pom.xml ================================================ 4.0.0 io.dapr sb4-multi-app 1.18.0-SNAPSHOT ../pom.xml sb4-worker-one sb4-worker-one Spring Boot 4, Testcontainers and Dapr Integration Examples :: Worker 1 App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-webmvc org.springframework.boot spring-boot-starter-webmvc-test test io.dapr.spring dapr-spring-boot-4-starter io.dapr.spring dapr-spring-boot-4-starter-test test com.redis testcontainers-redis test org.springframework.boot spring-boot-maven-plugin worker-one repackage org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot4/examples/workerone/Customer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workerone; public class Customer { private String customerName; private String workflowId; private boolean inCustomerDB = false; private boolean followUp = false; public boolean isFollowUp() { return followUp; } public void setFollowUp(boolean followUp) { this.followUp = followUp; } public boolean isInCustomerDB() { return inCustomerDB; } public void setInCustomerDB(boolean inCustomerDB) { this.inCustomerDB = inCustomerDB; } public String getWorkflowId() { return workflowId; } public void setWorkflowId(String workflowId) { this.workflowId = workflowId; } public String getCustomerName() { return customerName; } public void setCustomerName(String customerName) { this.customerName = customerName; } @Override public String toString() { return "Customer [customerName=" + customerName + ", workflowId=" + workflowId + ", inCustomerDB=" + inCustomerDB + ", followUp=" + followUp + "]"; } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot4/examples/workerone/RegisterCustomerActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workerone; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class RegisterCustomerActivity implements WorkflowActivity { private final Logger logger = LoggerFactory.getLogger(RegisterCustomerActivity.class); @Override public Object run(WorkflowActivityContext ctx) { Customer customer = ctx.getInput(Customer.class); customer.setInCustomerDB(true); logger.info("Customer: {} registered.", customer.getCustomerName()); return customer; } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot4/examples/workerone/WorkerOneApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workerone; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableDaprWorkflows public class WorkerOneApplication { public static void main(String[] args) { SpringApplication.run(WorkerOneApplication.class, args); } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-one/src/main/resources/application.properties ================================================ spring.application.name=worker-one server.port=8081 ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot4/examples/workerone/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workerone; import com.redis.testcontainers.RedisContainer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RedisContainer redisContainer(Network daprNetwork, Environment env){ boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RedisContainer(RedisContainer.DEFAULT_IMAGE_NAME) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("redis"); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RedisContainer redisContainer, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); Map redisProps = new HashMap<>(); redisProps.put("redisHost", "redis:6379"); redisProps.put("redisPassword", ""); redisProps.put("actorStateStore", String.valueOf(true)); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("worker-one") .withNetwork(daprNetwork) .withReusablePlacement(reuse) .withReusableScheduler(reuse) .withComponent(new Component("kvstore", "state.redis", "v1", redisProps)) .withAppPort(8081) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(redisContainer); } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot4/examples/workerone/TestWorkerOneApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workerone; import io.dapr.springboot4.examples.workerone.WorkerOneApplication; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkerOneApplication { public static void main(String[] args) { SpringApplication.from(WorkerOneApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8081); } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot4/examples/workerone/WorkerOneAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workerone; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.test.web.servlet.client.RestTestClient; @SpringBootTest(classes = {TestWorkerOneApplication.class, DaprTestContainersConfig.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) class WorkerOneAppIT { @LocalServerPort private int port; private RestTestClient client; @BeforeEach void setUp() { client = RestTestClient.bindToServer() .baseUrl("http://localhost:" + port) .build(); org.testcontainers.Testcontainers.exposeHostPorts(8081); } @Test void testWorkerOne() { //Test the logic of the worker one } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-one/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore server.port=8081 ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-two/pom.xml ================================================ 4.0.0 io.dapr sb4-multi-app 1.18.0-SNAPSHOT ../pom.xml sb4-worker-two sb4-worker-two Spring Boot 4, Testcontainers and Dapr Integration Examples :: Worker 2 App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-webmvc org.springframework.boot spring-boot-starter-webmvc-test test io.dapr.spring dapr-spring-boot-4-starter io.dapr.spring dapr-spring-boot-4-starter-test test com.redis testcontainers-redis test org.springframework.boot spring-boot-maven-plugin worker-two repackage org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot4/examples/workertwo/Customer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workertwo; public class Customer { private String customerName; private String workflowId; private boolean inCustomerDB = false; private boolean followUp = false; public boolean isFollowUp() { return followUp; } public void setFollowUp(boolean followUp) { this.followUp = followUp; } public boolean isInCustomerDB() { return inCustomerDB; } public void setInCustomerDB(boolean inCustomerDB) { this.inCustomerDB = inCustomerDB; } public String getWorkflowId() { return workflowId; } public void setWorkflowId(String workflowId) { this.workflowId = workflowId; } public String getCustomerName() { return customerName; } public void setCustomerName(String customerName) { this.customerName = customerName; } @Override public String toString() { return "Customer [customerName=" + customerName + ", workflowId=" + workflowId + ", inCustomerDB=" + inCustomerDB + ", followUp=" + followUp + "]"; } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot4/examples/workertwo/CustomerFollowupActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workertwo; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class CustomerFollowupActivity implements WorkflowActivity { private final Logger logger = LoggerFactory.getLogger(CustomerFollowupActivity.class); @Override public Object run(WorkflowActivityContext ctx) { Customer customer = ctx.getInput(Customer.class); customer.setFollowUp(true); logger.info("Customer: {} follow up scheduled.", customer.getCustomerName()); return customer; } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot4/examples/workertwo/WorkerTwoApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workertwo; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableDaprWorkflows public class WorkerTwoApplication { public static void main(String[] args) { SpringApplication.run(WorkerTwoApplication.class, args); } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-two/src/main/resources/application.properties ================================================ spring.application.name=worker-two server.port=8082 ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot4/examples/workertwo/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workertwo; import com.redis.testcontainers.RedisContainer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RedisContainer redisContainer(Network daprNetwork, Environment env){ boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RedisContainer(RedisContainer.DEFAULT_IMAGE_NAME) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("redis"); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RedisContainer redisContainer, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); Map redisProps = new HashMap<>(); redisProps.put("redisHost", "redis:6379"); redisProps.put("redisPassword", ""); redisProps.put("actorStateStore", String.valueOf(true)); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("worker-two") .withNetwork(daprNetwork) .withReusablePlacement(reuse) .withReusableScheduler(reuse) .withComponent(new Component("kvstore", "state.redis", "v1", redisProps)) .withAppPort(8082) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(redisContainer); } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot4/examples/workertwo/TestWorkerTwoApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workertwo; import io.dapr.springboot4.examples.workertwo.WorkerTwoApplication; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkerTwoApplication { public static void main(String[] args) { SpringApplication.from(WorkerTwoApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8082); } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot4/examples/workertwo/WorkerTwoAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.workertwo; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.test.web.servlet.client.RestTestClient; @SpringBootTest(classes = {TestWorkerTwoApplication.class, DaprTestContainersConfig.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) class WorkerTwoAppIT { @LocalServerPort private int port; private RestTestClient client; @BeforeEach void setUp() { client = RestTestClient.bindToServer() .baseUrl("http://localhost:" + port) .build(); org.testcontainers.Testcontainers.exposeHostPorts(8082); } @Test void testWorkerTwo() { //Test the logic of the worker two } } ================================================ FILE: spring-boot-4-examples/workflows/multi-app/worker-two/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore server.port=8082 ================================================ FILE: spring-boot-4-examples/workflows/patterns/README.md ================================================ # Dapr Spring Boot Workflow Examples This application allows you to run different [workflow patterns](https://docs.dapr.io/developing-applications/building-blocks/workflow/workflow-patterns) including: - Chained Activities - Parent/Child Workflows - Continue workflow by sending External Events - Fan Out/In activities for parallel execution - Suspend/Resume workflows ## Running these examples from source code To run these examples you will need: - Java SDK - Maven - Docker or a container runtime such as Podman From the `spring-boot-examples/workflows` directory you can start the service by running the following command: ```sh ../../../mvnw spring-boot:test-run ``` By running the `spring-boot:test-run` goal, the application is loaded using the [test configurations](src/test/java/io/dapr/springboot4/examples/wfp/DaprTestContainersConfig.java) configured using [Testcontainers](https://testcontainers.com) to boostrap the [Dapr](https://dapr.io) sidecar and control plane. Once the application is running you can trigger the different patterns by sending the following requests: ### Chaining Activities Workflow example The `io.dapr.springboot.examples.wfp.chain.ChainWorkflow` executes three chained activities. For this example the `ToUpperCaseActivity.java` is used to transform to upper case three strings from an array. ```mermaid graph LR SW((Start Workflow)) A1[Activity1] A2[Activity2] A3[Activity3] EW((End Workflow)) SW --> A1 A1 --> A2 A2 --> A3 A3 --> EW ``` To start the workflow with the three chained activities you can run: ```sh curl -X POST localhost:8080/wfp/chain -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` As result from executing the request you should see: ```bash TOKYO, LONDON, SEATTLE ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.chain.ChainWorkflow i.d.s.e.w.WorkflowPatternsRestController : Workflow instance 7625b4af-8c04-408a-93dc-bad753466e43 started i.d.s.e.wfp.chain.ToUpperCaseActivity : Starting Activity: io.dapr.springboot.examples.wfp.chain.ToUpperCaseActivity i.d.s.e.wfp.chain.ToUpperCaseActivity : Message Received from input: Tokyo i.d.s.e.wfp.chain.ToUpperCaseActivity : Sending message to output: TOKYO i.d.s.e.wfp.chain.ToUpperCaseActivity : Starting Activity: io.dapr.springboot.examples.wfp.chain.ToUpperCaseActivity i.d.s.e.wfp.chain.ToUpperCaseActivity : Message Received from input: London i.d.s.e.wfp.chain.ToUpperCaseActivity : Sending message to output: LONDON i.d.s.e.wfp.chain.ToUpperCaseActivity : Starting Activity: io.dapr.springboot.examples.wfp.chain.ToUpperCaseActivity i.d.s.e.wfp.chain.ToUpperCaseActivity : Message Received from input: Seattle i.d.s.e.wfp.chain.ToUpperCaseActivity : Sending message to output: SEATTLE io.dapr.workflows.WorkflowContext : Workflow finished with result: TOKYO, LONDON, SEATTLE ``` ### Parent / Child Workflows example In this example we start a Parent workflow that calls a child workflow that execute one activity that reverses an input string. The Parent workflow looks like this: ```mermaid graph LR SW((Start Workflow)) subgraph for each word in the input GWL[Call child workflow] end EW((End Workflow)) SW --> GWL GWL --> EW ``` The Child workflow looks like this: ```mermaid graph LR SW((Start Workflow)) A1[Activity1] EW((End Workflow)) SW --> A1 A1 --> EW ``` To start the parent workflow you can run: To start the workflow with the three chained activities you can run: ```sh curl -X POST localhost:8080/wfp/child -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` As result from executing the request you should see: ```bash !wolfkroW rpaD olleH ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.child.ParentWorkflow io.dapr.workflows.WorkflowContext : calling childworkflow with input: Hello Dapr Workflow! i.d.s.e.w.WorkflowPatternsRestController : Workflow instance f3ec9566-a0fc-4d28-8912-3f3ded3cd8a9 started io.dapr.workflows.WorkflowContext : Starting ChildWorkflow: io.dapr.springboot.examples.wfp.child.ChildWorkflow io.dapr.workflows.WorkflowContext : ChildWorkflow received input: Hello Dapr Workflow! io.dapr.workflows.WorkflowContext : ChildWorkflow is calling Activity: io.dapr.springboot.examples.wfp.child.ReverseActivity i.d.s.e.wfp.child.ReverseActivity : Starting Activity: io.dapr.springboot.examples.wfp.child.ReverseActivity i.d.s.e.wfp.child.ReverseActivity : Message Received from input: Hello Dapr Workflow! i.d.s.e.wfp.child.ReverseActivity : Sending message to output: !wolfkroW rpaD olleH io.dapr.workflows.WorkflowContext : ChildWorkflow finished with: !wolfkroW rpaD olleH io.dapr.workflows.WorkflowContext : childworkflow finished with: !wolfkroW rpaD olleH ``` ### ContinueAsNew Workflows example In this example we start a workflow that every 3 seconds schedule a new workflow consistently. This workflow executes one activity called CleanUpActivity that takes 2 seconds to complete. This loops repeat consistently for 5 times. To start the workflow you can run: ```sh curl -X POST localhost:8080/wfp/continueasnew -H 'Content-Type: application/json' --retry 10 --max-time 60 --retry-all-errors --retry-max-time 90 ``` As result from executing the request you should see: ```bash {"cleanUpTimes":5} ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.continueasnew.ContinueAsNewWorkflow io.dapr.workflows.WorkflowContext : call CleanUpActivity to do the clean up i.d.s.e.w.WorkflowPatternsRestController : Workflow instance b808e7d6-ab47-4eba-8188-dc9ff8780764 started i.d.s.e.w.continueasnew.CleanUpActivity : Starting Activity: io.dapr.springboot.examples.wfp.continueasnew.CleanUpActivity i.d.s.e.w.continueasnew.CleanUpActivity : start clean up work, it may take few seconds to finish... Time:10:48:45 io.dapr.workflows.WorkflowContext : CleanUpActivity finished io.dapr.workflows.WorkflowContext : wait 5 seconds for next clean up io.dapr.workflows.WorkflowContext : Let's do more cleaning. io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.continueasnew.ContinueAsNewWorkflow io.dapr.workflows.WorkflowContext : call CleanUpActivity to do the clean up i.d.s.e.w.continueasnew.CleanUpActivity : Starting Activity: io.dapr.springboot.examples.wfp.continueasnew.CleanUpActivity i.d.s.e.w.continueasnew.CleanUpActivity : start clean up work, it may take few seconds to finish... Time:10:48:50 io.dapr.workflows.WorkflowContext : CleanUpActivity finished io.dapr.workflows.WorkflowContext : wait 5 seconds for next clean up io.dapr.workflows.WorkflowContext : Let's do more cleaning. io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.continueasnew.ContinueAsNewWorkflow io.dapr.workflows.WorkflowContext : call CleanUpActivity to do the clean up i.d.s.e.w.continueasnew.CleanUpActivity : Starting Activity: io.dapr.springboot.examples.wfp.continueasnew.CleanUpActivity i.d.s.e.w.continueasnew.CleanUpActivity : start clean up work, it may take few seconds to finish... Time:10:48:55 io.dapr.workflows.WorkflowContext : CleanUpActivity finished io.dapr.workflows.WorkflowContext : wait 5 seconds for next clean up io.dapr.workflows.WorkflowContext : Let's do more cleaning. io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.continueasnew.ContinueAsNewWorkflow io.dapr.workflows.WorkflowContext : call CleanUpActivity to do the clean up i.d.s.e.w.continueasnew.CleanUpActivity : Starting Activity: io.dapr.springboot.examples.wfp.continueasnew.CleanUpActivity i.d.s.e.w.continueasnew.CleanUpActivity : start clean up work, it may take few seconds to finish... Time:10:49:0 io.dapr.workflows.WorkflowContext : CleanUpActivity finished io.dapr.workflows.WorkflowContext : wait 5 seconds for next clean up io.dapr.workflows.WorkflowContext : Let's do more cleaning. io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.continueasnew.ContinueAsNewWorkflow io.dapr.workflows.WorkflowContext : call CleanUpActivity to do the clean up i.d.s.e.w.continueasnew.CleanUpActivity : Starting Activity: io.dapr.springboot.examples.wfp.continueasnew.CleanUpActivity i.d.s.e.w.continueasnew.CleanUpActivity : start clean up work, it may take few seconds to finish... Time:10:49:5 io.dapr.workflows.WorkflowContext : CleanUpActivity finished io.dapr.workflows.WorkflowContext : wait 5 seconds for next clean up io.dapr.workflows.WorkflowContext : We did enough cleaning ``` ### External Event Workflow example In this example we start a workflow that as part of its execution waits for an external event to continue. To correlate workflows and events we use the parameter `orderId` To start the workflow you can run: ```sh curl -X POST "localhost:8080/wfp/externalevent?orderId=123" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.externalevent.ExternalEventWorkflow io.dapr.workflows.WorkflowContext : Waiting for approval... i.d.s.e.w.WorkflowPatternsRestController : Workflow instance 8a55cf6d-9059-49b1-8c83-fbe17567a02e started ``` You should see the Workflow ID that was created, in this example you don't need to remember this id, as you can use the orderId to find the right instance. When you are ready to approve the order you can send the following request: To send the event you can run: ```sh curl -X POST "localhost:8080/wfp/externalevent-continue?orderId=123&decision=true" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` ```bash {"approved":true} ``` In the application output you should see the workflow activities being executed. ```bash i.d.s.e.w.WorkflowPatternsRestController : Workflow instance e86bc464-6166-434d-8c91-d99040d6f54e continue io.dapr.workflows.WorkflowContext : approval granted - do the approved action i.d.s.e.w.externalevent.ApproveActivity : Starting Activity: io.dapr.springboot.examples.wfp.externalevent.ApproveActivity i.d.s.e.w.externalevent.ApproveActivity : Running approval activity... io.dapr.workflows.WorkflowContext : approval-activity finished ``` ### Fan Out/In Workflow example In this example we start a workflow that takes an ArrayList of strings and calls one activity per item in the ArrayList. The activities are executed and the workflow waits for all of them to complete to aggregate the results. ```mermaid graph LR SW((Start Workflow)) subgraph for each word in the input GWL[GetWordLength] end ALL[Wait until all tasks are completed] EW((End Workflow)) SW --> GWL GWL --> ALL ALL --> EW ``` To start the workflow you can run: ```sh curl -X POST localhost:8080/wfp/fanoutin -H 'Content-Type: application/json' -d @body.json --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` As result from executing the request you should see: ```bash {"wordCount":60} ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.fanoutin.FanOutInWorkflow i.d.s.e.w.WorkflowPatternsRestController : Workflow instance a771a7ba-f9fb-4399-aaee-a2fb0b102e5d started i.d.s.e.wfp.fanoutin.CountWordsActivity : Starting Activity: io.dapr.springboot.examples.wfp.fanoutin.CountWordsActivity i.d.s.e.wfp.fanoutin.CountWordsActivity : Starting Activity: io.dapr.springboot.examples.wfp.fanoutin.CountWordsActivity i.d.s.e.wfp.fanoutin.CountWordsActivity : Starting Activity: io.dapr.springboot.examples.wfp.fanoutin.CountWordsActivity i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity returned: 2. i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity finished i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity returned: 11. i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity returned: 17. i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity finished i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity finished i.d.s.e.wfp.fanoutin.CountWordsActivity : Starting Activity: io.dapr.springboot.examples.wfp.fanoutin.CountWordsActivity i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity returned: 21. i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity finished i.d.s.e.wfp.fanoutin.CountWordsActivity : Starting Activity: io.dapr.springboot.examples.wfp.fanoutin.CountWordsActivity i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity returned: 9. i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity finished io.dapr.workflows.WorkflowContext : Workflow finished with result: 60 ``` ### Suspend/Resume Workflow example In this example, we start a workflow that executes an activity and then waits for an event. While the workflow instance is waiting for the event, we execute a suspend workflow operation. Once we check the state of the instance, a resume operation is executed. To start the workflow, you can run: ```sh curl -X POST "localhost:8080/wfp/suspendresume?orderId=456" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.suspendresume.SuspendResumeWorkflow i.d.s.e.w.WorkflowPatternsRestController : Workflow instance 2de2b968-900a-4f5b-9092-b26aefbfc6b3 started i.d.s.e.w.s.PerformTaskActivity : Starting Activity: io.dapr.springboot.examples.wfp.suspendresume.PerformTaskActivity i.d.s.e.w.s.PerformTaskActivity : Running activity... i.d.s.e.w.s.PerformTaskActivity : Completing activity... io.dapr.workflows.WorkflowContext : Waiting for approval... ``` You should see the Workflow ID that was created, in this example you don't need to remember this id, as you can use the orderId to find the right instance. Let's suspend the workflow instance by sending the following request: ```sh curl -X POST "localhost:8080/wfp/suspendresume/suspend?orderId=456" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` You should see the output of the requests: ```sh SUSPENDED ``` Now, let's resume the workflow instance: To send the event you can run: ```sh curl -X POST "localhost:8080/wfp/suspendresume/resume?orderId=456" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` You should see the output of the requests: ```sh RUNNING ``` Now, let's send the event that the instance is waiting to validate that the workflow complete after being suspended and resumed. To send the event you can run: ```sh curl -X POST "localhost:8080/wfp/suspendresume/continue?orderId=456&decision=true" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` The output of the request contains the output of the workflow based on the `decision` parameter that we sent. ```bash {"approved":true} ``` In the application output you should see, that the workflow instance completed correctly: ```sh i.d.s.e.w.WorkflowPatternsRestController : Workflow instance 2de2b968-900a-4f5b-9092-b26aefbfc6b3 continue io.dapr.workflows.WorkflowContext : approval-event arrived i.d.s.e.w.s.PerformTaskActivity : Starting Activity: io.dapr.springboot.examples.wfp.suspendresume.PerformTaskActivity i.d.s.e.w.s.PerformTaskActivity : Running activity... i.d.s.e.w.s.PerformTaskActivity : Completing activity... ``` ## Testing workflow executions Workflow execution can be tested using Testcontainers and you can find all the tests for the patterns covered in this application [here](src/test/java/io/dapr/springboot4/examples/wfp/TestWorkflowPatternsApplication.java). ================================================ FILE: spring-boot-4-examples/workflows/patterns/body.json ================================================ ["Hello, world!", "The quick brown fox jumps over the lazy dog.", "If a tree falls in the forest and there is no one there to hear it, does it make a sound?", "The greatest glory in living lies not in never falling, but in rising every time we fall.", "Always remember that you are absolutely unique. Just like everyone else."] ================================================ FILE: spring-boot-4-examples/workflows/patterns/pom.xml ================================================ 4.0.0 io.dapr sb4-workflows 1.18.0-SNAPSHOT ../pom.xml sb4-patterns sb4-patterns Spring Boot 4, Testcontainers and Dapr Integration Examples :: Workflows Patterns org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-webmvc org.springframework.boot spring-boot-starter-restclient org.springframework.boot spring-boot-starter-webmvc-test test io.dapr.spring dapr-spring-boot-4-starter io.dapr.spring dapr-spring-boot-4-starter-test test io.github.microcks microcks-testcontainers test org.testcontainers testcontainers-postgresql 2.0.1 test org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/WorkflowPatternsApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class WorkflowPatternsApplication { public static void main(String[] args) { SpringApplication.run(WorkflowPatternsApplication.class, args); } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/WorkflowPatternsConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.springboot4.examples.wfp.continueasnew.CleanUpLog; import org.springframework.boot.restclient.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; @Configuration public class WorkflowPatternsConfiguration { @Bean public CleanUpLog cleanUpLog(){ return new CleanUpLog(); } @Bean public RestTemplate restTemplate() { return new RestTemplateBuilder().build(); } @Bean public ObjectMapper mapper() { return new ObjectMapper(); } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/WorkflowPatternsRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import io.dapr.springboot4.examples.wfp.chain.ChainWorkflow; import io.dapr.springboot4.examples.wfp.child.ParentWorkflow; import io.dapr.springboot4.examples.wfp.continueasnew.CleanUpLog; import io.dapr.springboot4.examples.wfp.continueasnew.ContinueAsNewWorkflow; import io.dapr.springboot4.examples.wfp.externalevent.Decision; import io.dapr.springboot4.examples.wfp.externalevent.ExternalEventWorkflow; import io.dapr.springboot4.examples.wfp.fanoutin.FanOutInWorkflow; import io.dapr.springboot4.examples.wfp.fanoutin.Result; import io.dapr.springboot4.examples.wfp.remoteendpoint.Payload; import io.dapr.springboot4.examples.wfp.remoteendpoint.RemoteEndpointWorkflow; import io.dapr.springboot4.examples.wfp.timer.DurationTimerWorkflow; import io.dapr.springboot4.examples.wfp.timer.ZonedDateTimeTimerWorkflow; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.time.Duration; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeoutException; @RestController @EnableDaprWorkflows public class WorkflowPatternsRestController { private final Logger logger = LoggerFactory.getLogger(WorkflowPatternsRestController.class); @Autowired private DaprWorkflowClient daprWorkflowClient; @Autowired private CleanUpLog cleanUpLog; private Map ordersToApprove = new HashMap<>(); /** * Run Chain Demo Workflow * @return the output of the ChainWorkflow execution */ @PostMapping("wfp/chain") public String chain() throws TimeoutException { String instanceId = daprWorkflowClient.scheduleNewWorkflow(ChainWorkflow.class); logger.info("Workflow instance " + instanceId + " started"); return daprWorkflowClient .waitForWorkflowCompletion(instanceId, Duration.ofSeconds(10), true) .readOutputAs(String.class); } /** * Run Child Demo Workflow * @return confirmation that the workflow instance was created for the workflow pattern child */ @PostMapping("wfp/child") public String child() throws TimeoutException { String instanceId = daprWorkflowClient.scheduleNewWorkflow(ParentWorkflow.class); logger.info("Workflow instance " + instanceId + " started"); return daprWorkflowClient .waitForWorkflowCompletion(instanceId, Duration.ofSeconds(10), true) .readOutputAs(String.class); } /** * Run Fan Out/in Demo Workflow * @return confirmation that the workflow instance was created for the workflow pattern faninout */ @PostMapping("wfp/fanoutin") public Result fanOutIn(@RequestBody List listOfStrings) throws TimeoutException { String instanceId = daprWorkflowClient.scheduleNewWorkflow(FanOutInWorkflow.class, listOfStrings); logger.info("Workflow instance " + instanceId + " started"); // Block until the orchestration completes. Then print the final status, which includes the output. WorkflowState workflowState = daprWorkflowClient.waitForWorkflowCompletion( instanceId, Duration.ofSeconds(30), true); logger.info("workflow instance with ID: %s completed with result: %s%n", instanceId, workflowState.readOutputAs(Result.class)); return workflowState.readOutputAs(Result.class); } /** * Run External Event Workflow Pattern * @return confirmation that the workflow instance was created for the workflow pattern externalevent */ @PostMapping("wfp/externalevent") public String externalEvent(@RequestParam("orderId") String orderId) { String instanceId = daprWorkflowClient.scheduleNewWorkflow(ExternalEventWorkflow.class); ordersToApprove.put(orderId, instanceId); logger.info("Workflow instance " + instanceId + " started"); return instanceId; } @PostMapping("wfp/externalevent-continue") public Decision externalEventContinue(@RequestParam("orderId") String orderId, @RequestParam("decision") Boolean decision) throws TimeoutException { String instanceId = ordersToApprove.get(orderId); logger.info("Workflow instance " + instanceId + " continue"); daprWorkflowClient.raiseEvent(instanceId, "Approval", decision); WorkflowState workflowInstanceStatus = daprWorkflowClient .waitForWorkflowCompletion(instanceId, null, true); return workflowInstanceStatus.readOutputAs(Decision.class); } @PostMapping("wfp/continueasnew") public CleanUpLog continueAsNew() throws TimeoutException { cleanUpLog.clearLog(); String instanceId = daprWorkflowClient.scheduleNewWorkflow(ContinueAsNewWorkflow.class); logger.info("Workflow instance " + instanceId + " started"); WorkflowState workflowInstanceStatus = daprWorkflowClient.waitForWorkflowCompletion(instanceId, null, true); System.out.printf("workflow instance with ID: %s completed.", instanceId); return workflowInstanceStatus.readOutputAs(CleanUpLog.class); } @PostMapping("wfp/remote-endpoint") public Payload remoteEndpoint(@RequestBody Payload payload) throws TimeoutException { String instanceId = daprWorkflowClient.scheduleNewWorkflow(RemoteEndpointWorkflow.class, payload); logger.info("Workflow instance " + instanceId + " started"); WorkflowState workflowInstanceStatus = daprWorkflowClient .waitForWorkflowCompletion(instanceId, null, true); System.out.printf("workflow instance with ID: %s completed.", instanceId); return workflowInstanceStatus.readOutputAs(Payload.class); } @PostMapping("wfp/suspendresume") public String suspendResume(@RequestParam("orderId") String orderId) { String instanceId = daprWorkflowClient.scheduleNewWorkflow(ExternalEventWorkflow.class); logger.info("Workflow instance " + instanceId + " started"); ordersToApprove.put(orderId, instanceId); return instanceId; } @PostMapping("wfp/suspendresume/suspend") public String suspendResumeExecuteSuspend(@RequestParam("orderId") String orderId) { String instanceId = ordersToApprove.get(orderId); daprWorkflowClient.suspendWorkflow(instanceId, "testing suspend"); WorkflowState instanceState = daprWorkflowClient.getWorkflowState(instanceId, false); return instanceState.getRuntimeStatus().name(); } @PostMapping("wfp/suspendresume/resume") public String suspendResumeExecuteResume(@RequestParam("orderId") String orderId) { String instanceId = ordersToApprove.get(orderId); daprWorkflowClient.resumeWorkflow(instanceId, "testing resume"); WorkflowState instanceState = daprWorkflowClient.getWorkflowState(instanceId, false); return instanceState.getRuntimeStatus().name(); } @PostMapping("wfp/suspendresume/continue") public Decision suspendResumeContinue(@RequestParam("orderId") String orderId, @RequestParam("decision") Boolean decision) throws TimeoutException { String instanceId = ordersToApprove.get(orderId); logger.info("Workflow instance " + instanceId + " continue"); daprWorkflowClient.raiseEvent(instanceId, "Approval", decision); WorkflowState workflowInstanceStatus = daprWorkflowClient .waitForWorkflowCompletion(instanceId, null, true); return workflowInstanceStatus.readOutputAs(Decision.class); } @PostMapping("wfp/durationtimer") public String durationTimerWorkflow() { return daprWorkflowClient.scheduleNewWorkflow(DurationTimerWorkflow.class); } @PostMapping("wfp/zoneddatetimetimer") public String zonedDateTimeTimerWorkflow() { return daprWorkflowClient.scheduleNewWorkflow(ZonedDateTimeTimerWorkflow.class); } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/chain/ChainWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.chain; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; @Component public class ChainWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); String result = ""; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "Tokyo", String.class).await() + ", "; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "London", String.class).await() + ", "; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "Seattle", String.class).await(); ctx.getLogger().info("Workflow finished with result: " + result); ctx.complete(result); }; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/chain/ToUpperCaseActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.chain; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class ToUpperCaseActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ToUpperCaseActivity.class); logger.info("Starting Activity: " + ctx.getName()); var message = ctx.getInput(String.class); var newMessage = message.toUpperCase(); logger.info("Message Received from input: " + message); logger.info("Sending message to output: " + newMessage); return newMessage; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/child/ChildWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.child; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; @Component public class ChildWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting ChildWorkflow: " + ctx.getName()); var childWorkflowInput = ctx.getInput(String.class); ctx.getLogger().info("ChildWorkflow received input: " + childWorkflowInput); ctx.getLogger().info("ChildWorkflow is calling Activity: " + ReverseActivity.class.getName()); String result = ctx.callActivity(ReverseActivity.class.getName(), childWorkflowInput, String.class).await(); ctx.getLogger().info("ChildWorkflow finished with: " + result); ctx.complete(result); }; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/child/ParentWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.child; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; @Component public class ParentWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); var childWorkflowInput = "Hello Dapr Workflow!"; ctx.getLogger().info("calling childworkflow with input: " + childWorkflowInput); var childWorkflowOutput = ctx.callChildWorkflow(ChildWorkflow.class.getName(), childWorkflowInput, String.class).await(); ctx.getLogger().info("childworkflow finished with: " + childWorkflowOutput); ctx.complete(childWorkflowOutput); }; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/child/ReverseActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.child; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class ReverseActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ReverseActivity.class); logger.info("Starting Activity: " + ctx.getName()); var message = ctx.getInput(String.class); var newMessage = new StringBuilder(message).reverse().toString(); logger.info("Message Received from input: " + message); logger.info("Sending message to output: " + newMessage); return newMessage; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/continueasnew/CleanUpActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.continueasnew; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.util.concurrent.TimeUnit; @Component public class CleanUpActivity implements WorkflowActivity { @Autowired private CleanUpLog cleanUpLog; @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(CleanUpActivity.class); logger.info("Starting Activity: " + ctx.getName()); LocalDateTime now = LocalDateTime.now(); String cleanUpTimeString = now.getHour() + ":" + now.getMinute() + ":" + now.getSecond(); logger.info("start clean up work, it may take few seconds to finish... Time:" + cleanUpTimeString); //Sleeping for 2 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { throw new RuntimeException(e); } cleanUpLog.increment(); return "clean up finish."; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/continueasnew/CleanUpLog.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.continueasnew; public class CleanUpLog { private Integer cleanUpTimes = 0; public CleanUpLog() { } public void increment() { this.cleanUpTimes += 1; } public Integer getCleanUpTimes() { return cleanUpTimes; } public void clearLog(){ this.cleanUpTimes = 0; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/continueasnew/ContinueAsNewWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.continueasnew; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.time.Duration; @Component public class ContinueAsNewWorkflow implements Workflow { /* Compared with a CRON schedule, this periodic workflow example will never overlap. For example, a CRON schedule that executes a cleanup every hour will execute it at 1:00, 2:00, 3:00 etc. and could potentially run into overlap issues if the cleanup takes longer than an hour. In this example, however, if the cleanup takes 30 minutes, and we create a timer for 1 hour between cleanups, then it will be scheduled at 1:00, 2:30, 4:00, etc. and there is no chance of overlap. */ @Autowired private CleanUpLog cleanUpLog; @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); ctx.getLogger().info("call CleanUpActivity to do the clean up"); ctx.callActivity(CleanUpActivity.class.getName(), cleanUpLog).await(); ctx.getLogger().info("CleanUpActivity finished"); ctx.getLogger().info("wait 5 seconds for next clean up"); ctx.createTimer(Duration.ofSeconds(3)).await(); if(cleanUpLog.getCleanUpTimes() < 5) { // continue the workflow. ctx.getLogger().info("Let's do more cleaning."); ctx.continueAsNew(null); } else{ ctx.getLogger().info("We did enough cleaning"); ctx.complete(cleanUpLog); } }; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/ApproveActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.externalevent; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; @Component public class ApproveActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ApproveActivity.class); logger.info("Starting Activity: " + ctx.getName()); logger.info("Running approval activity..."); //Sleeping for 5 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } return new Decision(true); } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/Decision.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.externalevent; public class Decision { private Boolean approved; public Decision() { } public Decision(Boolean approved) { this.approved = approved; } public Boolean getApproved() { return approved; } public void setApproved(Boolean approved) { this.approved = approved; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/DenyActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.externalevent; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; @Component public class DenyActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(DenyActivity.class); logger.info("Starting Activity: " + ctx.getName()); logger.info("Running denied activity..."); //Sleeping for 5 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } return new Decision(false); } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/externalevent/ExternalEventWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.externalevent; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; @Component public class ExternalEventWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); ctx.getLogger().info("Waiting for approval..."); Boolean approved = ctx.waitForExternalEvent("Approval", boolean.class).await(); Decision decision = null; if (approved) { ctx.getLogger().info("approval granted - do the approved action"); decision = ctx.callActivity(ApproveActivity.class.getName(), Decision.class).await(); ctx.getLogger().info("approval-activity finished"); } else { ctx.getLogger().info("approval denied - send a notification"); decision = ctx.callActivity(DenyActivity.class.getName(), Decision.class).await(); ctx.getLogger().info("denied-activity finished"); } ctx.complete(decision); }; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/fanoutin/CountWordsActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.fanoutin; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.StringTokenizer; @Component public class CountWordsActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(CountWordsActivity.class); logger.info("Starting Activity: {}", ctx.getName()); String input = ctx.getInput(String.class); StringTokenizer tokenizer = new StringTokenizer(input); int result = tokenizer.countTokens(); logger.info("Activity returned: {}.", result); logger.info("Activity finished"); return result; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/fanoutin/FanOutInWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.fanoutin; import io.dapr.durabletask.Task; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; import java.util.List; import java.util.stream.Collectors; @Component public class FanOutInWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); // The input is a list of objects that need to be operated on. // In this example, inputs are expected to be strings. List inputs = ctx.getInput(List.class); // Fan-out to multiple concurrent activity invocations, each of which does a word count. List> tasks = inputs.stream() .map(input -> ctx.callActivity(CountWordsActivity.class.getName(), input.toString(), Integer.class)) .collect(Collectors.toList()); // Fan-in to get the total word count from all the individual activity results. List allWordCountResults = ctx.allOf(tasks).await(); int totalWordCount = allWordCountResults.stream().mapToInt(Integer::intValue).sum(); ctx.getLogger().info("Workflow finished with result: " + totalWordCount); // Save the final result as the orchestration output. ctx.complete(new Result(totalWordCount)); }; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/fanoutin/Result.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.fanoutin; public class Result { private Integer wordCount; public Result() { } public Result(Integer wordCount) { this.wordCount = wordCount; } public Integer getWordCount() { return wordCount; } public void setWordCount(Integer wordCount) { this.wordCount = wordCount; } }; ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/remoteendpoint/CallRemoteEndpointActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.remoteendpoint; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; @Component public class CallRemoteEndpointActivity implements WorkflowActivity { private Logger logger = LoggerFactory.getLogger(CallRemoteEndpointActivity.class); @Value("${application.process-base-url:}") private String processBaseURL; @Autowired private RestTemplate restTemplate; @Override public Object run(WorkflowActivityContext ctx) { logger.info("Starting Activity: " + ctx.getName()); var payload = ctx.getInput(Payload.class); HttpEntity request = new HttpEntity<>(payload); payload = restTemplate.postForObject(processBaseURL + "/process", request, Payload.class); logger.info("Payload from the remote service: " + payload); return payload; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/remoteendpoint/Payload.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.remoteendpoint; public class Payload { private String id; private String content; private Boolean processed = false; public Payload(String id, String content) { this.id = id; this.content = content; } public Payload() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public Boolean getProcessed() { return processed; } public void setProcessed(Boolean processed) { this.processed = processed; } @Override public String toString() { return "Payload{" + "id='" + id + '\'' + ", content='" + content + '\'' + ", processed=" + processed + '}'; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/remoteendpoint/RemoteEndpointWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.remoteendpoint; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; import io.dapr.workflows.WorkflowTaskRetryPolicy; import org.springframework.stereotype.Component; import java.time.Duration; @Component public class RemoteEndpointWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); Payload payload = ctx.getInput(Payload.class); payload = ctx.callActivity(CallRemoteEndpointActivity.class.getName(), payload , new WorkflowTaskOptions(new WorkflowTaskRetryPolicy(5, Duration.ofSeconds(2), 1.0, Duration.ofSeconds(10), Duration.ofSeconds(20))), Payload.class).await(); ctx.getLogger().info("Workflow finished with result: " + payload); ctx.complete(payload); }; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/suspendresume/PerformTaskActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.suspendresume; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; @Component public class PerformTaskActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(PerformTaskActivity.class); logger.info("Starting Activity: " + ctx.getName()); logger.info("Running activity..."); //Sleeping for 5 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } logger.info("Completing activity..."); return "OK"; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/suspendresume/SuspendResumeWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.suspendresume; import io.dapr.springboot4.examples.wfp.externalevent.Decision; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; @Component public class SuspendResumeWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); ctx.callActivity(PerformTaskActivity.class.getName(), String.class).await(); ctx.getLogger().info("Waiting for approval..."); Boolean approved = ctx.waitForExternalEvent("Approval", boolean.class).await(); ctx.getLogger().info("approval-event arrived"); ctx.callActivity(PerformTaskActivity.class.getName(), String.class).await(); ctx.complete(new Decision(approved)); }; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/DurationTimerWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.timer; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; import java.time.Duration; import java.util.Date; @Component public class DurationTimerWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: {}, instanceId: {}", ctx.getName(), ctx.getInstanceId()); ctx.getLogger().info("Let's call the first LogActivity at {}", new Date()); ctx.callActivity(LogActivity.class.getName()).await(); ctx.getLogger().info("Let's schedule a 10 seconds timer at {}", new Date()); ctx.createTimer(Duration.ofSeconds(10)).await(); ctx.getLogger().info("Let's call the second LogActivity at {}", new Date()); ctx.callActivity(LogActivity.class.getName()).await(); ctx.complete(true); ctx.getLogger().info("Workflow completed at {}", new Date()); }; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/LogActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.timer; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.Date; @Component public class LogActivity implements WorkflowActivity { @Autowired private TimerLogService logService; @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(LogActivity.class); Date now = new Date(); logger.info("Running Activity: {} at {}", ctx.getName(), now); logService.logDate(now); return true; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/TimerLogService.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.timer; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.Date; import java.util.List; @Component public class TimerLogService { private final List logDates = new ArrayList<>(); public void logDate(Date date){ logDates.add(date); } public void clearLog(){ logDates.clear(); } public List getLogDates(){ return logDates; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/java/io/dapr/springboot4/examples/wfp/timer/ZonedDateTimeTimerWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp.timer; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; import java.time.ZonedDateTime; import java.util.Date; @Component public class ZonedDateTimeTimerWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: {}, instanceId: {}", ctx.getName(), ctx.getInstanceId()); ctx.getLogger().info("Let's call the first LogActivity at {}", new Date()); ctx.callActivity(LogActivity.class.getName()).await(); ZonedDateTime now = ZonedDateTime.now(); //Let's create a ZonedDateTime 10 seconds in the future ZonedDateTime inTheFuture = now.plusSeconds(10); ctx.getLogger().info("Creating a timer that due {} at: {}", inTheFuture, new Date()); ctx.createTimer(inTheFuture).await(); ctx.getLogger().info("The timer fired at: {}", new Date()); ctx.getLogger().info("Let's call the second LogActivity at {}", new Date()); ctx.callActivity(LogActivity.class.getName()).await(); ctx.complete(true); ctx.getLogger().info("Workflow completed at {}", new Date()); }; } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/main/resources/application.properties ================================================ spring.application.name=workflow-patterns-app ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/test/java/io/dapr/springboot4/examples/wfp/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.WorkflowDashboardContainer; import io.github.microcks.testcontainers.MicrocksContainersEnsemble; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.springframework.test.context.DynamicPropertyRegistrar; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import org.testcontainers.postgresql.PostgreSQLContainer; import org.testcontainers.utility.DockerImageName; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; /** * Test configuration for Dapr containers with debug logging enabled. * * This configuration sets up Dapr with DEBUG log level and console output * for detailed logging during test execution. * * ADDITIONAL DEBUGGING: For even more detailed logs, you can also: * 1. Run `docker ps` to find the Dapr container ID * 2. Run `docker logs --follow ` to stream real-time logs */ @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { Map postgreSQLDetails = new HashMap<>(); {{ postgreSQLDetails.put("host", "postgresql"); postgreSQLDetails.put("user", "postgres"); postgreSQLDetails.put("password", "postgres"); postgreSQLDetails.put("database", "dapr"); postgreSQLDetails.put("port", "5432"); postgreSQLDetails.put("actorStateStore", String.valueOf(true)); }} private Component stateStoreComponent = new Component("kvstore", "state.postgresql", "v2", postgreSQLDetails); @Bean @ServiceConnection public DaprContainer daprContainer(Network network, PostgreSQLContainer postgreSQLContainer) { return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("workflow-patterns-app") .withComponent(stateStoreComponent) .withAppPort(8080) .withNetwork(network) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(postgreSQLContainer); } @Bean public PostgreSQLContainer postgreSQLContainer(Network network) { return new PostgreSQLContainer(DockerImageName.parse("postgres")) .withNetworkAliases("postgresql") .withDatabaseName("dapr") .withUsername("postgres") .withPassword("postgres") .withNetwork(network); } @Bean MicrocksContainersEnsemble microcksEnsemble(Network network) { return new MicrocksContainersEnsemble(network, "quay.io/microcks/microcks-uber:1.11.2") .withAccessToHost(true) // We need this to access our webapp while it runs .withMainArtifacts("third-parties/remote-http-service.yaml"); } @Bean public WorkflowDashboardContainer workflowDashboard(Network network) { return new WorkflowDashboardContainer(WorkflowDashboardContainer.getDefaultImageName()) .withNetwork(network) .withStateStoreComponent(stateStoreComponent) .withExposedPorts(8080); } @Bean public DynamicPropertyRegistrar endpointsProperties(MicrocksContainersEnsemble ensemble) { // We need to replace the default endpoints with those provided by Microcks. return (properties) -> { properties.add("application.process-base-url", () -> ensemble.getMicrocksContainer() .getRestMockEndpoint("API Payload Processor", "1.0.0")); }; } @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/test/java/io/dapr/springboot4/examples/wfp/TestWorkflowPatternsApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp; import io.dapr.springboot4.examples.wfp.WorkflowPatternsApplication; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkflowPatternsApplication { public static void main(String[] args) { SpringApplication.from(WorkflowPatternsApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8080); } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/test/java/io/dapr/springboot4/examples/wfp/WorkflowPatternsAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot4.examples.wfp; import io.dapr.springboot.DaprAutoConfiguration; import io.dapr.springboot4.examples.wfp.continueasnew.CleanUpLog; import io.dapr.springboot4.examples.wfp.externalevent.Decision; import io.dapr.springboot4.examples.wfp.fanoutin.Result; import io.dapr.springboot4.examples.wfp.remoteendpoint.Payload; import io.dapr.springboot4.examples.wfp.timer.TimerLogService; import io.dapr.workflows.client.WorkflowRuntimeStatus; import io.github.microcks.testcontainers.MicrocksContainersEnsemble; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.client.RestTestClient; import java.time.Duration; import java.util.Arrays; import java.util.List; import java.util.concurrent.TimeUnit; import static org.awaitility.Awaitility.await; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; /** * Integration tests for Dapr Workflow Patterns. * * DEBUGGING: For more detailed logs during test execution, you can: * 1. Run `docker ps` to find the Dapr container ID * 2. Run `docker logs --follow ` to stream real-time logs * 3. The container name will typically be something like "dapr-workflow-patterns-app-" * * Example: * ```bash * docker ps | grep dapr * docker logs --follow * ``` * * This will show you detailed Dapr runtime logs including workflow execution, * state transitions, and component interactions. */ @SpringBootTest(classes = {TestWorkflowPatternsApplication.class, DaprTestContainersConfig.class, DaprAutoConfiguration.class, }, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) class WorkflowPatternsAppIT { @Autowired private MicrocksContainersEnsemble ensemble; @Autowired private TimerLogService logService; @LocalServerPort private int port; private RestTestClient client; @BeforeEach void setUp() { client = RestTestClient.bindToServer() .baseUrl("http://localhost:" + port) .build(); org.testcontainers.Testcontainers.exposeHostPorts(8080); logService.clearLog(); } @Test void testChainWorkflow() { String result = client.post() .uri("/wfp/chain") .contentType(MediaType.APPLICATION_JSON) .body("") .exchange() .expectStatus().isOk() .returnResult(String.class) .getResponseBody(); assertNotNull(result); assertTrue(result.contains("TOKYO, LONDON, SEATTLE")); } @Test void testChildWorkflow() { String result = client.post() .uri("/wfp/child") .contentType(MediaType.APPLICATION_JSON) .body("") .exchange() .expectStatus().isOk() .returnResult(String.class) .getResponseBody(); assertNotNull(result); assertTrue(result.contains("!wolfkroW rpaD olleH")); } @Test void testFanOutIn() { List listOfStrings = Arrays.asList( "Hello, world!", "The quick brown fox jumps over the lazy dog.", "If a tree falls in the forest and there is no one there to hear it, does it make a sound?", "The greatest glory in living lies not in never falling, but in rising every time we fall.", "Always remember that you are absolutely unique. Just like everyone else."); Result result = client.post() .uri("/wfp/fanoutin") .contentType(MediaType.APPLICATION_JSON) .body(listOfStrings) .exchange() .expectStatus().isOk() .returnResult(Result.class) .getResponseBody(); assertNotNull(result); assertEquals(60, result.getWordCount()); } @Test void testExternalEventApprove() { String instanceId = client.post() .uri(uriBuilder -> uriBuilder .path("/wfp/externalevent") .queryParam("orderId", "123") .build()) .exchange() .expectStatus().isOk() .returnResult(String.class) .getResponseBody(); assertNotNull(instanceId); Decision decision = client.post() .uri(uriBuilder -> uriBuilder .path("/wfp/externalevent-continue") .queryParam("orderId", "123") .queryParam("decision", true) .build()) .exchange() .expectStatus().isOk() .returnResult(Decision.class) .getResponseBody(); assertNotNull(decision); assertTrue(decision.getApproved()); } @Test void testExternalEventDeny() { String instanceId = client.post() .uri(uriBuilder -> uriBuilder .path("/wfp/externalevent") .queryParam("orderId", "123") .build()) .exchange() .expectStatus().isOk() .returnResult(String.class) .getResponseBody(); assertNotNull(instanceId); Decision decision = client.post() .uri(uriBuilder -> uriBuilder .path("/wfp/externalevent-continue") .queryParam("orderId", "123") .queryParam("decision", false) .build()) .exchange() .expectStatus().isOk() .returnResult(Decision.class) .getResponseBody(); assertNotNull(decision); assertEquals(false, decision.getApproved()); } /** * Tests the ContinueAsNew workflow pattern. * * The ContinueAsNew pattern should execute cleanup activities 5 times * with 5-second intervals between each iteration. */ @Test void testContinueAsNew() { //This call blocks until all the clean up activities are executed CleanUpLog cleanUpLog = client.post() .uri("/wfp/continueasnew") .contentType(MediaType.APPLICATION_JSON) .body("") .exchange() .expectStatus().isOk() .returnResult(CleanUpLog.class) .getResponseBody(); assertNotNull(cleanUpLog); assertEquals(5, cleanUpLog.getCleanUpTimes()); } @Test void testRemoteEndpoint() { Payload payload = client.post() .uri("/wfp/remote-endpoint") .contentType(MediaType.APPLICATION_JSON) .body(new Payload("123", "content goes here")) .exchange() .expectStatus().isOk() .returnResult(Payload.class) .getResponseBody(); assertNotNull(payload); assertTrue(payload.getProcessed()); assertEquals(2, ensemble.getMicrocksContainer() .getServiceInvocationsCount("API Payload Processor", "1.0.0")); } @Test void testSuspendResume() { String instanceId = client.post() .uri(uriBuilder -> uriBuilder .path("/wfp/suspendresume") .queryParam("orderId", "123") .build()) .exchange() .expectStatus().isOk() .returnResult(String.class) .getResponseBody(); assertNotNull(instanceId); // The workflow is waiting on an event, let's suspend the workflow String state = client.post() .uri(uriBuilder -> uriBuilder .path("/wfp/suspendresume/suspend") .queryParam("orderId", "123") .build()) .exchange() .expectStatus().isOk() .returnResult(String.class) .getResponseBody(); assertEquals(WorkflowRuntimeStatus.SUSPENDED.name(), state); // The let's resume the suspended workflow and check the state state = client.post() .uri(uriBuilder -> uriBuilder .path("/wfp/suspendresume/resume") .queryParam("orderId", "123") .build()) .exchange() .expectStatus().isOk() .returnResult(String.class) .getResponseBody(); assertEquals(WorkflowRuntimeStatus.RUNNING.name(), state); // Now complete the workflow by sending an event Decision decision = client.post() .uri(uriBuilder -> uriBuilder .path("/wfp/suspendresume/continue") .queryParam("orderId", "123") .queryParam("decision", false) .build()) .exchange() .expectStatus().isOk() .returnResult(Decision.class) .getResponseBody(); assertNotNull(decision); assertEquals(false, decision.getApproved()); } @Test void testDurationTimer() throws InterruptedException { String instanceId = client.post() .uri("/wfp/durationtimer") .exchange() .expectStatus().isOk() .returnResult(String.class) .getResponseBody(); assertNotNull(instanceId); // Check that the workflow completed successfully await().atMost(Duration.ofSeconds(30)) .pollDelay(500, TimeUnit.MILLISECONDS) .pollInterval(500, TimeUnit.MILLISECONDS) .until(() -> { System.out.println("Log Size: " + logService.getLogDates().size()); if( logService.getLogDates().size() == 2 ) { long diffInMillis = Math.abs(logService.getLogDates().get(1).getTime() - logService.getLogDates().get(0).getTime()); long diff = TimeUnit.SECONDS.convert(diffInMillis, TimeUnit.MILLISECONDS); System.out.println("First Log at: " + logService.getLogDates().get(0)); System.out.println("Second Log at: " + logService.getLogDates().get(1)); System.out.println("Diff in seconds: " + diff); // The updated time differences should be between 9 and 11 seconds return diff >= 9 && diff <= 11; } return false; }); } @Test void testZonedDateTimeTimer() throws InterruptedException { String instanceId = client.post() .uri("/wfp/zoneddatetimetimer") .exchange() .expectStatus().isOk() .returnResult(String.class) .getResponseBody(); assertNotNull(instanceId); // Check that the workflow completed successfully await().atMost(Duration.ofSeconds(30)) .pollDelay(500, TimeUnit.MILLISECONDS) .pollInterval(500, TimeUnit.MILLISECONDS) .until(() -> { System.out.println("Log Size: " + logService.getLogDates().size()); if( logService.getLogDates().size() == 2 ) { long diffInMillis = Math.abs(logService.getLogDates().get(1).getTime() - logService.getLogDates().get(0).getTime()); long diff = TimeUnit.SECONDS.convert(diffInMillis, TimeUnit.MILLISECONDS); System.out.println("First Log at: " + logService.getLogDates().get(0)); System.out.println("Second Log at: " + logService.getLogDates().get(1)); System.out.println("Diff in seconds: " + diff); // The updated time differences should be between 9 and 11 seconds return diff >= 9 && diff <= 11; } return false; }); } } ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/test/resources/application.properties ================================================ spring.application.name=workflow-patterns-app ================================================ FILE: spring-boot-4-examples/workflows/patterns/src/test/resources/third-parties/remote-http-service.yaml ================================================ --- openapi: 3.0.2 info: title: API Payload Processor version: 1.0.0 description: API definition of API Payload Processor sample app contact: name: Salaboy url: http://github.com/salaboy email: salaboy@gmail.com license: name: MIT License url: https://opensource.org/licenses/MIT paths: /process: summary: Process payload post: tags: - process x-microcks-operation: dispatcher: SCRIPT dispatcherRules: | def retries = store.get("retries") ?:"first" if (retries == "first") { store.put("retries", "second", 60) return "Error" } store.delete("retries") return "Payload" requestBody: content: application/json: schema: $ref: '#/components/schemas/Payload' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Payload' examples: Payload: value: id: 123 content: payload content here processed: true description: Process payload "500": content: application/json: schema: type: object properties: message: type: string description: Error message examples: Error: value: message: Something unexpected happened description: Error payload operationId: Process summary: Process incoming payload components: schemas: Payload: title: Payload to be processed description: Payload to be processed following the Payload type's schema. type: object properties: id: description: Payload Id type: string content: description: Payload Content type: string processed: description: Is the Payload processed type: boolean required: - id - content additionalProperties: false tags: - name: payload description: Payload resource ================================================ FILE: spring-boot-4-examples/workflows/pom.xml ================================================ 4.0.0 io.dapr spring-boot-4-examples 1.18.0-SNAPSHOT ../pom.xml sb4-workflows pom true patterns multi-app org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-4-examples/workflows/spotbugs-exclude.xml ================================================ ================================================ FILE: spring-boot-4-sdk-tests/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml spring-boot-4-sdk-tests 17 17 17 true ${project.build.directory}/generated-sources ${project.basedir}/proto 4.0.5 6.0.2 0% org.springframework.boot spring-boot-dependencies ${springboot4.version} pom import org.springframework.boot spring-boot-starter-web test org.springframework.boot spring-boot-starter-test test io.dapr dapr-sdk test io.dapr dapr-sdk-actors test io.dapr dapr-sdk-workflows test io.dapr testcontainers-dapr test io.dapr.spring dapr-spring-boot-4-starter test io.dapr.spring dapr-spring-boot-4-starter-test test org.testcontainers junit-jupiter org.wiremock wiremock-standalone test org.jacoco jacoco-maven-plugin ${jacoco-maven-plugin.version} default-prepare-agent prepare-agent report test report target/jacoco-report/ check check BUNDLE LINE COVEREDRATIO ${jacoco-maven-plugin.coverage-ratio} org.xolstice.maven.plugins protobuf-maven-plugin ${protobuf-maven-plugin.version} com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier} grpc-java io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier} ${protobuf.input.directory} compile compile-custom org.apache.maven.plugins maven-jar-plugin ${maven-jar-plugin.version} test-jar org.apache.maven.plugins maven-failsafe-plugin ${failsafe.version} ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/ContainerConstants.java ================================================ package io.dapr.it.springboot4.testcontainers; import io.dapr.testcontainers.DaprContainerConstants; public interface ContainerConstants { String DAPR_RUNTIME_IMAGE_TAG = DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; String DAPR_PLACEMENT_IMAGE_TAG = DaprContainerConstants.DAPR_PLACEMENT_IMAGE_TAG; String DAPR_SCHEDULER_IMAGE_TAG = DaprContainerConstants.DAPR_SCHEDULER_IMAGE_TAG; String TOXI_PROXY_IMAGE_TAG = "ghcr.io/shopify/toxiproxy:2.5.0"; String JDK_17_TEMURIN_JAMMY = "eclipse-temurin:17-jdk-jammy"; } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/DaprClientConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.config.Properties; import io.dapr.config.Property; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Map; @Configuration public class DaprClientConfiguration { @Bean public DaprClient daprClient( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map, String> overrides = Map.of( Properties.HTTP_ENDPOINT, daprHttpEndpoint, Properties.GRPC_ENDPOINT, daprGrpcEndpoint ); return new DaprClientBuilder().withPropertyOverrides(overrides).build(); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/DaprClientFactory.java ================================================ package io.dapr.it.springboot4.testcontainers; import io.dapr.client.DaprClientBuilder; import io.dapr.config.Properties; import io.dapr.testcontainers.DaprContainer; public interface DaprClientFactory { static DaprClientBuilder createDaprClientBuilder(DaprContainer daprContainer) { return new DaprClientBuilder() .withPropertyOverride(Properties.HTTP_ENDPOINT, "http://localhost:" + daprContainer.getHttpPort()) .withPropertyOverride(Properties.GRPC_ENDPOINT, "http://localhost:" + daprContainer.getGrpcPort()); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/DaprContainerFactory.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers; import io.dapr.testcontainers.DaprContainer; import java.io.IOException; import java.net.ServerSocket; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; /** * Factory for creating DaprContainer instances configured for Spring Boot integration tests. * *

    This class handles the common setup required for bidirectional communication * between Spring Boot applications and the Dapr sidecar in test scenarios.

    */ public final class DaprContainerFactory { private DaprContainerFactory() { // Utility class } /** * Creates a DaprContainer pre-configured for Spring Boot integration tests. * This factory method handles the common setup required for bidirectional * communication between Spring Boot and the Dapr sidecar: *
      *
    • Allocates a free port for the Spring Boot application
    • *
    • Configures the app channel address for container-to-host communication
    • *
    * * @param appName the Dapr application name * @return a pre-configured DaprContainer for Spring Boot tests */ public static DaprContainer createForSpringBootTest(String appName) { int port = allocateFreePort(); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName(appName) .withAppPort(port) .withAppChannelAddress("host.testcontainers.internal"); } private static int allocateFreePort() { try (ServerSocket socket = new ServerSocket(0)) { socket.setReuseAddress(true); return socket.getLocalPort(); } catch (IOException e) { throw new IllegalStateException("Failed to allocate free port", e); } } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/DaprPreviewClientConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.config.Properties; import io.dapr.config.Property; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Map; @Configuration public class DaprPreviewClientConfiguration { @Bean public DaprPreviewClient daprPreviewClient( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map, String> overrides = Map.of( Properties.HTTP_ENDPOINT, daprHttpEndpoint, Properties.GRPC_ENDPOINT, daprGrpcEndpoint ); return new DaprClientBuilder().withPropertyOverrides(overrides).buildPreviewClient(); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/DaprSidecarContainer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers; import io.dapr.it.springboot4.testcontainers.spring.DaprSpringBootTest; import org.testcontainers.junit.jupiter.Container; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Marks a static field containing a {@link io.dapr.testcontainers.DaprContainer} * for automatic integration with Spring Boot tests. * *

    This annotation combines the Testcontainers {@link Container} annotation * with Dapr-specific configuration. When used with {@link DaprSpringBootTest}, * it automatically:

    *
      *
    • Manages the container lifecycle via Testcontainers
    • *
    • Configures Spring properties (server.port, dapr.http.endpoint, dapr.grpc.endpoint)
    • *
    * *

    Important: For tests that require Dapr-to-app communication (like actor tests), * you must call {@code Testcontainers.exposeHostPorts(container.getAppPort())} * in your {@code @BeforeEach} method before registering actors or making Dapr calls.

    * *

    Example usage:

    *
    {@code
     * @DaprSpringBootTest(classes = MyApplication.class)
     * class MyDaprIT {
     *
     *     @DaprSidecarContainer
     *     private static final DaprContainer DAPR = DaprContainer.createForSpringBootTest("my-app")
     *         .withComponent(new Component("statestore", "state.in-memory", "v1", Map.of()));
     *
     *     @BeforeEach
     *     void setUp() {
     *         Testcontainers.exposeHostPorts(DAPR.getAppPort());
     *     }
     *
     *     @Test
     *     void testSomething() {
     *         // Your test code here
     *     }
     * }
     * }
    * * @see DaprSpringBootTest * @see io.dapr.testcontainers.DaprContainer#createForSpringBootTest(String) */ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) @Container public @interface DaprSidecarContainer { } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/Retry.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers; public class Retry { private Retry() {} public static void callWithRetry(Runnable function, long retryTimeoutMilliseconds) throws InterruptedException { long started = System.currentTimeMillis(); while (true) { Throwable exception; try { function.run(); return; } catch (Exception e) { exception = e; } catch (AssertionError e) { exception = e; } if (System.currentTimeMillis() - started >= retryTimeoutMilliseconds) { throw new RuntimeException(exception); } Thread.sleep(1000); } } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/SubscriptionsRestController.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers; import io.dapr.client.domain.CloudEvent; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @RestController public class SubscriptionsRestController { private final List> events = new ArrayList<>(); @PostMapping(path = "/events", consumes = "application/cloudevents+json") public void receiveEvents(@RequestBody CloudEvent event) { events.add(event); } @GetMapping(path = "/events", produces = "application/cloudevents+json") public List> getAllEvents() { return events; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/TestUtils.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers; import io.dapr.exceptions.DaprErrorDetails; import io.dapr.exceptions.DaprException; import io.dapr.utils.TypeRef; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.function.Executable; public final class TestUtils { private TestUtils() {} public static void assertThrowsDaprException(Class expectedType, Executable executable) { Throwable cause = Assertions.assertThrows(DaprException.class, executable).getCause(); Assertions.assertNotNull(cause); Assertions.assertEquals(expectedType, cause.getClass()); } public static void assertThrowsDaprException(String expectedErrorCode, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertNull(daprException.getCause()); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); } public static void assertThrowsDaprException( String expectedErrorCode, String expectedErrorMessage, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); Assertions.assertEquals(expectedErrorMessage, daprException.getMessage()); } public static void assertThrowsDaprExceptionWithReason( String expectedErrorCode, String expectedErrorMessage, String expectedReason, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); Assertions.assertEquals(expectedErrorMessage, daprException.getMessage()); Assertions.assertNotNull(daprException.getErrorDetails()); Assertions.assertEquals( expectedReason, daprException.getErrorDetails().get( DaprErrorDetails.ErrorDetailType.ERROR_INFO, "reason", TypeRef.STRING )); } public static void assertThrowsDaprExceptionSubstring( String expectedErrorCode, String expectedErrorMessageSubstring, Executable executable) { DaprException daprException = Assertions.assertThrows(DaprException.class, executable); Assertions.assertEquals(expectedErrorCode, daprException.getErrorCode()); Assertions.assertTrue(daprException.getMessage().contains(expectedErrorMessageSubstring)); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/actors/DaprActorsIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.actors; import io.dapr.actors.ActorId; import io.dapr.actors.client.ActorClient; import io.dapr.actors.client.ActorProxyBuilder; import io.dapr.actors.runtime.ActorRuntime; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.it.springboot4.testcontainers.DaprContainerFactory; import io.dapr.it.springboot4.testcontainers.DaprSidecarContainer; import io.dapr.it.springboot4.testcontainers.spring.DaprSpringBootTest; import io.dapr.testcontainers.wait.strategy.DaprWait; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import java.util.Map; import java.util.UUID; import static org.junit.jupiter.api.Assertions.assertEquals; @DaprSpringBootTest(classes = {TestActorsApplication.class, TestDaprActorsConfiguration.class}) @Tag("testcontainers") public class DaprActorsIT { @DaprSidecarContainer private static final DaprContainer DAPR_CONTAINER = DaprContainerFactory.createForSpringBootTest("actor-dapr-app") .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())); @Autowired private ActorClient daprActorClient; @Autowired private ActorRuntime daprActorRuntime; @BeforeEach public void setUp() { org.testcontainers.Testcontainers.exposeHostPorts(DAPR_CONTAINER.getAppPort()); daprActorRuntime.registerActor(TestActorImpl.class); DaprWait.forActors().waitUntilReady(DAPR_CONTAINER); } @Test public void testActors() { ActorProxyBuilder builder = new ActorProxyBuilder<>(TestActor.class, daprActorClient); ActorId actorId = ActorId.createRandom(); TestActor actor = builder.build(actorId); String message = UUID.randomUUID().toString(); String echoedMessage = actor.echo(message); assertEquals(echoedMessage, message); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/actors/TestActor.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.actors; import io.dapr.actors.ActorMethod; import io.dapr.actors.ActorType; @ActorType(name = "TestActor") public interface TestActor { @ActorMethod(name = "echo_message") String echo(String message); } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/actors/TestActorImpl.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.actors; import io.dapr.actors.ActorId; import io.dapr.actors.runtime.AbstractActor; import io.dapr.actors.runtime.ActorRuntimeContext; public class TestActorImpl extends AbstractActor implements TestActor { public TestActorImpl(ActorRuntimeContext runtimeContext, ActorId id) { super(runtimeContext, id); } @Override public String echo(String message) { return message; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/actors/TestActorsApplication.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.actors; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class TestActorsApplication { public static void main(String[] args) { SpringApplication.run(TestActorsApplication.class, args); } //Mocking the actuator health endpoint for the sidecar health check @GetMapping("/actuator/health") public String health(){ return "OK"; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/actors/TestDaprActorsConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.actors; import java.util.Map; import io.dapr.actors.runtime.ActorRuntime; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import io.dapr.actors.client.ActorClient; import io.dapr.config.Properties; @Configuration public class TestDaprActorsConfiguration { @Bean public ActorClient daprActorClient( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map overrides = Map.of( "dapr.http.endpoint", daprHttpEndpoint, "dapr.grpc.endpoint", daprGrpcEndpoint ); return new ActorClient(new Properties(overrides)); } @Bean public ActorRuntime daprActorRuntime( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map overrides = Map.of( "dapr.http.endpoint", daprHttpEndpoint, "dapr.grpc.endpoint", daprGrpcEndpoint ); return ActorRuntime.getInstance(new Properties(overrides)); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/conversations/DaprConversationAlpha2IT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.conversations; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.AssistantMessage; import io.dapr.client.domain.ConversationInputAlpha2; import io.dapr.client.domain.ConversationMessage; import io.dapr.client.domain.ConversationMessageContent; import io.dapr.client.domain.ConversationRequestAlpha2; import io.dapr.client.domain.ConversationResponseAlpha2; import io.dapr.client.domain.ConversationResultAlpha2; import io.dapr.client.domain.ConversationResultChoices; import io.dapr.client.domain.ConversationToolCalls; import io.dapr.client.domain.ConversationToolCallsOfFunction; import io.dapr.client.domain.ConversationTools; import io.dapr.client.domain.ConversationToolsFunction; import io.dapr.client.domain.DeveloperMessage; import io.dapr.client.domain.SystemMessage; import io.dapr.client.domain.ToolMessage; import io.dapr.client.domain.UserMessage; import io.dapr.it.springboot4.testcontainers.DaprPreviewClientConfiguration; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import static io.dapr.it.springboot4.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @SpringBootTest( webEnvironment = WebEnvironment.RANDOM_PORT, classes = { DaprPreviewClientConfiguration.class, TestConversationApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprConversationAlpha2IT { private static final Network DAPR_NETWORK = Network.newNetwork(); private static final Random RANDOM = new Random(); private static final int PORT = RANDOM.nextInt(1000) + 8000; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("conversation-alpha2-dapr-app") .withComponent(new Component("echo", "conversation.echo", "v1", new HashMap<>())) .withNetwork(DAPR_NETWORK) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .withAppPort(PORT); /** * Expose the Dapr port to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); registry.add("server.port", () -> PORT); } @Autowired private DaprPreviewClient daprPreviewClient; @BeforeEach public void setUp() { org.testcontainers.Testcontainers.exposeHostPorts(PORT); } @Test public void testConverseAlpha2WithUserMessage() { // Create a user message UserMessage userMessage = new UserMessage(List.of(new ConversationMessageContent("Hello, how are you?"))); userMessage.setName("TestUser"); // Create input with the message ConversationInputAlpha2 input = new ConversationInputAlpha2(List.of(userMessage)); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertEquals(1, response.getOutputs().size()); ConversationResultAlpha2 result = response.getOutputs().get(0); assertNotNull(result.getChoices()); assertTrue(result.getChoices().size() > 0); ConversationResultChoices choice = result.getChoices().get(0); assertNotNull(choice.getMessage()); assertNotNull(choice.getMessage().getContent()); } @Test public void testConverseAlpha2WithAllMessageTypes() { List messages = new ArrayList<>(); // System message SystemMessage systemMsg = new SystemMessage(List.of(new ConversationMessageContent("You are a helpful assistant."))); systemMsg.setName("system"); messages.add(systemMsg); // User message UserMessage userMsg = new UserMessage(List.of(new ConversationMessageContent("Hello!"))); userMsg.setName("user"); messages.add(userMsg); // Assistant message AssistantMessage assistantMsg = new AssistantMessage(List.of(new ConversationMessageContent("Hi there!")), List.of(new ConversationToolCalls( new ConversationToolCallsOfFunction("get_weather", "{\"location\": \"New York\"}")))); assistantMsg.setName("assistant"); messages.add(assistantMsg); // Tool message ToolMessage toolMsg = new ToolMessage(List.of(new ConversationMessageContent("Weather data: 72F"))); toolMsg.setName("tool"); messages.add(toolMsg); // Developer message DeveloperMessage devMsg = new DeveloperMessage(List.of(new ConversationMessageContent("Debug info"))); devMsg.setName("developer"); messages.add(devMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); } @Test public void testConverseAlpha2WithScrubPII() { // Create a user message with PII UserMessage userMessage = new UserMessage(List.of(new ConversationMessageContent("My email is test@example.com and phone is +1234567890"))); ConversationInputAlpha2 input = new ConversationInputAlpha2(List.of(userMessage)); input.setScrubPii(true); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); request.setScrubPii(true); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); // Verify response structure (actual PII scrubbing depends on echo component implementation) ConversationResultChoices choice = response.getOutputs().get(0).getChoices().get(0); assertNotNull(choice.getMessage()); assertNotNull(choice.getMessage().getContent()); } @Test public void testConverseAlpha2WithTools() { // Create a tool function Map parameters = new HashMap<>(); parameters.put("location", "string"); parameters.put("unit", "celsius"); ConversationToolsFunction function = new ConversationToolsFunction("get_weather", parameters); function.setDescription("Get current weather information"); ConversationTools tool = new ConversationTools(function); // Create user message UserMessage userMessage = new UserMessage(List.of(new ConversationMessageContent("What's the weather like?"))); ConversationInputAlpha2 input = new ConversationInputAlpha2(List.of(userMessage)); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); request.setTools(List.of(tool)); request.setToolChoice("auto"); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); } @Test public void testConverseAlpha2WithMetadataAndParameters() { UserMessage userMessage = new UserMessage(List.of(new ConversationMessageContent("Hello world"))); ConversationInputAlpha2 input = new ConversationInputAlpha2(List.of(userMessage)); // Set metadata and parameters Map metadata = new HashMap<>(); metadata.put("request-id", "test-123"); metadata.put("source", "integration-test"); Map parameters = new HashMap<>(); parameters.put("max_tokens", "1000"); parameters.put("temperature", "0.7"); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); request.setContextId("test-context-123"); request.setTemperature(0.8); request.setMetadata(metadata); request.setParameters(parameters); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); // Verify context ID is handled properly // Note: actual context ID behavior depends on echo component implementation assertNotNull(response.getContextId()); } @Test public void testConverseAlpha2WithAssistantToolCalls() { // Create a tool call ConversationToolCallsOfFunction toolFunction = new ConversationToolCallsOfFunction("get_weather", "{\"location\": \"New York\"}"); ConversationToolCalls toolCall = new ConversationToolCalls(toolFunction); toolCall.setId("call_123"); // Create assistant message with tool calls AssistantMessage assistantMsg = new AssistantMessage(List.of(new ConversationMessageContent("Hi there!")), List.of(new ConversationToolCalls( new ConversationToolCallsOfFunction("get_weather", "{\"location\": \"New York\"}")))); // Note: Current implementation doesn't support setting tool calls in constructor // This tests the structure and ensures no errors occur ConversationInputAlpha2 input = new ConversationInputAlpha2(List.of(assistantMsg)); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); } @Test public void testConverseAlpha2WithComplexScenario() { List messages = new ArrayList<>(); // System message setting context SystemMessage systemMsg = new SystemMessage(List.of(new ConversationMessageContent("You are a helpful weather assistant."))); systemMsg.setName("WeatherBot"); messages.add(systemMsg); // User asking for weather UserMessage userMsg = new UserMessage(List.of(new ConversationMessageContent("What's the weather in San Francisco?"))); userMsg.setName("User123"); messages.add(userMsg); // Assistant response AssistantMessage assistantMsg = new AssistantMessage(List.of(new ConversationMessageContent("Hi there!")), List.of(new ConversationToolCalls( new ConversationToolCallsOfFunction("get_weather", "{\"location\": \"New York\"}")))); assistantMsg.setName("WeatherBot"); messages.add(assistantMsg); // Tool response ToolMessage toolMsg = new ToolMessage(List.of(new ConversationMessageContent("{\"temperature\": \"68F\", \"condition\": \"sunny\"}"))); toolMsg.setName("weather_api"); messages.add(toolMsg); ConversationInputAlpha2 input = new ConversationInputAlpha2(messages); input.setScrubPii(false); // Create tools Map functionParams = new HashMap<>(); functionParams.put("location", "string"); functionParams.put("unit", "fahrenheit"); ConversationToolsFunction weatherFunction = new ConversationToolsFunction("get_current_weather", functionParams); weatherFunction.setDescription("Get current weather for a location"); ConversationTools weatherTool = new ConversationTools(weatherFunction); // Set up complete request Map metadata = new HashMap<>(); metadata.put("conversation-type", "weather-query"); metadata.put("user-session", "session-456"); Map parameters = new HashMap<>(); parameters.put("max_tokens", "2000"); parameters.put("response_format", "json"); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", List.of(input)); request.setContextId("weather-conversation-789"); request.setTemperature(0.7); request.setScrubPii(false); request.setTools(List.of(weatherTool)); request.setToolChoice("auto"); request.setMetadata(metadata); request.setParameters(parameters); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); ConversationResultAlpha2 result = response.getOutputs().get(0); assertNotNull(result.getChoices()); assertTrue(result.getChoices().size() > 0); ConversationResultChoices choice = result.getChoices().get(0); assertNotNull(choice.getFinishReason()); assertTrue(choice.getIndex() >= 0); if (choice.getMessage() != null) { assertNotNull(choice.getMessage().getContent()); } } @Test public void testConverseAlpha2MultipleInputs() { // Create multiple conversation inputs List inputs = new ArrayList<>(); // First input - greeting UserMessage greeting = new UserMessage(List.of(new ConversationMessageContent("Hello!"))); ConversationInputAlpha2 input1 = new ConversationInputAlpha2(List.of(greeting)); inputs.add(input1); // Second input - question UserMessage question = new UserMessage(List.of(new ConversationMessageContent("How are you?"))); ConversationInputAlpha2 input2 = new ConversationInputAlpha2(List.of(question)); input2.setScrubPii(true); inputs.add(input2); ConversationRequestAlpha2 request = new ConversationRequestAlpha2("echo", inputs); ConversationResponseAlpha2 response = daprPreviewClient.converseAlpha2(request).block(); assertNotNull(response); assertNotNull(response.getOutputs()); assertTrue(response.getOutputs().size() > 0); // Should handle multiple inputs appropriately for (ConversationResultAlpha2 result : response.getOutputs()) { assertNotNull(result.getChoices()); assertTrue(result.getChoices().size() > 0); } } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/conversations/DaprConversationIT.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.conversations; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.ConversationInput; import io.dapr.client.domain.ConversationRequest; import io.dapr.client.domain.ConversationResponse; import io.dapr.it.springboot4.testcontainers.DaprPreviewClientConfiguration; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Random; import static io.dapr.it.springboot4.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @SpringBootTest( webEnvironment = WebEnvironment.RANDOM_PORT, classes = { DaprPreviewClientConfiguration.class, TestConversationApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprConversationIT { private static final Network DAPR_NETWORK = Network.newNetwork(); private static final Random RANDOM = new Random(); private static final int PORT = RANDOM.nextInt(1000) + 8000; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("conversation-dapr-app") .withComponent(new Component("echo", "conversation.echo", "v1", new HashMap<>())) .withNetwork(DAPR_NETWORK) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .withAppPort(PORT); /** * Expose the Dapr port to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); registry.add("server.port", () -> PORT); } @Autowired private DaprPreviewClient daprPreviewClient; @BeforeEach public void setUp(){ org.testcontainers.Testcontainers.exposeHostPorts(PORT); } @Test public void testConversationSDKShouldHaveSameOutputAndInput() { ConversationInput conversationInput = new ConversationInput("input this"); List conversationInputList = new ArrayList<>(); conversationInputList.add(conversationInput); ConversationResponse response = this.daprPreviewClient.converse(new ConversationRequest("echo", conversationInputList)).block(); Assertions.assertEquals("", response.getContextId()); Assertions.assertEquals("input this", response.getConversationOutputs().get(0).getResult()); } @Test public void testConversationSDKShouldScrubPIIWhenScrubPIIIsSetInRequestBody() { List conversationInputList = new ArrayList<>(); conversationInputList.add(new ConversationInput("input this abcd@gmail.com")); conversationInputList.add(new ConversationInput("input this +12341567890")); ConversationResponse response = this.daprPreviewClient.converse(new ConversationRequest("echo", conversationInputList) .setScrubPii(true)).block(); Assertions.assertEquals("", response.getContextId()); Assertions.assertEquals("input this \ninput this ", response.getConversationOutputs().get(0).getResult()); } @Test public void testConversationSDKShouldScrubPIIOnlyForTheInputWhereScrubPIIIsSet() { List conversationInputList = new ArrayList<>(); conversationInputList.add(new ConversationInput("input this abcd@gmail.com")); conversationInputList.add(new ConversationInput("input this +12341567890").setScrubPii(true)); ConversationResponse response = this.daprPreviewClient.converse(new ConversationRequest("echo", conversationInputList)).block(); Assertions.assertEquals("", response.getContextId()); Assertions.assertEquals("input this abcd@gmail.com\ninput this ", response.getConversationOutputs().get(0).getResult()); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/conversations/TestConversationApplication.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.conversations; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestConversationApplication { public static void main(String[] args) { SpringApplication.run(TestConversationApplication.class, args); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/core/DaprContainerIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.core; import com.github.tomakehurst.wiremock.junit5.WireMockTest; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.Metadata; import io.dapr.client.domain.State; import io.dapr.config.Properties; import io.dapr.testcontainers.DaprContainer; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.shaded.org.awaitility.core.ConditionTimeoutException; import java.io.IOException; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.Map; import java.util.concurrent.TimeUnit; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.any; import static com.github.tomakehurst.wiremock.client.WireMock.configureFor; import static com.github.tomakehurst.wiremock.client.WireMock.equalTo; import static com.github.tomakehurst.wiremock.client.WireMock.get; import static com.github.tomakehurst.wiremock.client.WireMock.post; import static com.github.tomakehurst.wiremock.client.WireMock.postRequestedFor; import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; import static com.github.tomakehurst.wiremock.client.WireMock.verify; import static io.dapr.it.springboot4.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.fail; import static org.testcontainers.shaded.org.awaitility.Awaitility.await; @Testcontainers @WireMockTest(httpPort = 8081) @Tag("testcontainers") public class DaprContainerIT { // Time-to-live for messages published. private static final String MESSAGE_TTL_IN_SECONDS = "1000"; private static final String STATE_STORE_NAME = "kvstore"; private static final String KEY = "my-key"; private static final String PUBSUB_NAME = "pubsub"; private static final String PUBSUB_TOPIC_NAME = "topic"; private static final String APP_FOUND_MESSAGE_PATTERN = ".*application discovered on port 8081.*"; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withAppPort(8081) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal"); /** * Sets the Dapr properties for the test. */ @BeforeEach public void setDaprProperties() { configStub(); org.testcontainers.Testcontainers.exposeHostPorts(8081); } private void configStub() { stubFor(any(urlMatching("/actuator/health")) .willReturn(aResponse().withBody("[]").withStatus(200))); stubFor(any(urlMatching("/dapr/subscribe")) .willReturn(aResponse().withBody("[]").withStatus(200))); stubFor(get(urlMatching("/dapr/config")) .willReturn(aResponse().withBody("[]").withStatus(200))); stubFor(any(urlMatching("/([a-z1-9]*)")) .willReturn(aResponse().withBody("[]").withStatus(200))); // create a stub stubFor(post(urlEqualTo("/events")) .willReturn(aResponse().withBody("event received!").withStatus(200))); configureFor("localhost", 8081); } @Test public void testDaprContainerDefaults() { assertEquals(2, DAPR_CONTAINER.getComponents().size(), "The pubsub and kvstore component should be configured by default" ); assertEquals( 1, DAPR_CONTAINER.getSubscriptions().size(), "A subscription should be configured by default if none is provided" ); } @Test public void testStateStore() throws Exception { DaprClientBuilder builder = createDaprClientBuilder(); try (DaprClient client = (builder).build()) { String value = "value"; // Save state client.saveState(STATE_STORE_NAME, KEY, value).block(); // Get the state back from the state store State retrievedState = client.getState(STATE_STORE_NAME, KEY, String.class).block(); assertNotNull(retrievedState); assertEquals(value, retrievedState.getValue(), "The value retrieved should be the same as the one stored"); } } @Test public void testPlacement() throws Exception { Wait.forLogMessage(APP_FOUND_MESSAGE_PATTERN, 1).waitUntilReady(DAPR_CONTAINER); try { await().atMost(10, TimeUnit.SECONDS) .pollDelay(500, TimeUnit.MILLISECONDS) .pollInterval(500, TimeUnit.MILLISECONDS) .until(() -> { String metadata = checkSidecarMetadata(); if (metadata.contains("placement: connected")) { return true; } else { return false; } }); } catch (ConditionTimeoutException timeoutException) { fail("The placement server is not connected"); } } private String checkSidecarMetadata() throws IOException, InterruptedException { String url = DAPR_CONTAINER.getHttpEndpoint() + "/v1.0/metadata"; HttpClient client = HttpClient.newBuilder() .version(HttpClient.Version.HTTP_1_1) .build(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) .build(); HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); if (response.statusCode() != 200) { throw new IOException("Unexpected response: " + response.statusCode()); } return response.body(); } @Test public void testPubSub() throws Exception { DaprClientBuilder builder = createDaprClientBuilder(); try (DaprClient client = (builder).build()) { String message = "message content"; Map metadata = Map.of(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS); client.publishEvent(PUBSUB_NAME, PUBSUB_TOPIC_NAME, message, metadata).block(); } verify(postRequestedFor(urlEqualTo("/events")).withHeader("Content-Type", equalTo("application/cloudevents+json"))); } private DaprClientBuilder createDaprClientBuilder() { return new DaprClientBuilder() .withPropertyOverride(Properties.HTTP_ENDPOINT, DAPR_CONTAINER.getHttpEndpoint()) .withPropertyOverride(Properties.GRPC_ENDPOINT, DAPR_CONTAINER.getGrpcEndpoint()); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/core/DaprPlacementContainerIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.core; import io.dapr.testcontainers.DaprPlacementContainer; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import static io.dapr.it.springboot4.testcontainers.ContainerConstants.DAPR_PLACEMENT_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; @Testcontainers @Tag("testcontainers") public class DaprPlacementContainerIT { @Container private static final DaprPlacementContainer PLACEMENT_CONTAINER = new DaprPlacementContainer(DAPR_PLACEMENT_IMAGE_TAG); @Test public void testDaprPlacementContainerDefaults() { assertEquals(50005, PLACEMENT_CONTAINER.getPort(), "The default port is not set"); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/core/DaprSchedulerContainerIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.core; import io.dapr.testcontainers.DaprSchedulerContainer; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import static io.dapr.it.springboot4.testcontainers.ContainerConstants.DAPR_SCHEDULER_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; @Testcontainers @Tag("testcontainers") public class DaprSchedulerContainerIT { @Container private static final DaprSchedulerContainer SCHEDULER_CONTAINER = new DaprSchedulerContainer(DAPR_SCHEDULER_IMAGE_TAG); @Test public void testDaprSchedulerContainerDefaults() { assertEquals(51005, SCHEDULER_CONTAINER.getPort(), "The default port is not set"); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/crypto/DaprPreviewClientCryptoIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.crypto; import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.DecryptRequestAlpha1; import io.dapr.client.domain.EncryptRequestAlpha1; import io.dapr.config.Properties; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.MetadataEntry; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.testcontainers.containers.BindMode; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import reactor.core.publisher.Flux; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.util.Base64; import java.util.List; import java.util.Random; import static io.dapr.it.springboot4.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; /** * Integration tests for the Dapr Cryptography Alpha1 API. */ @Testcontainers @Tag("testcontainers") public class DaprPreviewClientCryptoIT { private static final String CRYPTO_COMPONENT_NAME = "localstoragecrypto"; private static final String KEY_NAME = "testkey"; private static final String CONTAINER_KEYS_PATH = "/keys"; private static Path tempKeysDir; private static DaprPreviewClient daprPreviewClient; @Container private static final DaprContainer DAPR_CONTAINER = createDaprContainer(); private static DaprContainer createDaprContainer() { try { // Create temporary directory for keys tempKeysDir = Files.createTempDirectory("dapr-crypto-keys"); // Generate and save a test RSA key pair in PEM format generateAndSaveRsaKeyPair(tempKeysDir); // Create the crypto component Component cryptoComponent = new Component( CRYPTO_COMPONENT_NAME, "crypto.dapr.localstorage", "v1", List.of(new MetadataEntry("path", CONTAINER_KEYS_PATH)) ); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("crypto-test-app") .withComponent(cryptoComponent) .withFileSystemBind(tempKeysDir.toString(), CONTAINER_KEYS_PATH, BindMode.READ_ONLY); } catch (Exception e) { throw new RuntimeException("Failed to initialize test container", e); } } private static void generateAndSaveRsaKeyPair(Path keysDir) throws NoSuchAlgorithmException, IOException { KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA"); keyGen.initialize(4096); KeyPair keyPair = keyGen.generateKeyPair(); // Save the private key in PEM format String privateKeyPem = "-----BEGIN PRIVATE KEY-----\n" + Base64.getMimeEncoder(64, "\n".getBytes()).encodeToString(keyPair.getPrivate().getEncoded()) + "\n-----END PRIVATE KEY-----\n"; // Save the public key in PEM format String publicKeyPem = "-----BEGIN PUBLIC KEY-----\n" + Base64.getMimeEncoder(64, "\n".getBytes()).encodeToString(keyPair.getPublic().getEncoded()) + "\n-----END PUBLIC KEY-----\n"; // Combine both keys in one PEM file String combinedPem = privateKeyPem + publicKeyPem; Path keyFile = keysDir.resolve(KEY_NAME); Files.writeString(keyFile, combinedPem); // Make the key file and directory readable by all (needed for container access) keyFile.toFile().setReadable(true, false); keysDir.toFile().setReadable(true, false); keysDir.toFile().setExecutable(true, false); } @BeforeAll static void setUp() { daprPreviewClient = new DaprClientBuilder() .withPropertyOverride(Properties.HTTP_ENDPOINT, DAPR_CONTAINER.getHttpEndpoint()) .withPropertyOverride(Properties.GRPC_ENDPOINT, DAPR_CONTAINER.getGrpcEndpoint()) .buildPreviewClient(); } @AfterAll static void tearDown() throws Exception { if (daprPreviewClient != null) { daprPreviewClient.close(); } // Clean up temp keys directory if (tempKeysDir != null && Files.exists(tempKeysDir)) { Files.walk(tempKeysDir) .sorted((a, b) -> -a.compareTo(b)) .forEach(path -> { try { Files.delete(path); } catch (IOException e) { // Ignore cleanup errors } }); } } @Test public void testEncryptAndDecryptSmallData() { String originalData = "Hello, World! This is a test message."; byte[] plainText = originalData.getBytes(StandardCharsets.UTF_8); // Encrypt EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(plainText), KEY_NAME, "RSA-OAEP-256" ); byte[] encryptedData = daprPreviewClient.encrypt(encryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(encryptedData); assertTrue(encryptedData.length > 0); // Decrypt DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = daprPreviewClient.decrypt(decryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(decryptedData); assertArrayEquals(plainText, decryptedData); assertEquals(originalData, new String(decryptedData, StandardCharsets.UTF_8)); } @Test public void testEncryptAndDecryptLargeData() { // Generate a large data payload (1MB) byte[] largeData = new byte[1024 * 1024]; new Random().nextBytes(largeData); // Encrypt EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(largeData), KEY_NAME, "RSA-OAEP-256" ); byte[] encryptedData = daprPreviewClient.encrypt(encryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(encryptedData); assertTrue(encryptedData.length > 0); // Decrypt DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = daprPreviewClient.decrypt(decryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(decryptedData); assertArrayEquals(largeData, decryptedData); } @Test public void testEncryptAndDecryptStreamedData() { // Create chunked data to simulate streaming byte[] chunk1 = "First chunk of data. ".getBytes(StandardCharsets.UTF_8); byte[] chunk2 = "Second chunk of data. ".getBytes(StandardCharsets.UTF_8); byte[] chunk3 = "Third and final chunk.".getBytes(StandardCharsets.UTF_8); // Combine for comparison later byte[] fullData = new byte[chunk1.length + chunk2.length + chunk3.length]; System.arraycopy(chunk1, 0, fullData, 0, chunk1.length); System.arraycopy(chunk2, 0, fullData, chunk1.length, chunk2.length); System.arraycopy(chunk3, 0, fullData, chunk1.length + chunk2.length, chunk3.length); // Encrypt with multiple chunks EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(chunk1, chunk2, chunk3), KEY_NAME, "RSA-OAEP-256" ); byte[] encryptedData = daprPreviewClient.encrypt(encryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(encryptedData); assertTrue(encryptedData.length > 0); // Decrypt DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = daprPreviewClient.decrypt(decryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(decryptedData); assertArrayEquals(fullData, decryptedData); } @Test public void testEncryptWithOptionalParameters() { String originalData = "Test message with optional parameters."; byte[] plainText = originalData.getBytes(StandardCharsets.UTF_8); // Encrypt with optional data encryption cipher EncryptRequestAlpha1 encryptRequest = new EncryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(plainText), KEY_NAME, "RSA-OAEP-256" ).setDataEncryptionCipher("aes-gcm"); byte[] encryptedData = daprPreviewClient.encrypt(encryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(encryptedData); assertTrue(encryptedData.length > 0); // Decrypt DecryptRequestAlpha1 decryptRequest = new DecryptRequestAlpha1( CRYPTO_COMPONENT_NAME, Flux.just(encryptedData) ); byte[] decryptedData = daprPreviewClient.decrypt(decryptRequest) .collectList() .map(chunks -> { int totalSize = chunks.stream().mapToInt(chunk -> chunk.length).sum(); byte[] result = new byte[totalSize]; int pos = 0; for (byte[] chunk : chunks) { System.arraycopy(chunk, 0, result, pos, chunk.length); pos += chunk.length; } return result; }) .block(); assertNotNull(decryptedData); assertArrayEquals(plainText, decryptedData); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/jobs/DaprJobsIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.jobs; import io.dapr.client.DaprClient; import io.dapr.client.domain.ConstantFailurePolicy; import io.dapr.client.domain.DeleteJobRequest; import io.dapr.client.domain.DropFailurePolicy; import io.dapr.client.domain.FailurePolicyType; import io.dapr.client.domain.GetJobRequest; import io.dapr.client.domain.GetJobResponse; import io.dapr.client.domain.JobSchedule; import io.dapr.client.domain.ScheduleJobRequest; import io.dapr.it.springboot4.testcontainers.DaprClientConfiguration; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.time.Duration; import java.time.Instant; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.Random; import static io.dapr.it.springboot4.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.Assert.assertEquals; @SpringBootTest( webEnvironment = WebEnvironment.RANDOM_PORT, classes = { DaprClientConfiguration.class, TestJobsApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprJobsIT { private static final Network DAPR_NETWORK = Network.newNetwork(); private static final Random RANDOM = new Random(); private static final int PORT = RANDOM.nextInt(1000) + 8000; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("jobs-dapr-app") .withNetwork(DAPR_NETWORK) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .withAppPort(PORT); /** * Expose the Dapr ports to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); registry.add("server.port", () -> PORT); } @Autowired private DaprClient daprClient; @BeforeEach public void setUp(){ org.testcontainers.Testcontainers.exposeHostPorts(PORT); } @Test public void testJobScheduleCreationWithDueTime() { DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); Instant currentTime = Instant.now(); daprClient.scheduleJob(new ScheduleJobRequest("Job", currentTime).setOverwrite(true)).block(); GetJobResponse getJobResponse = daprClient.getJob(new GetJobRequest("Job")).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); assertEquals(iso8601Formatter.format(currentTime), getJobResponse.getDueTime().toString()); assertEquals("Job", getJobResponse.getName()); } @Test public void testJobScheduleCreationWithSchedule() { DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); Instant currentTime = Instant.now(); daprClient.scheduleJob(new ScheduleJobRequest("Job", JobSchedule.hourly()) .setDueTime(currentTime).setOverwrite(true)).block(); GetJobResponse getJobResponse = daprClient.getJob(new GetJobRequest("Job")).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); assertEquals(iso8601Formatter.format(currentTime), getJobResponse.getDueTime().toString()); assertEquals(JobSchedule.hourly().getExpression(), getJobResponse.getSchedule().getExpression()); assertEquals("Job", getJobResponse.getName()); } @Test public void testJobScheduleCreationWithAllParameters() { Instant currentTime = Instant.now(); DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); String cronExpression = "2 * 3 * * FRI"; daprClient.scheduleJob(new ScheduleJobRequest("Job", currentTime) .setTtl(currentTime.plus(2, ChronoUnit.HOURS)) .setData("Job data".getBytes()) .setRepeat(3) .setOverwrite(true) .setSchedule(JobSchedule.fromString(cronExpression))).block(); GetJobResponse getJobResponse = daprClient.getJob(new GetJobRequest("Job")).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); assertEquals(iso8601Formatter.format(currentTime), getJobResponse.getDueTime().toString()); assertEquals("2 * 3 * * FRI", getJobResponse.getSchedule().getExpression()); assertEquals("Job", getJobResponse.getName()); assertEquals(Integer.valueOf(3), getJobResponse.getRepeats()); assertEquals("Job data", new String(getJobResponse.getData())); assertEquals(iso8601Formatter.format(currentTime.plus(2, ChronoUnit.HOURS)), getJobResponse.getTtl().toString()); } @Test public void testJobScheduleCreationWithDropFailurePolicy() { Instant currentTime = Instant.now(); DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); String cronExpression = "2 * 3 * * FRI"; daprClient.scheduleJob(new ScheduleJobRequest("Job", currentTime) .setTtl(currentTime.plus(2, ChronoUnit.HOURS)) .setData("Job data".getBytes()) .setRepeat(3) .setFailurePolicy(new DropFailurePolicy()) .setSchedule(JobSchedule.fromString(cronExpression))).block(); GetJobResponse getJobResponse = daprClient.getJob(new GetJobRequest("Job")).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); assertEquals(FailurePolicyType.DROP, getJobResponse.getFailurePolicy().getFailurePolicyType()); } @Test public void testJobScheduleCreationWithConstantFailurePolicy() { Instant currentTime = Instant.now(); DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") .withZone(ZoneOffset.UTC); String cronExpression = "2 * 3 * * FRI"; daprClient.scheduleJob(new ScheduleJobRequest("Job", currentTime) .setTtl(currentTime.plus(2, ChronoUnit.HOURS)) .setData("Job data".getBytes()) .setRepeat(3) .setFailurePolicy(new ConstantFailurePolicy(3) .setDurationBetweenRetries(Duration.of(10, ChronoUnit.SECONDS))) .setSchedule(JobSchedule.fromString(cronExpression))).block(); GetJobResponse getJobResponse = daprClient.getJob(new GetJobRequest("Job")).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); ConstantFailurePolicy jobFailurePolicyConstant = (ConstantFailurePolicy) getJobResponse.getFailurePolicy(); assertEquals(FailurePolicyType.CONSTANT, getJobResponse.getFailurePolicy().getFailurePolicyType()); assertEquals(3, (int)jobFailurePolicyConstant.getMaxRetries()); assertEquals(Duration.of(10, ChronoUnit.SECONDS).getNano(), jobFailurePolicyConstant.getDurationBetweenRetries().getNano()); } @Test public void testDeleteJobRequest() { Instant currentTime = Instant.now(); String cronExpression = "2 * 3 * * FRI"; daprClient.scheduleJob(new ScheduleJobRequest("Job", currentTime) .setTtl(currentTime.plus(2, ChronoUnit.HOURS)) .setData("Job data".getBytes()) .setRepeat(3) .setOverwrite(true) .setSchedule(JobSchedule.fromString(cronExpression))).block(); daprClient.deleteJob(new DeleteJobRequest("Job")).block(); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/jobs/TestJobsApplication.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.jobs; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestJobsApplication { public static void main(String[] args) { SpringApplication.run(TestJobsApplication.class, args); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/pubsub/http/DaprPubSubIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.pubsub.http; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.client.DaprPreviewClient; import io.dapr.client.domain.BulkPublishEntry; import io.dapr.client.domain.BulkPublishRequest; import io.dapr.client.domain.BulkPublishResponse; import io.dapr.client.domain.CloudEvent; import io.dapr.client.domain.HttpExtension; import io.dapr.client.domain.Metadata; import io.dapr.client.domain.PublishEventRequest; import io.dapr.it.springboot4.testcontainers.DaprClientFactory; import io.dapr.serializer.DaprObjectSerializer; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.utils.TypeRef; import org.assertj.core.api.SoftAssertions; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Random; import java.util.Set; import static io.dapr.it.springboot4.testcontainers.Retry.callWithRetry; import static io.dapr.it.springboot4.testcontainers.TestUtils.assertThrowsDaprException; import static io.dapr.it.springboot4.testcontainers.TestUtils.assertThrowsDaprExceptionWithReason; import static io.dapr.it.springboot4.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertNotNull; @SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, classes = { TestPubSubApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprPubSubIT { private static final Logger LOG = LoggerFactory.getLogger(DaprPubSubIT.class); private static final Network DAPR_NETWORK = Network.newNetwork(); private static final Random RANDOM = new Random(); private static final int PORT = RANDOM.nextInt(1000) + 8000; private static final String APP_FOUND_MESSAGE_PATTERN = ".*application discovered on port.*"; private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); private static final String PUBSUB_APP_ID = "pubsub-dapr-app"; private static final String PUBSUB_NAME = "pubsub"; // topics private static final String TOPIC_BULK = "testingbulktopic"; private static final String TOPIC_NAME = "testingtopic"; private static final String ANOTHER_TOPIC_NAME = "anothertopic"; private static final String TYPED_TOPIC_NAME = "typedtestingtopic"; private static final String BINARY_TOPIC_NAME = "binarytopic"; private static final String TTL_TOPIC_NAME = "ttltopic"; private static final String LONG_TOPIC_NAME = "testinglongvalues"; private static final int NUM_MESSAGES = 10; // typeRefs private static final TypeRef> CLOUD_EVENT_LIST_TYPE_REF = new TypeRef<>() { }; private static final TypeRef>> CLOUD_EVENT_LONG_LIST_TYPE_REF = new TypeRef<>() { }; private static final TypeRef>> CLOUD_EVENT_MYOBJECT_LIST_TYPE_REF = new TypeRef<>() { }; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName(PUBSUB_APP_ID) .withNetwork(DAPR_NETWORK) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> LOG.info(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .withAppPort(PORT); /** * Expose the Dapr ports to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); registry.add("server.port", () -> PORT); } @BeforeEach public void setUp() { org.testcontainers.Testcontainers.exposeHostPorts(PORT); } @Test @DisplayName("Should receive INVALID_ARGUMENT when the specified Pub/Sub name does not exist") public void shouldReceiveInvalidArgument() throws Exception { Wait.forLogMessage(APP_FOUND_MESSAGE_PATTERN, 1).waitUntilReady(DAPR_CONTAINER); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { assertThrowsDaprExceptionWithReason( "INVALID_ARGUMENT", "INVALID_ARGUMENT: pubsub unknown pubsub is not found", "DAPR_PUBSUB_NOT_FOUND", () -> client.publishEvent("unknown pubsub", "mytopic", "payload").block()); } } @Test @DisplayName("Should receive INVALID_ARGUMENT using bulk publish when the specified Pub/Sub name does not exist") public void shouldReceiveInvalidArgumentWithBulkPublish() throws Exception { try (DaprPreviewClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).buildPreviewClient()) { assertThrowsDaprException( "INVALID_ARGUMENT", "INVALID_ARGUMENT: pubsub unknown pubsub is not found", () -> client.publishEvents("unknown pubsub", "mytopic", "text/plain", "message").block()); } } @Test @DisplayName("Should publish some payload types successfully") public void shouldPublishSomePayloadTypesWithNoError() throws Exception { try ( DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build(); DaprPreviewClient previewClient = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).withObjectSerializer( createJacksonObjectSerializer()) .buildPreviewClient() ) { publishBulkStringsAsserting(previewClient); publishMyObjectAsserting(previewClient); publishByteAsserting(previewClient); publishCloudEventAsserting(previewClient); Thread.sleep(10000); callWithRetry(() -> validatePublishedMessages(client), 2000); } } @Test @DisplayName("Should publish various payload types to different topics") public void testPubSub() throws Exception { // Send a batch of messages on one topic try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).withObjectSerializer( createJacksonObjectSerializer() ).build()) { sendBulkMessagesAsText(client, TOPIC_NAME); sendBulkMessagesAsText(client, ANOTHER_TOPIC_NAME); //Publishing an object. MyObject object = new MyObject(); object.setId("123"); client.publishEvent(PUBSUB_NAME, TOPIC_NAME, object).block(); LOG.info("Published one object."); client.publishEvent(PUBSUB_NAME, TYPED_TOPIC_NAME, object).block(); LOG.info("Published another object."); //Publishing a single byte: Example of non-string based content published publishOneByteSync(client, TOPIC_NAME); CloudEvent cloudEvent = new CloudEvent<>(); cloudEvent.setId("1234"); cloudEvent.setData("message from cloudevent"); cloudEvent.setSource("test"); cloudEvent.setSpecversion("1"); cloudEvent.setType("myevent"); cloudEvent.setDatacontenttype("text/plain"); //Publishing a cloud event. client.publishEvent(new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEvent) .setContentType("application/cloudevents+json")).block(); LOG.info("Published one cloud event."); { CloudEvent cloudEventV2 = new CloudEvent<>(); cloudEventV2.setId("2222"); cloudEventV2.setData("message from cloudevent v2"); cloudEventV2.setSource("test"); cloudEventV2.setSpecversion("1"); cloudEventV2.setType("myevent.v2"); cloudEventV2.setDatacontenttype("text/plain"); client.publishEvent( new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEventV2) .setContentType("application/cloudevents+json")).block(); LOG.info("Published one cloud event for v2."); } { CloudEvent cloudEventV3 = new CloudEvent<>(); cloudEventV3.setId("3333"); cloudEventV3.setData("message from cloudevent v3"); cloudEventV3.setSource("test"); cloudEventV3.setSpecversion("1"); cloudEventV3.setType("myevent.v3"); cloudEventV3.setDatacontenttype("text/plain"); client.publishEvent( new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEventV3) .setContentType("application/cloudevents+json")).block(); LOG.info("Published one cloud event for v3."); } Thread.sleep(2000); callWithRetry(() -> { LOG.info("Checking results for topic " + TOPIC_NAME); List messages = client.invokeMethod( PUBSUB_APP_ID, "messages/testingtopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF ).block(); assertThat(messages) .hasSize(13) .extracting(CloudEvent::getData) .filteredOn(Objects::nonNull) .contains( "AQ==", "message from cloudevent" ); for (int i = 0; i < NUM_MESSAGES; i++) { String expectedMessage = String.format("This is message #%d on topic %s", i, TOPIC_NAME); assertThat(messages) .extracting(CloudEvent::getData) .filteredOn(Objects::nonNull) .anyMatch(expectedMessage::equals); } assertThat(messages) .extracting(CloudEvent::getData) .filteredOn(LinkedHashMap.class::isInstance) .map(data -> (String) ((LinkedHashMap) data).get("id")) .contains("123"); }, 2000); callWithRetry(() -> { LOG.info("Checking results for topic " + TOPIC_NAME + " V2"); List messages = client.invokeMethod( PUBSUB_APP_ID, "messages/testingtopicV2", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF ).block(); assertThat(messages) .hasSize(1); }, 2000); callWithRetry(() -> { LOG.info("Checking results for topic " + TOPIC_NAME + " V3"); List messages = client.invokeMethod( PUBSUB_APP_ID, "messages/testingtopicV3", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF ).block(); assertThat(messages) .hasSize(1); }, 2000); callWithRetry(() -> { LOG.info("Checking results for topic " + TYPED_TOPIC_NAME); List> messages = client.invokeMethod( PUBSUB_APP_ID, "messages/typedtestingtopic", null, HttpExtension.GET, CLOUD_EVENT_MYOBJECT_LIST_TYPE_REF ).block(); assertThat(messages) .extracting(CloudEvent::getData) .filteredOn(Objects::nonNull) .filteredOn(MyObject.class::isInstance) .map(MyObject::getId) .contains("123"); }, 2000); callWithRetry(() -> { LOG.info("Checking results for topic " + ANOTHER_TOPIC_NAME); List messages = client.invokeMethod( PUBSUB_APP_ID, "messages/anothertopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF ).block(); assertThat(messages) .hasSize(10); for (int i = 0; i < NUM_MESSAGES; i++) { String expectedMessage = String.format("This is message #%d on topic %s", i, ANOTHER_TOPIC_NAME); assertThat(messages) .extracting(CloudEvent::getData) .filteredOn(Objects::nonNull) .anyMatch(expectedMessage::equals); } }, 2000); } } @Test @DisplayName("Should publish binary payload type successfully") public void shouldPublishBinary() throws Exception { DaprObjectSerializer serializer = createBinaryObjectSerializer(); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).withObjectSerializer(serializer).build()) { publishOneByteSync(client, BINARY_TOPIC_NAME); } Thread.sleep(3000); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { callWithRetry(() -> { LOG.info("Checking results for topic " + BINARY_TOPIC_NAME); final List messages = client.invokeMethod( PUBSUB_APP_ID, "messages/binarytopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF).block(); SoftAssertions.assertSoftly(softly -> { softly.assertThat(messages.size()).isEqualTo(1); softly.assertThat(messages.get(0).getData()).isNull(); softly.assertThat(messages.get(0).getBinaryData()).isEqualTo(new byte[] {1}); }); }, 2000); } } private static void publishOneByteSync(DaprClient client, String topicName) { client.publishEvent( PUBSUB_NAME, topicName, new byte[] {1}).block(); } private static void sendBulkMessagesAsText(DaprClient client, String topicName) { for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d on topic %s", i, topicName); client.publishEvent(PUBSUB_NAME, topicName, message).block(); } } private void publishMyObjectAsserting(DaprPreviewClient previewClient) { MyObject object = new MyObject(); object.setId("123"); BulkPublishResponse response = previewClient.publishEvents( PUBSUB_NAME, TOPIC_BULK, "application/json", Collections.singletonList(object) ).block(); SoftAssertions.assertSoftly(softly -> { softly.assertThat(response).isNotNull(); softly.assertThat(response.getFailedEntries().size()).isZero(); }); } private void publishBulkStringsAsserting(DaprPreviewClient previewClient) { List messages = new ArrayList<>(); for (int i = 0; i < NUM_MESSAGES; i++) { messages.add(String.format("This is message #%d on topic %s", i, TOPIC_BULK)); } BulkPublishResponse response = previewClient.publishEvents(PUBSUB_NAME, TOPIC_BULK, "", messages).block(); SoftAssertions.assertSoftly(softly -> { softly.assertThat(response).isNotNull(); softly.assertThat(response.getFailedEntries().size()).isZero(); }); } private void publishByteAsserting(DaprPreviewClient previewClient) { BulkPublishResponse response = previewClient.publishEvents( PUBSUB_NAME, TOPIC_BULK, "", Collections.singletonList(new byte[] {1}) ).block(); SoftAssertions.assertSoftly(softly -> { assertThat(response).isNotNull(); softly.assertThat(response.getFailedEntries().size()).isZero(); }); } private void publishCloudEventAsserting(DaprPreviewClient previewClient) { CloudEvent cloudEvent = new CloudEvent<>(); cloudEvent.setId("1234"); cloudEvent.setData("message from cloudevent"); cloudEvent.setSource("test"); cloudEvent.setSpecversion("1"); cloudEvent.setType("myevent"); cloudEvent.setDatacontenttype("text/plain"); BulkPublishRequest> req = new BulkPublishRequest<>( PUBSUB_NAME, TOPIC_BULK, Collections.singletonList( new BulkPublishEntry<>("1", cloudEvent, "application/cloudevents+json", null) ) ); BulkPublishResponse> response = previewClient.publishEvents(req).block(); SoftAssertions.assertSoftly(softly -> { softly.assertThat(response).isNotNull(); softly.assertThat(response.getFailedEntries().size()).isZero(); }); } private void validatePublishedMessages(DaprClient client) { List cloudEventMessages = client.invokeMethod( PUBSUB_APP_ID, "messages/redis/testingbulktopic", null, HttpExtension.GET, CLOUD_EVENT_LIST_TYPE_REF ).block(); assertThat(cloudEventMessages) .as("expected non-null list of cloud events") .isNotNull() .hasSize(13); for (int i = 0; i < NUM_MESSAGES; i++) { String expectedMessage = String.format("This is message #%d on topic %s", i, TOPIC_BULK); assertThat(cloudEventMessages) .as("expected text payload to match for message %d", i) .anySatisfy(event -> assertThat(event.getData()).isEqualTo(expectedMessage)); } assertThat(cloudEventMessages) .filteredOn(event -> event.getData() instanceof LinkedHashMap) .map(event -> (LinkedHashMap) event.getData()) .anySatisfy(map -> assertThat(map.get("id")).isEqualTo("123")); assertThat(cloudEventMessages) .map(CloudEvent::getData) .anySatisfy(data -> assertThat(data).isEqualTo("AQ==")); assertThat(cloudEventMessages) .map(CloudEvent::getData) .anySatisfy(data -> assertThat(data).isEqualTo("message from cloudevent")); } @Test @DisplayName("Should publish with TTL") public void testPubSubTTLMetadata() throws Exception { // Send a batch of messages on one topic, all to be expired in 1 second. try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { for (int i = 0; i < NUM_MESSAGES; i++) { String message = String.format("This is message #%d on topic %s", i, TTL_TOPIC_NAME); //Publishing messages client.publishEvent( PUBSUB_NAME, TTL_TOPIC_NAME, message, Map.of(Metadata.TTL_IN_SECONDS, "1")) .block(); LOG.info("Published message: '{}' to topic '{}' pubsub_name '{}'\n", message, TOPIC_NAME, PUBSUB_NAME); } } // Sleeps for two seconds to let them expire. Thread.sleep(2000); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { callWithRetry(() -> { LOG.info("Checking results for topic " + TTL_TOPIC_NAME); final List messages = client.invokeMethod(PUBSUB_APP_ID, "messages/" + TTL_TOPIC_NAME, null, HttpExtension.GET, List.class).block(); assertThat(messages).hasSize(0); }, 2000); } } @Test @DisplayName("Should publish long values") public void testLongValues() throws Exception { Random random = new Random(590518626939830271L); Set values = new HashSet<>(); values.add(new ConvertToLong().setVal(590518626939830271L)); ConvertToLong val; for (int i = 0; i < NUM_MESSAGES - 1; i++) { do { val = new ConvertToLong().setVal(random.nextLong()); } while (values.contains(val)); values.add(val); } Iterator valuesIt = values.iterator(); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { for (int i = 0; i < NUM_MESSAGES; i++) { ConvertToLong value = valuesIt.next(); LOG.info("The long value sent " + value.getValue()); //Publishing messages client.publishEvent( PUBSUB_NAME, LONG_TOPIC_NAME, value, Map.of(Metadata.TTL_IN_SECONDS, "30")).block(); try { Thread.sleep((long) (1000 * Math.random())); } catch (InterruptedException e) { e.printStackTrace(); Thread.currentThread().interrupt(); return; } } } Set actual = new HashSet<>(); try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { callWithRetry(() -> { LOG.info("Checking results for topic " + LONG_TOPIC_NAME); final List> messages = client.invokeMethod( PUBSUB_APP_ID, "messages/testinglongvalues", null, HttpExtension.GET, CLOUD_EVENT_LONG_LIST_TYPE_REF).block(); assertNotNull(messages); for (CloudEvent message : messages) { actual.add(message.getData()); } assertThat(values).containsAll(actual); }, 2000); } } private @NotNull DaprObjectSerializer createBinaryObjectSerializer() { return new DaprObjectSerializer() { @Override public byte[] serialize(Object o) { return (byte[]) o; } @Override public T deserialize(byte[] data, TypeRef type) { return (T) data; } @Override public String getContentType() { return "application/octet-stream"; } }; } private DaprObjectSerializer createJacksonObjectSerializer() { return new DaprObjectSerializer() { @Override public byte[] serialize(Object o) throws JsonProcessingException { return OBJECT_MAPPER.writeValueAsBytes(o); } @Override public T deserialize(byte[] data, TypeRef type) throws IOException { return OBJECT_MAPPER.readValue(data, OBJECT_MAPPER.constructType(type.getType())); } @Override public String getContentType() { return "application/json"; } }; } public static class MyObject { private String id; public String getId() { return this.id; } public void setId(String id) { this.id = id; } } public static class ConvertToLong { private Long value; public ConvertToLong setVal(Long value) { this.value = value; return this; } public Long getValue() { return value; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ConvertToLong that = (ConvertToLong) o; return Objects.equals(value, that.value); } @Override public int hashCode() { return Objects.hash(value); } } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/pubsub/http/SubscriberController.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.pubsub.http; import io.dapr.Rule; import io.dapr.Topic; import io.dapr.client.domain.BulkSubscribeAppResponse; import io.dapr.client.domain.BulkSubscribeAppResponseEntry; import io.dapr.client.domain.BulkSubscribeAppResponseStatus; import io.dapr.client.domain.BulkSubscribeMessage; import io.dapr.client.domain.BulkSubscribeMessageEntry; import io.dapr.client.domain.CloudEvent; import io.dapr.springboot.annotations.BulkSubscribe; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.BiFunction; /** * SpringBoot Controller to handle input binding. */ @RestController public class SubscriberController { private final Map>> messagesByTopic = Collections.synchronizedMap(new HashMap<>()); private static final Logger LOG = LoggerFactory.getLogger(SubscriberController.class); @GetMapping(path = "/messages/{topic}") public List> getMessagesByTopic(@PathVariable("topic") String topic) { return messagesByTopic.getOrDefault(topic, Collections.emptyList()); } private static final List messagesReceivedBulkPublishTopic = new ArrayList(); private static final List messagesReceivedTestingTopic = new ArrayList(); private static final List messagesReceivedTestingTopicV2 = new ArrayList(); private static final List messagesReceivedTestingTopicV3 = new ArrayList(); private static final List responsesReceivedTestingTopicBulkSub = new ArrayList<>(); @GetMapping(path = "/messages/redis/testingbulktopic") public List getMessagesReceivedBulkTopic() { return messagesReceivedBulkPublishTopic; } @GetMapping(path = "/messages/testingtopic") public List getMessagesReceivedTestingTopic() { return messagesReceivedTestingTopic; } @GetMapping(path = "/messages/testingtopicV2") public List getMessagesReceivedTestingTopicV2() { return messagesReceivedTestingTopicV2; } @GetMapping(path = "/messages/testingtopicV3") public List getMessagesReceivedTestingTopicV3() { return messagesReceivedTestingTopicV3; } @GetMapping(path = "/messages/topicBulkSub") public List getMessagesReceivedTestingTopicBulkSub() { LOG.info("res size: " + responsesReceivedTestingTopicBulkSub.size()); return responsesReceivedTestingTopicBulkSub; } @Topic(name = "testingtopic", pubsubName = "pubsub") @PostMapping("/route1") public Mono handleMessage(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); LOG.info("Testing topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedTestingTopic.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testingbulktopic", pubsubName = "pubsub") @PostMapping("/route1_redis") public Mono handleBulkTopicMessage(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); LOG.info("Testing bulk publish topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedBulkPublishTopic.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testingtopic", pubsubName = "pubsub", rule = @Rule(match = "event.type == 'myevent.v2'", priority = 2)) @PostMapping(path = "/route1_v2") public Mono handleMessageV2(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); System.out.println("Testing topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedTestingTopicV2.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testingtopic", pubsubName = "pubsub", rule = @Rule(match = "event.type == 'myevent.v3'", priority = 1)) @PostMapping(path = "/route1_v3") public Mono handleMessageV3(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); LOG.info("Testing topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesReceivedTestingTopicV3.add(envelope); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "typedtestingtopic", pubsubName = "pubsub") @PostMapping(path = "/route1b") public Mono handleMessageTyped(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String id = envelope.getData() == null ? "" : envelope.getData().getId(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); LOG.info("Testing typed topic Subscriber got message with ID: " + id + "; Content-type: " + contentType); messagesByTopic.compute("typedtestingtopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "binarytopic", pubsubName = "pubsub") @PostMapping(path = "/route2") public Mono handleBinaryMessage(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); String contentType = envelope.getDatacontenttype() == null ? "" : envelope.getDatacontenttype(); LOG.info("Binary topic Subscriber got message: " + message + "; Content-type: " + contentType); messagesByTopic.compute("binarytopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "#{'another'.concat('topic')}", pubsubName = "${pubsubName:pubsub}") @PostMapping(path = "/route3") public Mono handleMessageAnotherTopic(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); LOG.info("Another topic Subscriber got message: " + message); messagesByTopic.compute("anothertopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @PostMapping(path = "/route4") public Mono handleMessageTTLTopic(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try { String message = envelope.getData() == null ? "" : envelope.getData().toString(); LOG.info("TTL topic Subscriber got message: " + message); messagesByTopic.compute("ttltopic", merge(envelope)); } catch (Exception e) { throw new RuntimeException(e); } }); } @Topic(name = "testinglongvalues", pubsubName = "pubsub") @PostMapping(path = "/testinglongvalues") public Mono handleMessageLongValues(@RequestBody(required = false) CloudEvent cloudEvent) { return Mono.fromRunnable(() -> { try { Long message = cloudEvent.getData().getValue(); LOG.info("Subscriber got: " + message); messagesByTopic.compute("testinglongvalues", merge(cloudEvent)); } catch (Exception e) { throw new RuntimeException(e); } }); } /** * Receive messages using the bulk subscribe API. * The maxBulkSubCount and maxBulkSubAwaitDurationMs are adjusted to ensure * that all the test messages arrive in a single batch. * * @param bulkMessage incoming bulk of messages from the message bus. * @return status for each message received. */ @BulkSubscribe(maxMessagesCount = 100, maxAwaitDurationMs = 100) @Topic(name = "topicBulkSub", pubsubName = "pubsub") @PostMapping(path = "/routeBulkSub") public Mono handleMessageBulk( @RequestBody(required = false) BulkSubscribeMessage> bulkMessage) { return Mono.fromCallable(() -> { LOG.info("bulkMessage: " + bulkMessage.getEntries().size()); if (bulkMessage.getEntries().size() == 0) { BulkSubscribeAppResponse response = new BulkSubscribeAppResponse(new ArrayList<>()); responsesReceivedTestingTopicBulkSub.add(response); System.out.println("res size: " + responsesReceivedTestingTopicBulkSub.size()); return response; } List entries = new ArrayList<>(); for (BulkSubscribeMessageEntry entry: bulkMessage.getEntries()) { try { LOG.info("Bulk Subscriber got entry ID: %s\n", entry.getEntryId()); entries.add(new BulkSubscribeAppResponseEntry(entry.getEntryId(), BulkSubscribeAppResponseStatus.SUCCESS)); } catch (Exception e) { entries.add(new BulkSubscribeAppResponseEntry(entry.getEntryId(), BulkSubscribeAppResponseStatus.RETRY)); } } BulkSubscribeAppResponse response = new BulkSubscribeAppResponse(entries); responsesReceivedTestingTopicBulkSub.add(response); LOG.info("res size: " + responsesReceivedTestingTopicBulkSub.size()); return response; }); } private BiFunction>, List>> merge(final CloudEvent item) { return (key, value) -> { final List> list = value == null ? new ArrayList<>() : value; list.add(item); return list; }; } @GetMapping(path = "/health") public void health() { } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/pubsub/http/TestPubSubApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.pubsub.http; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestPubSubApplication { public static void main(String[] args) { SpringApplication.run(TestPubSubApplication.class, args); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/pubsub/outbox/DaprPubSubOutboxIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.pubsub.outbox; import io.dapr.client.DaprClient; import io.dapr.client.domain.ExecuteStateTransactionRequest; import io.dapr.client.domain.State; import io.dapr.client.domain.TransactionalStateOperation; import io.dapr.it.springboot4.testcontainers.DaprClientFactory; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.testcontainers.wait.strategy.DaprWait; import org.assertj.core.api.Assertions; import org.awaitility.Awaitility; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.time.Duration; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Random; import static io.dapr.it.springboot4.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @Disabled("Unclear why this test is failing intermittently in CI") @SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, classes = { TestPubsubOutboxApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprPubSubOutboxIT { private static final Logger LOG = LoggerFactory.getLogger(DaprPubSubOutboxIT.class); private static final Network DAPR_NETWORK = Network.newNetwork(); private static final Random RANDOM = new Random(); private static final int PORT = RANDOM.nextInt(1000) + 8000; private static final String PUBSUB_APP_ID = "pubsub-dapr-app"; private static final String PUBSUB_NAME = "pubsub"; // topics private static final String TOPIC_PRODUCT_CREATED = "product.created"; private static final String STATE_STORE_NAME = "kvstore"; @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName(PUBSUB_APP_ID) .withNetwork(DAPR_NETWORK) .withComponent(new Component(STATE_STORE_NAME, "state.in-memory", "v1", Map.of( "outboxPublishPubsub", PUBSUB_NAME, "outboxPublishTopic", TOPIC_PRODUCT_CREATED ))) .withComponent(new Component(PUBSUB_NAME, "pubsub.in-memory", "v1", Collections.emptyMap())) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> LOG.info(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal") .withAppPort(PORT); @Autowired private ProductWebhookController productWebhookController; /** * Expose the Dapr ports to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); registry.add("server.port", () -> PORT); } @BeforeAll public static void beforeAll(){ org.testcontainers.Testcontainers.exposeHostPorts(PORT); } @BeforeEach public void beforeEach() { DaprWait.forSubscription(PUBSUB_NAME, TOPIC_PRODUCT_CREATED).waitUntilReady(DAPR_CONTAINER); } @Test public void shouldPublishUsingOutbox() throws Exception { try (DaprClient client = DaprClientFactory.createDaprClientBuilder(DAPR_CONTAINER).build()) { ExecuteStateTransactionRequest transactionRequest = new ExecuteStateTransactionRequest(STATE_STORE_NAME); Product pencil = new Product("Pencil", 1.50); State state = new State<>( pencil.getId(), pencil, null ); TransactionalStateOperation operation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.UPSERT, state ); transactionRequest.setOperations(List.of(operation)); client.executeStateTransaction(transactionRequest).block(); Awaitility.await().atMost(Duration.ofSeconds(10)) .ignoreExceptions() .untilAsserted(() -> Assertions.assertThat(productWebhookController.getEventList()).isNotEmpty()); } } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/pubsub/outbox/Product.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.pubsub.outbox; import java.util.UUID; public class Product { private String id; private String name; private double price; public Product() { } public Product(String name, double price) { this.id = UUID.randomUUID().toString(); this.name = name; this.price = price; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } @Override public String toString() { return "Product{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", price=" + price + '}'; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/pubsub/outbox/ProductWebhookController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.pubsub.outbox; import io.dapr.Topic; import io.dapr.client.domain.CloudEvent; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @RestController @RequestMapping("/webhooks/products") public class ProductWebhookController { public final List> events = new CopyOnWriteArrayList<>(); @PostMapping("/created") @Topic(name = "product.created", pubsubName = "pubsub") public void handleEvent(@RequestBody CloudEvent cloudEvent) { System.out.println("Received product.created event: " + cloudEvent.getData()); events.add(cloudEvent); } public List> getEventList() { return events; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/pubsub/outbox/TestPubsubOutboxApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.pubsub.outbox; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestPubsubOutboxApplication { public static void main(String[] args) { SpringApplication.run(TestPubsubOutboxApplication.class, args); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/spring/DaprSpringBootContextInitializer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.spring; import io.dapr.testcontainers.DaprContainer; import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.env.MapPropertySource; import java.util.HashMap; import java.util.Map; import java.util.function.Supplier; /** * Spring {@link ApplicationContextInitializer} that configures Dapr-related properties * based on the {@link DaprContainer} registered by {@link DaprSpringBootExtension}. * *

    This initializer sets the following properties:

    *
      *
    • {@code server.port} - The port allocated for the Spring Boot application
    • *
    • {@code dapr.http.endpoint} - The HTTP endpoint of the Dapr sidecar
    • *
    • {@code dapr.grpc.endpoint} - The gRPC endpoint of the Dapr sidecar
    • *
    * *

    This initializer is automatically registered when using {@link DaprSpringBootTest}.

    */ public class DaprSpringBootContextInitializer implements ApplicationContextInitializer { private static final String PROPERTY_SOURCE_NAME = "daprTestcontainersProperties"; @Override public void initialize(ConfigurableApplicationContext applicationContext) { DaprContainer container = findContainer(); if (container == null) { throw new IllegalStateException( "No DaprContainer found in registry. Ensure you are using @DaprSpringBootTest " + "with a @DaprSidecarContainer annotated field." ); } // Create a property source with lazy resolution for endpoints // server.port can be resolved immediately since it's set at container creation time // Dapr endpoints are resolved lazily since the container may not be started yet applicationContext.getEnvironment().getPropertySources() .addFirst(new DaprLazyPropertySource(PROPERTY_SOURCE_NAME, container)); } private DaprContainer findContainer() { // Return the first container in the registry // In a test scenario, there should only be one test class running at a time return DaprSpringBootExtension.CONTAINER_REGISTRY.values().stream() .findFirst() .orElse(null); } /** * Custom PropertySource that lazily resolves Dapr container endpoints. * This allows the endpoints to be resolved after the container has started. */ private static class DaprLazyPropertySource extends MapPropertySource { private final Map> lazyProperties; DaprLazyPropertySource(String name, DaprContainer container) { super(name, new HashMap<>()); this.lazyProperties = new HashMap<>(); lazyProperties.put("server.port", container::getAppPort); lazyProperties.put("dapr.http.endpoint", container::getHttpEndpoint); lazyProperties.put("dapr.grpc.endpoint", container::getGrpcEndpoint); } @Override public Object getProperty(String name) { Supplier supplier = lazyProperties.get(name); if (supplier != null) { return supplier.get(); } return null; } @Override public boolean containsProperty(String name) { return lazyProperties.containsKey(name); } @Override public String[] getPropertyNames() { return lazyProperties.keySet().toArray(new String[0]); } } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/spring/DaprSpringBootExtension.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.spring; import io.dapr.testcontainers.DaprContainer; import io.dapr.it.springboot4.testcontainers.DaprSidecarContainer; import org.junit.jupiter.api.extension.BeforeAllCallback; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.platform.commons.support.AnnotationSupport; import java.lang.reflect.Field; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** * JUnit 5 extension that handles Dapr container setup for Spring Boot tests. * *

    This extension:

    *
      *
    • Discovers fields annotated with {@link DaprSidecarContainer}
    • *
    • Registers the container for property injection by {@link DaprSpringBootContextInitializer}
    • *
    * *

    This extension is automatically registered when using {@link DaprSpringBootTest}.

    */ public class DaprSpringBootExtension implements BeforeAllCallback { /** * Registry of DaprContainers by test class. Used by {@link DaprSpringBootContextInitializer} * to configure Spring properties. */ static final Map, DaprContainer> CONTAINER_REGISTRY = new ConcurrentHashMap<>(); @Override public void beforeAll(ExtensionContext context) throws Exception { Class testClass = context.getRequiredTestClass(); // Find fields annotated with @DaprSidecarContainer List containerFields = AnnotationSupport.findAnnotatedFields( testClass, DaprSidecarContainer.class, field -> DaprContainer.class.isAssignableFrom(field.getType()) ); if (containerFields.isEmpty()) { throw new IllegalStateException( "No @DaprSidecarContainer annotated field of type DaprContainer found in " + testClass.getName() + ". Add a static field like: @DaprSidecarContainer private static final DaprContainer DAPR = " + "DaprContainer.createForSpringBootTest(\"my-app\");" ); } if (containerFields.size() > 1) { throw new IllegalStateException( "Multiple @DaprSidecarContainer annotated fields found in " + testClass.getName() + ". Only one DaprContainer per test class is supported." ); } Field containerField = containerFields.get(0); containerField.setAccessible(true); DaprContainer container = (DaprContainer) containerField.get(null); if (container == null) { throw new IllegalStateException( "@DaprSidecarContainer field '" + containerField.getName() + "' is null in " + testClass.getName() ); } // Register container for the context initializer CONTAINER_REGISTRY.put(testClass, container); // Note: Testcontainers.exposeHostPorts() is NOT called here because of timing requirements. // It must be called in @BeforeEach, after the container starts to ensure proper Dapr-to-app communication. } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/spring/DaprSpringBootTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.spring; import io.dapr.it.springboot4.testcontainers.DaprSidecarContainer; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.core.annotation.AliasFor; import org.springframework.test.context.ContextConfiguration; import org.testcontainers.junit.jupiter.Testcontainers; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Composed annotation that combines {@link SpringBootTest}, {@link Testcontainers}, * and the necessary extensions for Dapr integration testing. * *

    This annotation simplifies the setup of Spring Boot integration tests with Dapr * by handling port allocation, property configuration, and container lifecycle automatically.

    * *

    Example usage:

    *
    {@code
     * @DaprSpringBootTest(classes = MyApplication.class)
     * class MyDaprIT {
     *
     *     @DaprSidecarContainer
     *     private static final DaprContainer DAPR = DaprContainer.createForSpringBootTest("my-app")
     *         .withComponent(new Component("statestore", "state.in-memory", "v1", Map.of()));
     *
     *     @Test
     *     void testSomething() {
     *         // Your test code here
     *     }
     * }
     * }
    * * @see DaprSidecarContainer * @see io.dapr.testcontainers.DaprContainer#createForSpringBootTest(String) */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @ExtendWith(DaprSpringBootExtension.class) // Must be first to register container before Spring starts @Testcontainers // Starts containers via @Container/@DaprSidecarContainer @ContextConfiguration(initializers = DaprSpringBootContextInitializer.class) @SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT) // Starts Spring context last public @interface DaprSpringBootTest { /** * The application classes to use for the test. * Alias for {@link SpringBootTest#classes()}. * * @return the application classes */ @AliasFor(annotation = SpringBootTest.class, attribute = "classes") Class[] classes() default {}; /** * Additional properties to configure the test. * Alias for {@link SpringBootTest#properties()}. * * @return additional properties */ @AliasFor(annotation = SpringBootTest.class, attribute = "properties") String[] properties() default {}; } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/DaprWorkflowsIT.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import io.dapr.workflows.client.WorkflowRuntimeStatus; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import java.time.Duration; import java.util.ArrayList; import java.util.Collections; import java.util.Map; import static io.dapr.it.springboot4.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @SpringBootTest( webEnvironment = WebEnvironment.RANDOM_PORT, classes = { TestWorkflowsConfiguration.class, TestWorkflowsApplication.class } ) @Testcontainers @Tag("testcontainers") public class DaprWorkflowsIT { private static final Network DAPR_NETWORK = Network.newNetwork(); @Container private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("workflow-dapr-app") .withNetwork(DAPR_NETWORK) .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withComponent(new Component("pubsub", "pubsub.in-memory", "v1", Collections.emptyMap())) .withDaprLogLevel(DaprLogLevel.DEBUG) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal"); /** * Expose the Dapr ports to the host. * * @param registry the dynamic property registry */ @DynamicPropertySource static void daprProperties(DynamicPropertyRegistry registry) { registry.add("dapr.http.endpoint", DAPR_CONTAINER::getHttpEndpoint); registry.add("dapr.grpc.endpoint", DAPR_CONTAINER::getGrpcEndpoint); } private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); @Autowired private DaprWorkflowClient workflowClient; @Autowired private WorkflowRuntimeBuilder workflowRuntimeBuilder; /** * Initializes the test. */ @BeforeEach public void init() { WorkflowRuntime runtime = workflowRuntimeBuilder.build(); System.out.println("Start workflow runtime"); runtime.start(false); } @Test public void testWorkflows() throws Exception { TestWorkflowPayload payload = new TestWorkflowPayload(new ArrayList<>()); String instanceId = workflowClient.scheduleNewWorkflow(TestWorkflow.class, payload); workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(10), false); workflowClient.raiseEvent(instanceId, "MoveForward", payload); Duration timeout = Duration.ofSeconds(10); WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true); assertNotNull(workflowStatus); TestWorkflowPayload workflowOutput = deserialize(workflowStatus.getSerializedOutput()); assertEquals(2, workflowOutput.getPayloads().size()); assertEquals("First Activity", workflowOutput.getPayloads().get(0)); assertEquals("Second Activity", workflowOutput.getPayloads().get(1)); assertEquals(instanceId, workflowOutput.getWorkflowId()); } @Test public void testSuspendAndResumeWorkflows() throws Exception { TestWorkflowPayload payload = new TestWorkflowPayload(new ArrayList<>()); String instanceId = workflowClient.scheduleNewWorkflow(TestWorkflow.class, payload); workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(10), false); workflowClient.suspendWorkflow(instanceId, "testing suspend."); WorkflowState instanceState = workflowClient.getWorkflowState(instanceId, false); assertNotNull(instanceState); assertEquals(WorkflowRuntimeStatus.SUSPENDED, instanceState.getRuntimeStatus()); workflowClient.resumeWorkflow(instanceId, "testing resume"); instanceState = workflowClient.getWorkflowState(instanceId, false); assertNotNull(instanceState); assertEquals(WorkflowRuntimeStatus.RUNNING, instanceState.getRuntimeStatus()); workflowClient.raiseEvent(instanceId, "MoveForward", payload); Duration timeout = Duration.ofSeconds(10); instanceState = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true); assertNotNull(instanceState); assertEquals(WorkflowRuntimeStatus.COMPLETED, instanceState.getRuntimeStatus()); } @Test public void testNamedActivitiesWorkflows() throws Exception { TestWorkflowPayload payload = new TestWorkflowPayload(new ArrayList<>()); String instanceId = workflowClient.scheduleNewWorkflow(TestNamedActivitiesWorkflow.class, payload); workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(10), false); Duration timeout = Duration.ofSeconds(10); WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true); assertNotNull(workflowStatus); TestWorkflowPayload workflowOutput = deserialize(workflowStatus.getSerializedOutput()); assertEquals(5, workflowOutput.getPayloads().size()); assertEquals("First Activity", workflowOutput.getPayloads().get(0)); assertEquals("First Activity", workflowOutput.getPayloads().get(1)); assertEquals("Second Activity", workflowOutput.getPayloads().get(2)); assertEquals("Anonymous Activity", workflowOutput.getPayloads().get(3)); assertEquals("Anonymous Activity 2", workflowOutput.getPayloads().get(4)); assertEquals(instanceId, workflowOutput.getWorkflowId()); } @Test public void testExecutionKeyWorkflows() throws Exception { TestWorkflowPayload payload = new TestWorkflowPayload(new ArrayList<>()); String instanceId = workflowClient.scheduleNewWorkflow(TestExecutionKeysWorkflow.class, payload); workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(100), false); Duration timeout = Duration.ofSeconds(1000); WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true); assertNotNull(workflowStatus); TestWorkflowPayload workflowOutput = deserialize(workflowStatus.getSerializedOutput()); assertEquals(1, workflowOutput.getPayloads().size()); assertEquals("Execution key found", workflowOutput.getPayloads().get(0)); assertTrue(KeyStore.getInstance().size() == 1); assertEquals(instanceId, workflowOutput.getWorkflowId()); } private TestWorkflowPayload deserialize(String value) throws JsonProcessingException { return OBJECT_MAPPER.readValue(value, TestWorkflowPayload.class); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/FirstActivity.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; public class FirstActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.getPayloads().add("First Activity"); return workflowPayload; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/KeyStore.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows; import java.util.HashMap; import java.util.Map; public class KeyStore { private final Map keyStore = new HashMap<>(); private static KeyStore instance; private KeyStore() { } public static KeyStore getInstance() { if (instance == null) { synchronized (KeyStore.class) { if (instance == null) { instance = new KeyStore(); } } } return instance; } public void addKey(String key, Boolean value) { keyStore.put(key, value); } public Boolean getKey(String key) { return keyStore.get(key); } public void removeKey(String key) { keyStore.remove(key); } public int size() { return keyStore.size(); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/SecondActivity.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; public class SecondActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.getPayloads().add("Second Activity"); return workflowPayload; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/TaskExecutionIdActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; public class TaskExecutionIdActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); KeyStore keyStore = KeyStore.getInstance(); Boolean exists = keyStore.getKey(ctx.getTaskExecutionId()); if (!Boolean.TRUE.equals(exists)) { keyStore.addKey(ctx.getTaskExecutionId(), true); workflowPayload.getPayloads().add("Execution key not found"); throw new IllegalStateException("Task execution key not found"); } workflowPayload.getPayloads().add("Execution key found"); return workflowPayload; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/TestExecutionKeysWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows; import io.dapr.durabletask.Task; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; import io.dapr.workflows.WorkflowTaskRetryPolicy; import java.time.Duration; import org.slf4j.Logger; public class TestExecutionKeysWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { Logger logger = ctx.getLogger(); String instanceId = ctx.getInstanceId(); logger.info("Starting Workflow: " + ctx.getName()); logger.info("Instance ID: " + instanceId); logger.info("Current Orchestration Time: " + ctx.getCurrentInstant()); TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.setWorkflowId(instanceId); WorkflowTaskOptions options = new WorkflowTaskOptions(WorkflowTaskRetryPolicy.newBuilder() .setMaxNumberOfAttempts(3) .setFirstRetryInterval(Duration.ofSeconds(1)) .setMaxRetryInterval(Duration.ofSeconds(10)) .setBackoffCoefficient(2.0) .setRetryTimeout(Duration.ofSeconds(50)) .build()); Task t = ctx.callActivity(TaskExecutionIdActivity.class.getName(), workflowPayload, options,TestWorkflowPayload.class); TestWorkflowPayload payloadAfterExecution = t.await(); ctx.complete(payloadAfterExecution); }; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/TestNamedActivitiesWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.slf4j.Logger; public class TestNamedActivitiesWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { Logger logger = ctx.getLogger(); String instanceId = ctx.getInstanceId(); logger.info("Starting Workflow: " + ctx.getName()); logger.info("Instance ID: " + instanceId); logger.info("Current Orchestration Time: " + ctx.getCurrentInstant()); TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.setWorkflowId(instanceId); var payloadAfterA = ctx.callActivity("a", workflowPayload, TestWorkflowPayload.class) .await(); var payloadAfterB = ctx.callActivity("b", payloadAfterA, TestWorkflowPayload.class) .await(); var payloadAfterC = ctx.callActivity("c", payloadAfterB, TestWorkflowPayload.class) .await(); var payloadAfterD = ctx.callActivity("d", payloadAfterC, TestWorkflowPayload.class) .await(); var payloadAfterE = ctx.callActivity("e", payloadAfterD, TestWorkflowPayload.class) .await(); ctx.complete(payloadAfterE); }; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/TestWorkflow.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.slf4j.Logger; import java.time.Duration; public class TestWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { Logger logger = ctx.getLogger(); String instanceId = ctx.getInstanceId(); logger.info("Starting Workflow: " + ctx.getName()); logger.info("Instance ID: " + instanceId); logger.info("Current Orchestration Time: " + ctx.getCurrentInstant()); TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.setWorkflowId(instanceId); TestWorkflowPayload payloadAfterFirst = ctx.callActivity(FirstActivity.class.getName(), workflowPayload, TestWorkflowPayload.class).await(); ctx.waitForExternalEvent("MoveForward", Duration.ofSeconds(3), TestWorkflowPayload.class).await(); TestWorkflowPayload payloadAfterSecond = ctx.callActivity(SecondActivity.class.getName(), payloadAfterFirst, TestWorkflowPayload.class).await(); ctx.complete(payloadAfterSecond); }; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/TestWorkflowPayload.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows; import java.util.List; public class TestWorkflowPayload { private List payloads; private String workflowId; public TestWorkflowPayload() { } public TestWorkflowPayload(List payloads, String workflowId) { this.payloads = payloads; this.workflowId = workflowId; } public TestWorkflowPayload(List payloads) { this.payloads = payloads; } public List getPayloads() { return payloads; } public void setPayloads(List payloads) { this.payloads = payloads; } public String getWorkflowId() { return workflowId; } public void setWorkflowId(String workflowId) { this.workflowId = workflowId; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/TestWorkflowsApplication.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkflowsApplication { public static void main(String[] args) { SpringApplication.run(TestWorkflowsApplication.class, args); } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/TestWorkflowsConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.config.Properties; import io.dapr.workflows.WorkflowActivityContext; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; import io.dapr.workflows.WorkflowActivity; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Map; @Configuration public class TestWorkflowsConfiguration { @Bean public ObjectMapper mapper() { return new ObjectMapper(); } @Bean public DaprWorkflowClient daprWorkflowClient( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map overrides = Map.of( "dapr.http.endpoint", daprHttpEndpoint, "dapr.grpc.endpoint", daprGrpcEndpoint ); return new DaprWorkflowClient(new Properties(overrides)); } @Bean public WorkflowRuntimeBuilder workflowRuntimeBuilder( @Value("${dapr.http.endpoint}") String daprHttpEndpoint, @Value("${dapr.grpc.endpoint}") String daprGrpcEndpoint ){ Map overrides = Map.of( "dapr.http.endpoint", daprHttpEndpoint, "dapr.grpc.endpoint", daprGrpcEndpoint ); WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder(new Properties(overrides)); builder.registerWorkflow(TestWorkflow.class); builder.registerWorkflow(TestExecutionKeysWorkflow.class); builder.registerWorkflow(TestNamedActivitiesWorkflow.class); builder.registerActivity(FirstActivity.class); builder.registerActivity(SecondActivity.class); builder.registerActivity(TaskExecutionIdActivity.class); builder.registerActivity("a", FirstActivity.class); builder.registerActivity("b", FirstActivity.class); builder.registerActivity("c", new SecondActivity()); builder.registerActivity("d", new WorkflowActivity() { @Override public Object run(WorkflowActivityContext ctx) { TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.getPayloads().add("Anonymous Activity"); return workflowPayload; } }); builder.registerActivity("e", new WorkflowActivity() { @Override public Object run(WorkflowActivityContext ctx) { TestWorkflowPayload workflowPayload = ctx.getInput(TestWorkflowPayload.class); workflowPayload.getPayloads().add("Anonymous Activity 2"); return workflowPayload; } }); return builder; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/multiapp/App2TransformActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows.multiapp; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class App2TransformActivity implements WorkflowActivity { private static final Logger logger = LoggerFactory.getLogger(App2TransformActivity.class); @Override public Object run(WorkflowActivityContext ctx) { String input = ctx.getInput(String.class); logger.info("=== App2: TransformActivity called ==="); logger.info("Input: {}", input); String output = input.toUpperCase() + " [TRANSFORMED BY APP2]"; logger.info("Output: {}", output); return output; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/multiapp/App2Worker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows.multiapp; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; /** * App2Worker - registers the App2TransformActivity. * This app will handle multi-app activity calls from the main workflow. */ public class App2Worker { public static void main(String[] args) throws Exception { System.out.println("=== Starting App2Worker (App2TransformActivity) ==="); // Register the Activity with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder() .registerActivity(App2TransformActivity.class); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("App2Worker started - registered App2TransformActivity only"); System.out.println("App2 is ready to receive cross-app activity calls..."); System.out.println("Waiting for cross-app activity calls..."); runtime.start(); } } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/multiapp/App3FinalizeActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows.multiapp; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class App3FinalizeActivity implements WorkflowActivity { private static final Logger logger = LoggerFactory.getLogger(App3FinalizeActivity.class); @Override public Object run(WorkflowActivityContext ctx) { String input = ctx.getInput(String.class); logger.info("=== App3: FinalizeActivity called ==="); logger.info("Input: {}", input); String output = input + " [FINALIZED BY APP3]"; logger.info("Output: {}", output); return output; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/multiapp/App3Worker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows.multiapp; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; /** * App3Worker - registers the App3FinalizeActivity. * This app will handle multi-app activity calls from the main workflow. */ public class App3Worker { public static void main(String[] args) throws Exception { System.out.println("=== Starting App3Worker (App3FinalizeActivity) ==="); // Register the Activity with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder() .registerActivity(App3FinalizeActivity.class); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("App3Worker started - registered App3FinalizeActivity only"); System.out.println("App3 is ready to receive cross-app activity calls..."); System.out.println("Waiting for cross-app activity calls..."); runtime.start(); } } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/multiapp/MultiAppWorker.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows.multiapp; import io.dapr.workflows.runtime.WorkflowRuntime; import io.dapr.workflows.runtime.WorkflowRuntimeBuilder; /** * MultiAppWorker - registers only the MultiAppWorkflow. * This is the main workflow orchestrator that will call activities in other apps. */ public class MultiAppWorker { public static void main(String[] args) throws Exception { System.out.println("=== Starting MultiAppWorker (Workflow Orchestrator) ==="); // Register the Workflow with the builder WorkflowRuntimeBuilder builder = new WorkflowRuntimeBuilder() .registerWorkflow(MultiAppWorkflow.class); // Build and start the workflow runtime try (WorkflowRuntime runtime = builder.build()) { System.out.println("MultiAppWorker started - registered MultiAppWorkflow only"); System.out.println("Waiting for workflow orchestration requests..."); runtime.start(); } } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/multiapp/MultiAppWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows.multiapp; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; import org.slf4j.Logger; public class MultiAppWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { Logger logger = ctx.getLogger(); String instanceId = ctx.getInstanceId(); logger.info("Starting MultiAppWorkflow: {}", ctx.getName()); logger.info("Instance ID: {}", instanceId); String input = ctx.getInput(String.class); logger.info("Workflow input: {}", input); // Call App2TransformActivity in app2 logger.info("Calling multi-app activity in 'app2'..."); String transformedByApp2 = ctx.callActivity( App2TransformActivity.class.getName(), input, new WorkflowTaskOptions("app2"), String.class ).await(); // Call App3FinalizeActivity in app3 logger.info("Calling multi-app activity in 'app3'..."); String finalizedByApp3 = ctx.callActivity( App3FinalizeActivity.class.getName(), transformedByApp2, new WorkflowTaskOptions("app3"), String.class ).await(); logger.info("Final multi-app activity result: {}", finalizedByApp3); ctx.complete(finalizedByApp3); }; } } ================================================ FILE: spring-boot-4-sdk-tests/src/test/java/io/dapr/it/springboot4/testcontainers/workflows/multiapp/WorkflowsMultiAppCallActivityIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.dapr.it.springboot4.testcontainers.workflows.multiapp; import io.dapr.it.springboot4.testcontainers.ContainerConstants; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import io.dapr.testcontainers.DaprPlacementContainer; import io.dapr.testcontainers.DaprSchedulerContainer; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import io.dapr.workflows.client.WorkflowRuntimeStatus; import io.dapr.config.Properties; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.testcontainers.containers.Network; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.utility.MountableFile; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; import java.time.Duration; import java.util.Map; import static io.dapr.it.springboot4.testcontainers.ContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_PLACEMENT_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_SCHEDULER_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; /** * Multi-App Pattern integration test. * * This test demonstrates the multi-app pattern by: * 1. Starting 3 Dapr containers (multiapp-worker, app2, app3) * 2. Launching Java processes that register workflows/activities in separate apps * 3. Executing a multi-app workflow * 4. Asserting successful completion */ @Testcontainers @Tag("testcontainers") public class WorkflowsMultiAppCallActivityIT { private static final Network DAPR_NETWORK = Network.newNetwork(); @Container private final static DaprPlacementContainer sharedPlacementContainer = new DaprPlacementContainer(DAPR_PLACEMENT_IMAGE_TAG) .withNetwork(DAPR_NETWORK) .withNetworkAliases("placement") .withReuse(false); @Container private final static DaprSchedulerContainer sharedSchedulerContainer = new DaprSchedulerContainer(DAPR_SCHEDULER_IMAGE_TAG) .withNetwork(DAPR_NETWORK) .withNetworkAliases("scheduler") .withReuse(false); // Main workflow orchestrator container @Container private final static DaprContainer MAIN_WORKFLOW_SIDECAR = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("multiapp-worker") .withNetwork(DAPR_NETWORK) .withNetworkAliases("main-workflow-sidecar") .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withDaprLogLevel(DaprLogLevel.DEBUG) .dependsOn(sharedPlacementContainer, sharedSchedulerContainer) .withLogConsumer(outputFrame -> System.out.println("MAIN_WORKFLOW: " + outputFrame.getUtf8String())) .withAppChannelAddress("host.testcontainers.internal"); // App2 container for App2TransformActivity @Container private final static DaprContainer APP2_SIDECAR = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("app2") .withNetwork(DAPR_NETWORK) .withNetworkAliases("app2-sidecar") .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withAppChannelAddress("main-workflow-sidecar:3500") .withDaprLogLevel(DaprLogLevel.DEBUG) .dependsOn(sharedPlacementContainer, sharedSchedulerContainer, MAIN_WORKFLOW_SIDECAR) .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withLogConsumer(outputFrame -> System.out.println("APP2: " + outputFrame.getUtf8String())); // App3 container for App3FinalizeActivity @Container private final static DaprContainer APP3_SIDECAR = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("app3") .withNetwork(DAPR_NETWORK) .withNetworkAliases("app3-sidecar") .withPlacementContainer(sharedPlacementContainer) .withSchedulerContainer(sharedSchedulerContainer) .withAppChannelAddress("main-workflow-sidecar:3500") .withDaprLogLevel(DaprLogLevel.DEBUG) .dependsOn(sharedPlacementContainer, sharedSchedulerContainer, MAIN_WORKFLOW_SIDECAR) .withComponent(new Component("kvstore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withLogConsumer(outputFrame -> System.out.println("APP3: " + outputFrame.getUtf8String())); // TestContainers for each app @Container private static GenericContainer multiappWorker = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=multiapp-worker", "-Ddapr.grpc.endpoint=main-workflow-sidecar:50001", "-Ddapr.http.endpoint=main-workflow-sidecar:3500", "io.dapr.it.springboot4.testcontainers.workflows.multiapp.MultiAppWorker") .withNetwork(DAPR_NETWORK) .dependsOn(MAIN_WORKFLOW_SIDECAR) .waitingFor(Wait.forLogMessage(".*MultiAppWorker started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("MultiAppWorker: " + outputFrame.getUtf8String())); @Container private final static GenericContainer app2Worker = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=app2", "-Ddapr.grpc.endpoint=app2-sidecar:50001", "-Ddapr.http.endpoint=app2-sidecar:3500", "io.dapr.it.springboot4.testcontainers.workflows.multiapp.App2Worker") .withNetwork(DAPR_NETWORK) .dependsOn(APP2_SIDECAR) .waitingFor(Wait.forLogMessage(".*App2Worker started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("App2Worker: " + outputFrame.getUtf8String())); @Container private final static GenericContainer app3Worker = new GenericContainer<>(ContainerConstants.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-cp", "test-classes:classes:dependency/*:*", "-Ddapr.app.id=app3", "-Ddapr.grpc.endpoint=app3-sidecar:50001", "-Ddapr.http.endpoint=app3-sidecar:3500", "io.dapr.it.springboot4.testcontainers.workflows.multiapp.App3Worker") .withNetwork(DAPR_NETWORK) .dependsOn(APP3_SIDECAR) .waitingFor(Wait.forLogMessage(".*App3Worker started.*", 1)) .withLogConsumer(outputFrame -> System.out.println("App3Worker: " + outputFrame.getUtf8String())); @Test public void testMultiAppWorkflow() throws Exception { // TestContainers wait strategies ensure all containers are ready before this test runs String input = "Hello World"; String expectedOutput = "HELLO WORLD [TRANSFORMED BY APP2] [FINALIZED BY APP3]"; // Create workflow client connected to the main workflow orchestrator // Use the same endpoint configuration that the workers use // The workers use host.testcontainers.internal:50001 Map propertyOverrides = Map.of( "dapr.grpc.endpoint", MAIN_WORKFLOW_SIDECAR.getGrpcEndpoint(), "dapr.http.endpoint", MAIN_WORKFLOW_SIDECAR.getHttpEndpoint() ); Properties clientProperties = new Properties(propertyOverrides); DaprWorkflowClient workflowClient = new DaprWorkflowClient(clientProperties); try { String instanceId = workflowClient.scheduleNewWorkflow(MultiAppWorkflow.class, input); assertNotNull(instanceId, "Workflow instance ID should not be null"); workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(30), false); WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, null, true); assertNotNull(workflowStatus, "Workflow status should not be null"); assertEquals(WorkflowRuntimeStatus.COMPLETED, workflowStatus.getRuntimeStatus(), "Workflow should complete successfully"); String workflowOutput = workflowStatus.readOutputAs(String.class); assertEquals(expectedOutput, workflowOutput, "Workflow output should match expected result"); } finally { workflowClient.close(); } } } ================================================ FILE: spring-boot-examples/README.md ================================================ # Dapr Spring Boot and Testcontainers integration Example This example consists of two applications: - Producer App: - Publish messages using a Spring Messaging approach - Store and retrieve information using Spring Data CrudRepository - Implements a Workflow with Dapr Workflows - Consumer App: - Subscribe to messages ## Running these examples from source code To run these examples you will need: - Java SDK - Maven - Docker or a container runtime such as Podman From the `spring-boot-examples/` directory you can start each service using the test configuration that uses [Testcontainers](https://testcontainers.com) to boostrap [Dapr](https://dapr.io) by running the following command: ```sh cd producer-app/ ../../mvnw -Dspring-boot.run.arguments="--reuse=true" spring-boot:test-run ``` This will start the `producer-app` with Dapr services and the infrastructure needed by the application to run, in this case RabbitMQ and PostgreSQL. The `producer-app` starts on port `8080` by default. The `-Dspring-boot.run.arguments="--reuse=true"` flag helps the application to connect to an existing shared infrastructure if it already exists. For development purposes, and to connect both applications we will set the flag in both. For more details check the `DaprTestContainersConfig.java` classes in both, the `producer-app` and the `consumer-app`. Then run in a different terminal: ```sh cd consumer-app/ ../../mvnw -Dspring-boot.run.arguments="--reuse=true" spring-boot:test-run ``` The `consumer-app` starts in port `8081` by default. ## Interacting with the applications Now that both applications are up you can place an order by sending a POST request to `:8080/orders/` You can use `curl` to send a POST request to the `producer-app`: ```sh curl -X POST localhost:8080/orders -H 'Content-Type: application/json' -d '{ "item": "the mars volta EP", "amount": 1 }' ``` If you check the `producer-app` logs you should see the following lines: ```bash ... Storing Order: Order{id='null', item='the mars volta EP', amount=1} Publishing Order Event: Order{id='d4f8ea15-b774-441e-bcd2-7a4208a80bec', item='the mars volta EP', amount=1} ``` If you check the `consumer-app` logs you should see the following lines, showing that the message published by the `producer-app` was correctly consumed by the `consumer-app`: ```bash Order Event Received: Order{id='d4f8ea15-b774-441e-bcd2-7a4208a80bec', item='the mars volta EP', amount=1} ``` Next, you can create a new customer to trigger the customer's tracking workflow: ```sh curl -X POST localhost:8080/customers -H 'Content-Type: application/json' -d '{ "customerName": "salaboy" }' ``` A new Workflow Instance was created to track the customers interactions. Now, the workflow instance is waiting for the customer to request a follow-up. You should see in the `producer-app` logs: ```bash Workflow instance started Let's register the customer: salaboy Customer: salaboy registered. Let's wait for the customer: salaboy to request a follow up. ``` Send an event simulating the customer request for a follow-up: ```sh curl -X POST localhost:8080/customers/followup -H 'Content-Type: application/json' -d '{ "customerName": "salaboy" }' ``` In the `producer-app` logs you should see that the workflow instance id moved forward to the Customer Follow Up activity: ```bash Customer follow-up requested: salaboy Let's book a follow up for the customer: salaboy Customer: salaboy follow-up done. Congratulations the customer: salaboy is happy! ``` ## Running on Kubernetes You can run the same example on a Kubernetes cluster. [Check the Kubernetes tutorial here](kubernetes/README.md). ================================================ FILE: spring-boot-examples/consumer-app/pom.xml ================================================ 4.0.0 io.dapr spring-boot-examples 1.18.0-SNAPSHOT ../pom.xml consumer-app consumer-app Spring Boot, Testcontainers and Dapr Integration Examples :: Consumer App org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-actuator io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test org.testcontainers junit-jupiter test org.testcontainers postgresql test org.testcontainers rabbitmq test org.testcontainers kafka test io.rest-assured rest-assured test org.junit.jupiter junit-jupiter-api test org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/consumer-app/src/main/java/io/dapr/springboot/examples/consumer/ConsumerApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.consumer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); } } ================================================ FILE: spring-boot-examples/consumer-app/src/main/java/io/dapr/springboot/examples/consumer/Order.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.consumer; public class Order { private String id; private String item; private Integer amount; public Order() { } /** * Creates a new Order. * * @param id order id * @param item item reference * @param amount of items in the order */ public Order(String id, String item, Integer amount) { this.id = id; this.item = item; this.amount = amount; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getItem() { return item; } public void setItem(String item) { this.item = item; } public Integer getAmount() { return amount; } public void setAmount(Integer amount) { this.amount = amount; } @Override public String toString() { return "Order{" + "id='" + id + '\'' + ", item='" + item + '\'' + ", amount=" + amount + '}'; } } ================================================ FILE: spring-boot-examples/consumer-app/src/main/java/io/dapr/springboot/examples/consumer/SubscriberRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.consumer; import io.dapr.Topic; import io.dapr.client.domain.CloudEvent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @RestController public class SubscriberRestController { private final Logger logger = LoggerFactory.getLogger(SubscriberRestController.class); private List events = new ArrayList<>(); /** * Subscribe to cloud events. * @param cloudEvent payload */ @PostMapping("subscribe") @Topic(pubsubName = "pubsub", name = "topic") public void subscribe(@RequestBody CloudEvent cloudEvent) { logger.info("Order Event Received: " + cloudEvent.getData()); events.add(cloudEvent); } @GetMapping("events") public List getAllEvents() { return events; } } ================================================ FILE: spring-boot-examples/consumer-app/src/main/resources/application.properties ================================================ dapr.pubsub.name=pubsub spring.application.name=consumer-app server.port=8081 ================================================ FILE: spring-boot-examples/consumer-app/src/test/java/io/dapr/springboot/examples/consumer/ConsumerAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.consumer; import io.dapr.client.DaprClient; import io.dapr.spring.messaging.DaprMessagingTemplate; import io.dapr.springboot.DaprAutoConfiguration; import io.dapr.testcontainers.DaprContainer; import io.restassured.RestAssured; import io.restassured.http.ContentType; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.testcontainers.containers.wait.strategy.Wait; import java.io.IOException; import java.time.Duration; import static io.restassured.RestAssured.given; import static org.awaitility.Awaitility.await; import static org.hamcrest.CoreMatchers.equalTo; @SpringBootTest(classes = {TestConsumerApplication.class, DaprTestContainersConfig.class, ConsumerAppTestConfiguration.class, DaprAutoConfiguration.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) class ConsumerAppIT { private static final String SUBSCRIPTION_MESSAGE_PATTERN = ".*app is subscribed to the following topics.*"; @Autowired private DaprMessagingTemplate messagingTemplate; @Autowired private SubscriberRestController subscriberRestController; @Autowired private DaprClient daprClient; @Autowired private DaprContainer daprContainer; @BeforeAll public static void setup() { org.testcontainers.Testcontainers.exposeHostPorts(8081); } @BeforeEach void setUp() { RestAssured.baseURI = "http://localhost:" + 8081; Wait.forLogMessage(SUBSCRIPTION_MESSAGE_PATTERN, 1).waitUntilReady(daprContainer); } @Test void testMessageConsumer() throws InterruptedException, IOException { messagingTemplate.send("topic", new Order("abc-123", "the mars volta LP", 1)); given().contentType(ContentType.JSON) .when() .get("/events") .then() .statusCode(200); await().atMost(Duration.ofSeconds(10)) .until(subscriberRestController.getAllEvents()::size, equalTo(1)); } } ================================================ FILE: spring-boot-examples/consumer-app/src/test/java/io/dapr/springboot/examples/consumer/ConsumerAppTestConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.consumer; import io.dapr.client.DaprClient; import io.dapr.spring.boot.properties.pubsub.DaprPubSubProperties; import io.dapr.spring.messaging.DaprMessagingTemplate; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @EnableConfigurationProperties({DaprPubSubProperties.class}) public class ConsumerAppTestConfiguration { @Bean public DaprMessagingTemplate messagingTemplate(DaprClient daprClient, DaprPubSubProperties daprPubSubProperties) { return new DaprMessagingTemplate<>(daprClient, daprPubSubProperties.getName(), false); } } ================================================ FILE: spring-boot-examples/consumer-app/src/test/java/io/dapr/springboot/examples/consumer/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.consumer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import org.testcontainers.containers.RabbitMQContainer; import org.testcontainers.utility.DockerImageName; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RabbitMQContainer rabbitMQContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RabbitMQContainer(DockerImageName.parse("rabbitmq:3.7.25-management-alpine")) .withExposedPorts(5672) .withNetworkAliases("rabbitmq") .withReuse(reuse) .withNetwork(daprNetwork); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RabbitMQContainer rabbitMQContainer, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); Map rabbitMqProperties = new HashMap<>(); rabbitMqProperties.put("connectionString", "amqp://guest:guest@rabbitmq:5672"); rabbitMqProperties.put("user", "guest"); rabbitMqProperties.put("password", "guest"); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("consumer-app") .withNetwork(daprNetwork).withComponent(new Component("pubsub", "pubsub.rabbitmq", "v1", rabbitMqProperties)) .withDaprLogLevel(DaprLogLevel.INFO) .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) .withAppPort(8081).withAppChannelAddress("host.testcontainers.internal") .withReusablePlacement(reuse) .withReusableScheduler(reuse) .withAppHealthCheckPath("/actuator/health") .dependsOn(rabbitMQContainer); } } ================================================ FILE: spring-boot-examples/consumer-app/src/test/java/io/dapr/springboot/examples/consumer/TestConsumerApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.consumer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestConsumerApplication { public static void main(String[] args) { SpringApplication.from(ConsumerApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8081); } } ================================================ FILE: spring-boot-examples/consumer-app/src/test/resources/application.properties ================================================ dapr.pubsub.name=pubsub server.port=8081 ================================================ FILE: spring-boot-examples/kubernetes/README.md ================================================ # Running this example on Kubernetes To run this example on Kubernetes, you can use any Kubernetes distribution. We install Dapr on a Kubernetes cluster and then we will deploy both the `producer-app` and `consumer-app`. ## Creating a cluster and installing Dapr If you don't have any Kubernetes cluster you can use Kubernetes KIND to create a local cluster. We will create a cluster with a local container registry, so we can push our container images to it. This is covered in the [KIND documentation here](https://kind.sigs.k8s.io/docs/user/local-registry/). ```bash ./kind-with-registry.sh ``` **Note**: If you are using Podman Desktop, instead of Docker you need to run the following command to enable insecure registries: ``` read -r -d '' registry_conf < /etc/containers/registries.conf.d/local.conf' <<<$registry_conf ``` Once you have the cluster up and running you can install Dapr: ```bash helm repo add dapr https://dapr.github.io/helm-charts/ helm repo update helm upgrade --install dapr dapr/dapr \ --version=1.17.0 \ --namespace dapr-system \ --create-namespace \ --wait ``` ## Creating containers using Spring Boot and pushing to local registry Now that we have our cluster set up with a local container registry, we need to build our `producer-app` and `consumer-app` containers. For this we will use Spring Boot build it functions to create container images using [Buildpacks](https://buildpacks.io): From inside the `spring-boot-examples/producer-app` directory you can run the following command to create a container: ```bash mvn spring-boot:build-image ``` Once we have the container image created, we need to tag and push to the local registry, so the image can be used from our local cluster. Alternatively, you can push the images to a public registry and update the Kubernetes manifests accordingly. ```bash docker tag producer-app:0.15.0-SNAPSHOT localhost:5001/sb-producer-app docker push localhost:5001/sb-producer-app ``` **Note**: for Podman you need to run: ``` podman push localhost:5001/sb-producer-app --tls-verify=false ``` From inside the `spring-boot-examples/consumer-app` directory you can run the following command to create a container: ```bash mvn spring-boot:build-image ``` Once we have the container image created, we need to tag and push to the local registry, so the image can be used from our local cluster. Alternatively, you can push the images to a public registry and update the Kubernetes manifests accordingly. ```bash docker tag consumer-app:0.15.0-SNAPSHOT localhost:5001/sb-consumer-app docker push localhost:5001/sb-consumer-app ``` **Note**: for Podman you need to run: ``` podman push localhost:5001/sb-consumer-app --tls-verify=false ``` Now we are ready to install our application into the cluster. ## Installing and interacting with the application Now that we have a running Kubernetes cluster, we need to first install the components needed by the application. In this case RabbitMQ and PostgreSQL. We will use Helm to do so: Let's start with RabbitMQ: ```bash helm install rabbitmq oci://registry-1.docker.io/bitnamicharts/rabbitmq --set auth.username=guest --set auth.password=guest --set auth.erlangCookie=ABC ``` Then PostgreSQL: ```bash helm install postgresql oci://registry-1.docker.io/bitnamicharts/postgresql --set global.postgresql.auth.database=dapr --set global.postgresql.auth.postgresPassword=password ``` Once we have these components up and running we can install the application by running from inside the `spring-boot-examples/kubernetes/` directory: ```bash kubectl apply -f . ``` Next you need to use `kubectl port-forward` to be able to send requests to the applications. ```bash kubectl port-forward svc/producer-app 8080:8080 ``` In a different terminals you can check the logs of the `producer-app` and `consumer-app`: ```bash kubectl logs -f producer-app- ``` and ```bash kubectl logs -f consumer-app- ``` ================================================ FILE: spring-boot-examples/kubernetes/consumer-app.yaml ================================================ apiVersion: v1 kind: Service metadata: labels: app: consumer-app name: consumer-app spec: type: NodePort ports: - name: "consumer-app" port: 8081 targetPort: 8081 nodePort: 31001 selector: app: consumer-app --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: consumer-app name: consumer-app spec: replicas: 1 selector: matchLabels: app: consumer-app template: metadata: annotations: dapr.io/app-id: consumer-app dapr.io/app-port: "8081" dapr.io/enabled: "true" labels: app: consumer-app spec: containers: - image: localhost:5001/sb-consumer-app name: consumer-app imagePullPolicy: Always ports: - containerPort: 8081 name: consumer-app ================================================ FILE: spring-boot-examples/kubernetes/kind-with-registry.sh ================================================ #!/bin/sh set -o errexit # 1. Create registry container unless it already exists reg_name='kind-registry' reg_port='5001' if [ "$(docker inspect -f '{{.State.Running}}' "${reg_name}" 2>/dev/null || true)" != 'true' ]; then docker run \ -d --restart=always -p "127.0.0.1:${reg_port}:5000" --network bridge --name "${reg_name}" \ registry:2 fi # 2. Create kind cluster with containerd registry config dir enabled # # NOTE: the containerd config patch is not necessary with images from kind v0.27.0+ # It may enable some older images to work similarly. # If you're only supporting newer releases, you can just use `kind create cluster` here. # # See: # https://github.com/kubernetes-sigs/kind/issues/2875 # https://github.com/containerd/containerd/blob/main/docs/cri/config.md#registry-configuration # See: https://github.com/containerd/containerd/blob/main/docs/hosts.md cat < 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml spring-boot-examples pom true producer-app consumer-app workflows org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true org.apache.maven.plugins maven-failsafe-plugin ${project.build.outputDirectory} org.jacoco jacoco-maven-plugin **/*io/dapr/springboot/examples/** ================================================ FILE: spring-boot-examples/producer-app/pom.xml ================================================ 4.0.0 io.dapr spring-boot-examples 1.18.0-SNAPSHOT ../pom.xml producer-app producer-app Spring Boot, Testcontainers and Dapr Integration Examples :: Producer App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test org.testcontainers postgresql test org.testcontainers rabbitmq test io.rest-assured rest-assured test org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/Customer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; public class Customer { private String customerName; private String workflowId; private boolean inCustomerDB = false; private boolean followUp = false; public boolean isFollowUp() { return followUp; } public void setFollowUp(boolean followUp) { this.followUp = followUp; } public boolean isInCustomerDB() { return inCustomerDB; } public void setInCustomerDB(boolean inCustomerDB) { this.inCustomerDB = inCustomerDB; } public String getWorkflowId() { return workflowId; } public void setWorkflowId(String workflowId) { this.workflowId = workflowId; } public String getCustomerName() { return customerName; } public void setCustomerName(String customerName) { this.customerName = customerName; } @Override public String toString() { return "Customer [customerName=" + customerName + ", workflowId=" + workflowId + ", inCustomerDB=" + inCustomerDB + ", followUp=" + followUp + "]"; } } ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/CustomerStore.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; import org.springframework.stereotype.Component; import java.util.Collection; import java.util.HashMap; import java.util.Map; @Component public class CustomerStore { private Map customers = new HashMap<>(); public void addCustomer(Customer customer) { customers.put(customer.getCustomerName(), customer); } public Customer getCustomer(String customerName) { return customers.get(customerName); } public Collection getCustomers() { return customers.values(); } } ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/CustomersRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import io.dapr.springboot.examples.producer.workflow.CustomerWorkflow; import io.dapr.workflows.client.DaprWorkflowClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.Collection; import java.util.HashMap; import java.util.Map; @RestController @EnableDaprWorkflows public class CustomersRestController { private final Logger logger = LoggerFactory.getLogger(CustomersRestController.class); @Autowired private DaprWorkflowClient daprWorkflowClient; @Autowired private CustomerStore customerStore; @GetMapping("/") public String root() { return "OK"; } private Map customersWorkflows = new HashMap<>(); /** * Track customer endpoint. * * @param customer provided customer to track * @return confirmation that the workflow instance was created for a given customer */ @PostMapping("/customers") public String trackCustomer(@RequestBody Customer customer) { String instanceId = daprWorkflowClient.scheduleNewWorkflow(CustomerWorkflow.class, customer); logger.info("Workflow instance " + instanceId + " started"); customersWorkflows.put(customer.getCustomerName(), instanceId); return "New Workflow Instance created for Customer: " + customer.getCustomerName(); } /** * Request customer follow-up. * @param customer associated with a workflow instance * @return confirmation that the follow-up was requested */ @PostMapping("/customers/followup") public String customerNotification(@RequestBody Customer customer) { logger.info("Customer follow-up requested: " + customer.getCustomerName()); String workflowIdForCustomer = customersWorkflows.get(customer.getCustomerName()); if (workflowIdForCustomer == null || workflowIdForCustomer.isEmpty()) { return "There is no workflow associated with customer: " + customer.getCustomerName(); } else { daprWorkflowClient.raiseEvent(workflowIdForCustomer, "CustomerReachOut", customer); return "Customer Follow-up requested"; } } public Collection getCustomers() { return customerStore.getCustomers(); } } ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/Order.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; import org.springframework.data.annotation.Id; public class Order { @Id private String id; private String item; private Integer amount; public Order() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getItem() { return item; } public void setItem(String item) { this.item = item; } public Integer getAmount() { return amount; } public void setAmount(Integer amount) { this.amount = amount; } @Override public String toString() { return "Order{" + "id='" + id + '\'' + ", item='" + item + '\'' + ", amount=" + amount + '}'; } } ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/OrderDTO.java ================================================ package io.dapr.springboot.examples.producer; public class OrderDTO { private String id; private String item; private Integer amount; public OrderDTO() { } public OrderDTO(String id, String item, Integer amount) { this.id = id; this.item = item; this.amount = amount; } public String getId() { return id; } public String getItem() { return item; } public Integer getAmount() { return amount; } } ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/OrderRepository.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; import org.springframework.data.repository.CrudRepository; import java.util.List; public interface OrderRepository extends CrudRepository { List findByItem(String item); List findByAmount(Integer amount); } ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/OrdersRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; import io.dapr.client.DaprClient; import io.dapr.client.domain.ExecuteStateTransactionRequest; import io.dapr.client.domain.State; import io.dapr.client.domain.TransactionalStateOperation; import io.dapr.spring.data.repository.config.EnableDaprRepositories; import io.dapr.spring.messaging.DaprMessagingTemplate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @EnableDaprRepositories public class OrdersRestController { private static final Logger logger = LoggerFactory.getLogger(OrdersRestController.class); @Autowired private OrderRepository repository; @Autowired private DaprMessagingTemplate messagingTemplate; @Autowired private DaprClient daprClient; /** * Store orders from customers. * @param order from the customer * * @return confirmation that the order was stored and the event published */ @PostMapping("/orders") public String storeOrder(@RequestBody Order order) { logger.info("Storing Order: " + order); repository.save(order); logger.info("Publishing Order Event: " + order); messagingTemplate.send("topic", order); return "Order Stored and Event Published"; } @PostMapping("/orders/outbox") public String storeOrderOutbox(@RequestBody Order order) { logger.info("Storing Order with Outbox: {}", order); ExecuteStateTransactionRequest transactionRequest = new ExecuteStateTransactionRequest("kvstore-outbox"); State state = new State<>( order.getId(), order, null ); TransactionalStateOperation operation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.UPSERT, state ); transactionRequest.setOperations(List.of(operation)); daprClient.executeStateTransaction(transactionRequest).block(); logger.info("Order Stored with Outbox: {}", order); return "Order Stored with Outbox"; } @GetMapping("/orders") public Iterable getAll() { return repository.findAll(); } @GetMapping("/orders/byItem/") public Iterable getAllByItem(@RequestParam("item") String item) { return repository.findByItem(item); } @GetMapping("/orders/byAmount/") public Iterable getAllByItem(@RequestParam("amount") Integer amount) { return repository.findByAmount(amount); } } ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/ProducerAppConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.client.DaprClient; import io.dapr.spring.boot.properties.pubsub.DaprPubSubProperties; import io.dapr.spring.boot.properties.statestore.DaprStateStoreProperties; import io.dapr.spring.data.DaprKeyValueAdapterResolver; import io.dapr.spring.data.DaprKeyValueTemplate; import io.dapr.spring.data.KeyValueAdapterResolver; import io.dapr.spring.messaging.DaprMessagingTemplate; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @EnableConfigurationProperties({DaprPubSubProperties.class, DaprStateStoreProperties.class}) public class ProducerAppConfiguration { @Bean public ObjectMapper mapper() { return new ObjectMapper(); } /** * Produce a KeyValueAdapterResolver for Dapr. * @param daprClient dapr client * @param mapper object mapper * @param daprStatestoreProperties properties to configure state store * @return KeyValueAdapterResolver */ @Bean public KeyValueAdapterResolver keyValueAdapterResolver(DaprClient daprClient, ObjectMapper mapper, DaprStateStoreProperties daprStatestoreProperties) { String storeName = daprStatestoreProperties.getName(); String bindingName = daprStatestoreProperties.getBinding(); return new DaprKeyValueAdapterResolver(daprClient, mapper, storeName, bindingName); } @Bean public DaprKeyValueTemplate daprKeyValueTemplate(KeyValueAdapterResolver keyValueAdapterResolver) { return new DaprKeyValueTemplate(keyValueAdapterResolver); } @Bean public DaprMessagingTemplate messagingTemplate(DaprClient daprClient, DaprPubSubProperties daprPubSubProperties) { return new DaprMessagingTemplate<>(daprClient, daprPubSubProperties.getName(), false); } } ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/ProducerApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ProducerApplication { public static void main(String[] args) { SpringApplication.run(ProducerApplication.class, args); } } ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/workflow/CustomerFollowupActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer.workflow; import io.dapr.springboot.examples.producer.Customer; import io.dapr.springboot.examples.producer.CustomerStore; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class CustomerFollowupActivity implements WorkflowActivity { private final Logger logger = LoggerFactory.getLogger(CustomerFollowupActivity.class); private final CustomerStore customerStore; public CustomerFollowupActivity(CustomerStore customerStore) { this.customerStore = customerStore; } @Override public Object run(WorkflowActivityContext ctx) { Customer customer = ctx.getInput(Customer.class); //Let's get the hydrate the real customer from the CustomerStore customer = customerStore.getCustomer(customer.getCustomerName()); customer.setFollowUp(true); customerStore.addCustomer(customer); logger.info("Customer: " + customer.getCustomerName() + " follow-up done."); return customer; } } ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/workflow/CustomerWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer.workflow; import io.dapr.springboot.examples.producer.Customer; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; import java.time.Duration; @Component public class CustomerWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { String instanceId = ctx.getInstanceId(); Customer customer = ctx.getInput(Customer.class); customer.setWorkflowId(instanceId); ctx.getLogger().info("Let's register the customer: " + customer.getCustomerName()); ctx.callActivity(RegisterCustomerActivity.class.getName(), customer, Customer.class).await(); ctx.getLogger().info("Let's wait for the customer: " + customer.getCustomerName() + " to request a follow up."); customer = ctx.waitForExternalEvent("CustomerReachOut", Duration.ofMinutes(5), Customer.class).await(); ctx.getLogger().info("Let's book a follow up for the customer: " + customer.getCustomerName()); customer = ctx.callActivity(CustomerFollowupActivity.class.getName(), customer, Customer.class).await(); ctx.getLogger().info("Congratulations the customer: " + customer.getCustomerName() + " is happy!"); ctx.complete(customer); }; } } ================================================ FILE: spring-boot-examples/producer-app/src/main/java/io/dapr/springboot/examples/producer/workflow/RegisterCustomerActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer.workflow; import io.dapr.springboot.examples.producer.Customer; import io.dapr.springboot.examples.producer.CustomerStore; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class RegisterCustomerActivity implements WorkflowActivity { private final Logger logger = LoggerFactory.getLogger(RegisterCustomerActivity.class); private final CustomerStore customerStore; public RegisterCustomerActivity(CustomerStore customerStore) { this.customerStore = customerStore; } @Override public Object run(WorkflowActivityContext ctx) { Customer customer = ctx.getInput(Customer.class); customer.setInCustomerDB(true); logger.info("Customer: " + customer.getCustomerName() + " registered."); customerStore.addCustomer(customer); return customer; } } ================================================ FILE: spring-boot-examples/producer-app/src/main/resources/application.properties ================================================ spring.application.name=producer-app dapr.pubsub.name=pubsub dapr.statestore.name=kvstore dapr.statestore.binding=kvbinding ================================================ FILE: spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.Subscription; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import org.testcontainers.containers.PostgreSQLContainer; import org.testcontainers.containers.RabbitMQContainer; import org.testcontainers.utility.DockerImageName; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { static final String CONNECTION_STRING = "host=postgres user=postgres password=password port=5432 connect_timeout=10 database=dapr_db_repository"; static final Map STATE_STORE_PROPERTIES = createStateStoreProperties(); static final Map STATE_STORE_OUTBOX_PROPERTIES = createStateStoreOutboxProperties(); static final Map BINDING_PROPERTIES = Collections.singletonMap("connectionString", CONNECTION_STRING); @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RabbitMQContainer rabbitMQContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RabbitMQContainer(DockerImageName.parse("rabbitmq:3.7.25-management-alpine")) .withExposedPorts(5672) .withNetworkAliases("rabbitmq") .withReuse(reuse) .withNetwork(daprNetwork); } @Bean public PostgreSQLContainer postgreSQLContainer(Network daprNetwork) { return new PostgreSQLContainer<>("postgres:16-alpine") .withNetworkAliases("postgres") .withDatabaseName("dapr_db_repository") .withUsername("postgres") .withPassword("password") .withExposedPorts(5432) .withNetwork(daprNetwork); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, PostgreSQLContainer postgreSQLContainer, RabbitMQContainer rabbitMQContainer) { Map rabbitMqProperties = new HashMap<>(); rabbitMqProperties.put("connectionString", "amqp://guest:guest@rabbitmq:5672"); rabbitMqProperties.put("user", "guest"); rabbitMqProperties.put("password", "guest"); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("producer-app") .withNetwork(daprNetwork) .withComponent(new Component("kvstore", "state.postgresql", "v1", STATE_STORE_PROPERTIES)) .withComponent(new Component("kvbinding", "bindings.postgresql", "v1", BINDING_PROPERTIES)) .withComponent(new Component("pubsub", "pubsub.rabbitmq", "v1", rabbitMqProperties)) .withComponent(new Component("kvstore-outbox", "state.postgresql", "v1", STATE_STORE_OUTBOX_PROPERTIES)) .withSubscription(new Subscription("app", "pubsub", "topic", "/subscribe")) .withAppPort(8080) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(rabbitMQContainer) .dependsOn(postgreSQLContainer); } private static Map createStateStoreProperties() { Map result = new HashMap<>(); result.put("keyPrefix", "name"); result.put("actorStateStore", String.valueOf(true)); result.put("connectionString", CONNECTION_STRING); return result; } private static Map createStateStoreOutboxProperties() { Map result = new HashMap<>(); result.put("connectionString", CONNECTION_STRING); result.put("outboxPublishPubsub", "pubsub"); result.put("outboxPublishTopic", "outbox-topic"); return result; } } ================================================ FILE: spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/ProducerAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; import io.dapr.client.DaprClient; import io.dapr.springboot.DaprAutoConfiguration; import io.dapr.springboot.examples.producer.workflow.CustomerFollowupActivity; import io.dapr.springboot.examples.producer.workflow.CustomerWorkflow; import io.dapr.springboot.examples.producer.workflow.RegisterCustomerActivity; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.wait.strategy.DaprWait; import io.restassured.RestAssured; import io.restassured.http.ContentType; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.io.IOException; import java.time.Duration; import static io.restassured.RestAssured.given; import static org.awaitility.Awaitility.await; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; @SpringBootTest(classes = {TestProducerApplication.class, DaprTestContainersConfig.class, DaprAutoConfiguration.class, CustomerWorkflow.class, CustomerFollowupActivity.class, RegisterCustomerActivity.class, CustomerStore.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) class ProducerAppIT { @Autowired private TestSubscriberRestController controller; @Autowired private CustomerStore customerStore; @Autowired private DaprClient daprClient; @Autowired private DaprContainer daprContainer; @BeforeEach void setUp() { RestAssured.baseURI = "http://localhost:" + 8080; org.testcontainers.Testcontainers.exposeHostPorts(8080); DaprWait.forSubscription("pubsub", "topic").waitUntilReady(daprContainer); } @AfterEach void cleanUp() { controller.getAllEvents().clear(); } @Test void testOrdersOutboxEndpointAndMessaging() { OrderDTO order = new OrderDTO("outbox-order-123", "Lorem ipsum", 1000); given().contentType(ContentType.JSON) .body(order) .when() .post("/orders/outbox") .then() .statusCode(200); await().atMost(Duration.ofSeconds(15)) .until(controller.getAllEvents()::size, equalTo(1)); } @Test void testOrdersEndpointAndMessaging() { OrderDTO order = new OrderDTO("abc-123", "the mars volta LP", 1); given().contentType(ContentType.JSON) .body(order) .when() .post("/orders") .then() .statusCode(200); await().atMost(Duration.ofSeconds(15)) .until(controller.getAllEvents()::size, equalTo(1)); given().contentType(ContentType.JSON) .when() .get("/orders") .then() .statusCode(200).body("size()", is(1)); given().contentType(ContentType.JSON) .when() .queryParam("item", "the mars volta LP") .get("/orders/byItem/") .then() .statusCode(200).body("size()", is(1)); given().contentType(ContentType.JSON) .when() .queryParam("item", "other") .get("/orders/byItem/") .then() .statusCode(200).body("size()", is(0)); given().contentType(ContentType.JSON) .when() .queryParam("amount", 1) .get("/orders/byAmount/") .then() .statusCode(200).body("size()", is(1)); given().contentType(ContentType.JSON) .when() .queryParam("amount", 2) .get("/orders/byAmount/") .then() .statusCode(200).body("size()", is(0)); } @Test void testCustomersWorkflows() { given().contentType(ContentType.JSON) .body("{\"customerName\": \"salaboy\"}") .when() .post("/customers") .then() .statusCode(200); await().atMost(Duration.ofSeconds(15)) .until(customerStore.getCustomers()::size, equalTo(1)); Customer customer = customerStore.getCustomer("salaboy"); assertEquals(true, customer.isInCustomerDB()); String workflowId = customer.getWorkflowId(); given().contentType(ContentType.JSON) .body("{ \"workflowId\": \"" + workflowId + "\",\"customerName\": \"salaboy\" }") .when() .post("/customers/followup") .then() .statusCode(200); assertEquals(1, customerStore.getCustomers().size()); await().atMost(Duration.ofSeconds(10)) .until(customerStore.getCustomer("salaboy")::isFollowUp, equalTo(true)); } } ================================================ FILE: spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/TestProducerApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestProducerApplication { public static void main(String[] args) { SpringApplication.from(ProducerApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8080); } } ================================================ FILE: spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/TestSubscriberRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.producer; import io.dapr.Topic; import io.dapr.client.domain.CloudEvent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @RestController public class TestSubscriberRestController { private List events = new ArrayList<>(); private final Logger logger = LoggerFactory.getLogger(TestSubscriberRestController.class); @PostMapping("subscribe") @Topic(pubsubName = "pubsub", name = "topic") public void subscribe(@RequestBody CloudEvent cloudEvent){ logger.info("Order Event Received: " + cloudEvent.getData()); events.add(cloudEvent); } @PostMapping("outbox-subscribe") @Topic(pubsubName = "pubsub", name = "outbox-topic") public void outboxSubscribe(@RequestBody CloudEvent cloudEvent) { // we are receiving the Order with CloudEvent as String due to the // following issue https://github.com/dapr/java-sdk/issues/1580 logger.info("Outbox Order Event Received: " + cloudEvent.getData()); events.add(cloudEvent); } public List getAllEvents() { return events; } } ================================================ FILE: spring-boot-examples/producer-app/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore dapr.statestore.binding=kvbinding dapr.pubsub.name=pubsub ================================================ FILE: spring-boot-examples/spotbugs-exclude.xml ================================================ ================================================ FILE: spring-boot-examples/workflows/multi-app/README.md ================================================ # Multi App workflow Example This example demonstrates how you can create distributed workflows where the orchestrator doesn't host the workflow activities. For more documentation about how Multi App Workflows work [check the official documentation here](https://v1-16.docs.dapr.io/developing-applications/building-blocks/workflow/workflow-multi-app/). This example is composed by three Spring Boot applications: - `orchestrator`: The `orchestrator` app contains the Dapr Workflow definition and expose REST endpoints to create and raise events against workflow instances. - `worker-one`: The `worker-one` app contains the `RegisterCustomerActivity` definition, which will be called by the `orchestrator` app. - `worker-two`: The `worker-two` app contains the `CustomerFollowupActivity` definition, which will be called by the `orchestrator` app. To start the applications you need to run the following commands on separate terminals, starting from the `multi-app` directory. To start the `orchestrator` app run: ```bash cd orchestrator/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` The `orchestrator` application will run on port `8080`. On a separate terminal, to start the `worker-one` app run: ```bash cd worker-one/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` The `worker-one` application will run on port `8081`. On a separate terminal, to start the `worker-two` app run: ```bash cd worker-two/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` The `worker-two` application will run on port `8082`. You can create new workflow instances of the `CustomerWorkflow` by calling the `/customers` endpoint of the `orchestrator` application. ```bash curl -X POST localhost:8080/customers -H 'Content-Type: application/json' -d '{ "customerName": "salaboy" }' ``` The workflow definition [`CustomerWorkflow`](orchestrator/src/main/java/io/dapr/springboot/examples/orchestrator/CustomerWorkflow.java) that you can find inside the `orchestrator` app, performs the following orchestration when a new workflow instance is created: - Call the `RegisterCustomerActivity` activity which can be found inside the `worker-one` application. - You can find in the workflow definition the configuration to make reference to an Activity that is hosted by a different Dapr application. ```java customer = ctx.callActivity("io.dapr.springboot.examples.workerone.RegisterCustomerActivity", customer, new WorkflowTaskOptions("worker-one"), Customer.class). await(); ``` - Wait for an external event of type `CustomerReachOut` with a timeout of 5 minutes: ```java ctx.waitForExternalEvent("CustomerReachOut", Duration.ofMinutes(5), Customer.class).await(); ``` - You can check the status of the workflow for a given customer by sending the following request: ```shell curl -X POST localhost:8080/customers/status -H 'Content-Type: application/json' -d '{ "customerName": "salaboy" }' ``` - You can call the following endpoint on the `orchestrator` app to raise the external event: ```shell curl -X POST localhost:8080/customers/followup -H 'Content-Type: application/json' -d '{ "customerName": "salaboy" }' ``` - When the event is received, the workflow move forward to the last activity called `CustomerFollowUpActivity`, that can be found on the `worker-two` app. ```java customer = ctx.callActivity("io.dapr.springboot.examples.workertwo.CustomerFollowupActivity", customer, new WorkflowTaskOptions("worker-two"), Customer.class). await(); ``` - The workflow completes by handing out the final version of the `Customer` object that has been modified the workflow activities. You can retrieve the `Customer` payload by running the following command: ```shell curl -X POST localhost:8080/customers/output -H 'Content-Type: application/json' -d '{ "customerName": "salaboy" }' ``` ## Testing Multi App Workflows Testing becomes a complex task when you are dealing with multiple Spring Boot applications. For testing this workflow, we rely on [Testcontainers](https://testcontainers.com) to create the entire setup which enable us to run the workflow end to end. You can find the end-to-end test in the [`OrchestratorAppIT.java`](orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/OrchestratorAppIT.java) class inside the `orchestrator` application. This test interact with the application REST endpoints to validate their correct execution. But the magic behind the test can be located in the [`DaprTestContainersConfig.class`](orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/DaprTestContainersConfig.java) which defines the configuration for all the Dapr containers and the `worker-one` and `worker-two` applications. Check this class to gain a deeper understand how to configure multiple Dapr-enabled applications. ================================================ FILE: spring-boot-examples/workflows/multi-app/orchestrator/pom.xml ================================================ 4.0.0 io.dapr multi-app 1.18.0-SNAPSHOT ../pom.xml orchestrator orchestrator Spring Boot, Testcontainers and Dapr Integration Examples :: Orchestrator App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test com.redis testcontainers-redis test io.rest-assured rest-assured test io.dapr worker-one ${project.version} test io.dapr worker-two ${project.version} test org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true org.apache.maven.plugins maven-failsafe-plugin integration-test verify **/*IT.java ================================================ FILE: spring-boot-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot/examples/orchestrator/Customer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; public class Customer { private String customerName; private String workflowId; private boolean inCustomerDB = false; private boolean followUp = false; public boolean isFollowUp() { return followUp; } public void setFollowUp(boolean followUp) { this.followUp = followUp; } public boolean isInCustomerDB() { return inCustomerDB; } public void setInCustomerDB(boolean inCustomerDB) { this.inCustomerDB = inCustomerDB; } public String getWorkflowId() { return workflowId; } public void setWorkflowId(String workflowId) { this.workflowId = workflowId; } public String getCustomerName() { return customerName; } public void setCustomerName(String customerName) { this.customerName = customerName; } @Override public String toString() { return "Customer [customerName=" + customerName + ", workflowId=" + workflowId + ", inCustomerDB=" + inCustomerDB + ", followUp=" + followUp + "]"; } } ================================================ FILE: spring-boot-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot/examples/orchestrator/CustomerWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; import io.dapr.durabletask.TaskCanceledException; import io.dapr.durabletask.TaskFailedException; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; import org.springframework.stereotype.Component; import java.time.Duration; @Component public class CustomerWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { String instanceId = ctx.getInstanceId(); Customer customer = ctx.getInput(Customer.class); customer.setWorkflowId(instanceId); ctx.getLogger().info("Let's register the customer: {}", customer.getCustomerName()); customer = ctx.callActivity("io.dapr.springboot.examples.workerone.RegisterCustomerActivity", customer, new WorkflowTaskOptions("worker-one"), Customer.class).await(); ctx.getLogger().info("Let's wait for the customer: {} to request a follow up.", customer.getCustomerName()); ctx.waitForExternalEvent("CustomerReachOut", Duration.ofMinutes(5), Customer.class).await(); ctx.getLogger().info("Let's book a follow up for the customer: {}", customer.getCustomerName()); customer = ctx.callActivity("io.dapr.springboot.examples.workertwo.CustomerFollowupActivity", customer, new WorkflowTaskOptions("worker-two"), Customer.class).await(); ctx.getLogger().info("Congratulations the customer: {} is happy!", customer.getCustomerName()); ctx.getLogger().info("Final customer: {} ", customer); ctx.complete(customer); }; } } ================================================ FILE: spring-boot-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot/examples/orchestrator/CustomersRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; @RestController public class CustomersRestController { private final Logger logger = LoggerFactory.getLogger(CustomersRestController.class); @Autowired private DaprWorkflowClient daprWorkflowClient; @GetMapping("/") public String root() { return "OK"; } private final Map customersWorkflows = new HashMap<>(); /** * Track customer endpoint. * * @param customer provided customer to track * @return confirmation that the workflow instance was created for a given customer */ @PostMapping("/customers") public String trackCustomer(@RequestBody Customer customer) { String instanceId = daprWorkflowClient.scheduleNewWorkflow(CustomerWorkflow.class, customer); logger.info("Workflow instance {} started", instanceId); customersWorkflows.put(customer.getCustomerName(), instanceId); return "New Workflow Instance created for Customer: " + customer.getCustomerName(); } /** * Request customer follow-up. * @param customer associated with a workflow instance * @return confirmation that the follow-up was requested */ @PostMapping("/customers/followup") public String customerNotification(@RequestBody Customer customer) { logger.info("Customer follow-up requested: {}", customer.getCustomerName()); String workflowIdForCustomer = customersWorkflows.get(customer.getCustomerName()); if (workflowIdForCustomer == null || workflowIdForCustomer.isEmpty()) { return "There is no workflow associated with customer: " + customer.getCustomerName(); } daprWorkflowClient.raiseEvent(workflowIdForCustomer, "CustomerReachOut", customer); return "Customer Follow-up requested"; } /** * Request customer workflow instance status. * @param customer associated with a workflow instance * @return the workflow instance status for a given customer */ @PostMapping("/customers/status") public String getCustomerStatus(@RequestBody Customer customer) { logger.info("Customer status requested: {}", customer.getCustomerName()); String workflowIdForCustomer = customersWorkflows.get(customer.getCustomerName()); if (workflowIdForCustomer == null || workflowIdForCustomer.isEmpty()) { return "N/A"; } WorkflowState instanceState = daprWorkflowClient.getWorkflowState(workflowIdForCustomer, true); assert instanceState != null; return "Workflow for Customer: " + customer.getCustomerName() + " is " + instanceState.getRuntimeStatus().name(); } /** * Request customer output. * @param customer associated with a workflow instance * @return Customer status after the workflow execution finished */ @PostMapping("/customers/output") public Customer getCustomerOutput(@RequestBody Customer customer) { logger.info("Customer output requested: {}", customer.getCustomerName()); String workflowIdForCustomer = customersWorkflows.get(customer.getCustomerName()); if (workflowIdForCustomer == null || workflowIdForCustomer.isEmpty()) { return null; } WorkflowState instanceState = daprWorkflowClient.getWorkflowState(workflowIdForCustomer, true); assert instanceState != null; return instanceState.readOutputAs(Customer.class); } } ================================================ FILE: spring-boot-examples/workflows/multi-app/orchestrator/src/main/java/io/dapr/springboot/examples/orchestrator/OrchestratorApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableDaprWorkflows public class OrchestratorApplication { public static void main(String[] args) { SpringApplication.run(OrchestratorApplication.class, args); } } ================================================ FILE: spring-boot-examples/workflows/multi-app/orchestrator/src/main/resources/application.properties ================================================ spring.application.name=orchestrator ================================================ FILE: spring-boot-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; import com.redis.testcontainers.RedisContainer; import io.dapr.testcontainers.*; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.Network; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.utility.DockerImageName; import org.testcontainers.utility.MountableFile; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.*; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } private Map getRedisProps(){ Map redisProps = new HashMap<>(); redisProps.put("redisHost", "redis:6379"); redisProps.put("redisPassword", ""); redisProps.put("actorStateStore", String.valueOf(true)); return redisProps; } @Bean public DaprPlacementContainer placementContainer(Network daprNetwork, Environment env){ boolean reuse = env.getProperty("reuse", Boolean.class, false); return new DaprPlacementContainer(DockerImageName.parse(DAPR_PLACEMENT_IMAGE_TAG)) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("placement"); } @Bean public DaprSchedulerContainer schedulerContainer(Network daprNetwork, Environment env){ boolean reuse = env.getProperty("reuse", Boolean.class, false); return new DaprSchedulerContainer(DockerImageName.parse(DAPR_SCHEDULER_IMAGE_TAG)) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("scheduler"); } @Bean("workerOneDapr") @ConditionalOnProperty(prefix = "tests", name = "workers.enabled", havingValue = "true") public DaprContainer workerOneDapr(Network daprNetwork, RedisContainer redisContainer, Environment env, DaprPlacementContainer daprPlacementContainer, DaprSchedulerContainer daprSchedulerContainer) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("worker-one") .withNetworkAliases("worker-one") .withNetwork(daprNetwork) .withPlacementContainer(daprPlacementContainer) .withSchedulerContainer(daprSchedulerContainer) .withComponent(new Component("kvstore", "state.redis", "v1", getRedisProps())) .dependsOn(daprPlacementContainer) .dependsOn(daprSchedulerContainer) .dependsOn(redisContainer); } @Bean @ConditionalOnProperty(prefix = "tests", name = "workers.enabled", havingValue = "true") public GenericContainer workerOneContainer(Network daprNetwork, @Qualifier("workerOneDapr") DaprContainer workerOneDapr, DaprPlacementContainer daprPlacementContainer, DaprSchedulerContainer daprSchedulerContainer){ return new GenericContainer<>(DockerImages.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("../worker-one/target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-Ddapr.grpc.endpoint=worker-one:50001", "-Ddapr.http.endpoint=worker-one:3500", "-jar", "worker-one.jar") .withNetwork(daprNetwork) .dependsOn(workerOneDapr) .dependsOn(daprPlacementContainer) .dependsOn(daprSchedulerContainer) .waitingFor(Wait.forLogMessage(".*Started WorkerOneApplication.*", 1)) .withLogConsumer(outputFrame -> System.out.println("WorkerOneApplication: " + outputFrame.getUtf8String())); } @Bean("workerTwoDapr") @ConditionalOnProperty(prefix = "tests", name = "workers.enabled", havingValue = "true") public DaprContainer workerTwoDapr(Network daprNetwork, RedisContainer redisContainer, Environment env, DaprPlacementContainer daprPlacementContainer, DaprSchedulerContainer daprSchedulerContainer) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("worker-two") .withNetworkAliases("worker-two") .withNetwork(daprNetwork) .withPlacementContainer(daprPlacementContainer) .withSchedulerContainer(daprSchedulerContainer) .withComponent(new Component("kvstore", "state.redis", "v1", getRedisProps())) .dependsOn(daprPlacementContainer) .dependsOn(daprSchedulerContainer) .dependsOn(redisContainer); } @Bean @ConditionalOnProperty(prefix = "tests", name = "workers.enabled", havingValue = "true") public GenericContainer workerTwoContainer(Network daprNetwork, @Qualifier("workerTwoDapr") DaprContainer workerTwoDapr, DaprPlacementContainer daprPlacementContainer, DaprSchedulerContainer daprSchedulerContainer){ return new GenericContainer<>(DockerImages.JDK_17_TEMURIN_JAMMY) .withCopyFileToContainer(MountableFile.forHostPath("../worker-two/target"), "/app") .withWorkingDirectory("/app") .withCommand("java", "-Ddapr.grpc.endpoint=worker-two:50001", "-Ddapr.http.endpoint=worker-two:3500", "-jar", "worker-two.jar") .withNetwork(daprNetwork) .dependsOn(workerTwoDapr) .dependsOn(daprPlacementContainer) .dependsOn(daprSchedulerContainer) .waitingFor(Wait.forLogMessage(".*Started WorkerTwoApplication.*", 1)) .withLogConsumer(outputFrame -> System.out.println("WorkerTwoApplication: " + outputFrame.getUtf8String())); } @Bean public RedisContainer redisContainer(Network daprNetwork, Environment env){ boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RedisContainer(RedisContainer.DEFAULT_IMAGE_NAME) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("redis"); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RedisContainer redisContainer, Environment env, DaprPlacementContainer daprPlacementContainer, DaprSchedulerContainer daprSchedulerContainer) { return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("orchestrator") .withNetwork(daprNetwork) .withPlacementContainer(daprPlacementContainer) .withSchedulerContainer(daprSchedulerContainer) .withComponent(new Component("kvstore", "state.redis", "v1", getRedisProps())) .withAppPort(8080) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(daprPlacementContainer) .dependsOn(daprSchedulerContainer) .dependsOn(redisContainer); } } ================================================ FILE: spring-boot-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/DockerImages.java ================================================ package io.dapr.springboot.examples.orchestrator; public interface DockerImages { String JDK_17_TEMURIN_JAMMY = "eclipse-temurin:17-jdk-jammy"; } ================================================ FILE: spring-boot-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/OrchestratorAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; import io.restassured.RestAssured; import io.restassured.http.ContentType; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import java.io.IOException; import java.time.Duration; import static io.restassured.RestAssured.given; import static org.awaitility.Awaitility.await; import static org.junit.jupiter.api.Assertions.assertTrue; @SpringBootTest(classes = {TestOrchestratorApplication.class, DaprTestContainersConfig.class, CustomersRestController.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, properties = {"reuse=false", "tests.workers.enabled=true"}) class OrchestratorAppIT { @BeforeEach void setUp() { RestAssured.baseURI = "http://localhost:" + 8080; org.testcontainers.Testcontainers.exposeHostPorts(8080); } @Test void testCustomersWorkflows() throws InterruptedException, IOException { // Create a new workflow instance for a given customer given().contentType(ContentType.JSON) .body("{\"customerName\": \"salaboy\"}") .when() .post("/customers") .then() .statusCode(200); // Wait for the workflow instance to be running by checking the status await().atMost(Duration.ofSeconds(5)).until(() -> { String workflowStatus = given().contentType(ContentType.JSON) .body("{\"customerName\": \"salaboy\" }") .when() .post("/customers/status") .then() .statusCode(200) .extract().asString(); return workflowStatus.equals("Workflow for Customer: salaboy is RUNNING"); } ); // Raise an external event to move the workflow forward given().contentType(ContentType.JSON) .body("{\"customerName\": \"salaboy\" }") .when() .post("/customers/followup") .then() .statusCode(200); // Wait for the workflow instance to be completed by checking the status await().atMost(Duration.ofSeconds(5)).until(() -> { String workflowStatus = given().contentType(ContentType.JSON) .body("{\"customerName\": \"salaboy\" }") .when() .post("/customers/status") .then() .statusCode(200).extract().asString(); return workflowStatus.equals("Workflow for Customer: salaboy is COMPLETED"); } ); // Get the customer after running all the workflow activities Customer customer = given().contentType(ContentType.JSON) .body("{\"customerName\": \"salaboy\" }") .when() .post("/customers/output") .then() .statusCode(200).extract().as(Customer.class); assertTrue(customer.isInCustomerDB()); assertTrue(customer.isFollowUp()); } } ================================================ FILE: spring-boot-examples/workflows/multi-app/orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/TestOrchestratorApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestOrchestratorApplication { public static void main(String[] args) { SpringApplication.from(OrchestratorApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8080); } } ================================================ FILE: spring-boot-examples/workflows/multi-app/orchestrator/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore server.port=8080 ================================================ FILE: spring-boot-examples/workflows/multi-app/pom.xml ================================================ 4.0.0 io.dapr workflows 1.18.0-SNAPSHOT ../pom.xml multi-app pom true orchestrator worker-one worker-two org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/workflows/multi-app/spotbugs-exclude.xml ================================================ ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-one/pom.xml ================================================ 4.0.0 io.dapr multi-app 1.18.0-SNAPSHOT ../pom.xml worker-one worker-one Spring Boot, Testcontainers and Dapr Integration Examples :: Worker 1 App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test com.redis testcontainers-redis test io.rest-assured rest-assured test org.springframework.boot spring-boot-maven-plugin worker-one repackage org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot/examples/workerone/Customer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; public class Customer { private String customerName; private String workflowId; private boolean inCustomerDB = false; private boolean followUp = false; public boolean isFollowUp() { return followUp; } public void setFollowUp(boolean followUp) { this.followUp = followUp; } public boolean isInCustomerDB() { return inCustomerDB; } public void setInCustomerDB(boolean inCustomerDB) { this.inCustomerDB = inCustomerDB; } public String getWorkflowId() { return workflowId; } public void setWorkflowId(String workflowId) { this.workflowId = workflowId; } public String getCustomerName() { return customerName; } public void setCustomerName(String customerName) { this.customerName = customerName; } @Override public String toString() { return "Customer [customerName=" + customerName + ", workflowId=" + workflowId + ", inCustomerDB=" + inCustomerDB + ", followUp=" + followUp + "]"; } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot/examples/workerone/RegisterCustomerActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class RegisterCustomerActivity implements WorkflowActivity { private final Logger logger = LoggerFactory.getLogger(RegisterCustomerActivity.class); @Override public Object run(WorkflowActivityContext ctx) { Customer customer = ctx.getInput(Customer.class); customer.setInCustomerDB(true); logger.info("Customer: {} registered.", customer.getCustomerName()); return customer; } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-one/src/main/java/io/dapr/springboot/examples/workerone/WorkerOneApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableDaprWorkflows public class WorkerOneApplication { public static void main(String[] args) { SpringApplication.run(WorkerOneApplication.class, args); } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-one/src/main/resources/application.properties ================================================ spring.application.name=worker-one server.port=8081 ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot/examples/workerone/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import com.redis.testcontainers.RedisContainer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RedisContainer redisContainer(Network daprNetwork, Environment env){ boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RedisContainer(RedisContainer.DEFAULT_IMAGE_NAME) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("redis"); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RedisContainer redisContainer, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); Map redisProps = new HashMap<>(); redisProps.put("redisHost", "redis:6379"); redisProps.put("redisPassword", ""); redisProps.put("actorStateStore", String.valueOf(true)); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("worker-one") .withNetwork(daprNetwork) .withReusablePlacement(reuse) .withReusableScheduler(reuse) .withComponent(new Component("kvstore", "state.redis", "v1", redisProps)) .withAppPort(8081) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(redisContainer); } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot/examples/workerone/TestWorkerOneApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkerOneApplication { public static void main(String[] args) { SpringApplication.from(WorkerOneApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8081); } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-one/src/test/java/io/dapr/springboot/examples/workerone/WorkerOneAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import io.restassured.RestAssured; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import static io.restassured.RestAssured.given; import static org.awaitility.Awaitility.await; import static org.hamcrest.CoreMatchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; @SpringBootTest(classes = {TestWorkerOneApplication.class, DaprTestContainersConfig.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) class WorkerOneAppIT { @BeforeEach void setUp() { RestAssured.baseURI = "http://localhost:" + 8081; org.testcontainers.Testcontainers.exposeHostPorts(8081); } @Test void testWorkerOne() { //Test the logic of the worker one } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-one/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore server.port=8081 ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-two/pom.xml ================================================ 4.0.0 io.dapr multi-app 1.18.0-SNAPSHOT ../pom.xml worker-two worker-two Spring Boot, Testcontainers and Dapr Integration Examples :: Worker 2 App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test com.redis testcontainers-redis test io.rest-assured rest-assured test org.springframework.boot spring-boot-maven-plugin worker-two repackage org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot/examples/workertwo/Customer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; public class Customer { private String customerName; private String workflowId; private boolean inCustomerDB = false; private boolean followUp = false; public boolean isFollowUp() { return followUp; } public void setFollowUp(boolean followUp) { this.followUp = followUp; } public boolean isInCustomerDB() { return inCustomerDB; } public void setInCustomerDB(boolean inCustomerDB) { this.inCustomerDB = inCustomerDB; } public String getWorkflowId() { return workflowId; } public void setWorkflowId(String workflowId) { this.workflowId = workflowId; } public String getCustomerName() { return customerName; } public void setCustomerName(String customerName) { this.customerName = customerName; } @Override public String toString() { return "Customer [customerName=" + customerName + ", workflowId=" + workflowId + ", inCustomerDB=" + inCustomerDB + ", followUp=" + followUp + "]"; } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot/examples/workertwo/CustomerFollowupActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class CustomerFollowupActivity implements WorkflowActivity { private final Logger logger = LoggerFactory.getLogger(CustomerFollowupActivity.class); @Override public Object run(WorkflowActivityContext ctx) { Customer customer = ctx.getInput(Customer.class); customer.setFollowUp(true); logger.info("Customer: {} follow up scheduled.", customer.getCustomerName()); return customer; } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-two/src/main/java/io/dapr/springboot/examples/workertwo/WorkerTwoApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableDaprWorkflows public class WorkerTwoApplication { public static void main(String[] args) { SpringApplication.run(WorkerTwoApplication.class, args); } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-two/src/main/resources/application.properties ================================================ spring.application.name=worker-two server.port=8082 ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot/examples/workertwo/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import com.redis.testcontainers.RedisContainer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RedisContainer redisContainer(Network daprNetwork, Environment env){ boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RedisContainer(RedisContainer.DEFAULT_IMAGE_NAME) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("redis"); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RedisContainer redisContainer, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); Map redisProps = new HashMap<>(); redisProps.put("redisHost", "redis:6379"); redisProps.put("redisPassword", ""); redisProps.put("actorStateStore", String.valueOf(true)); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("worker-two") .withNetwork(daprNetwork) .withReusablePlacement(reuse) .withReusableScheduler(reuse) .withComponent(new Component("kvstore", "state.redis", "v1", redisProps)) .withAppPort(8082) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(redisContainer); } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot/examples/workertwo/TestWorkerTwoApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkerTwoApplication { public static void main(String[] args) { SpringApplication.from(WorkerTwoApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8082); } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-two/src/test/java/io/dapr/springboot/examples/workertwo/WorkerTwoAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import io.restassured.RestAssured; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import static io.restassured.RestAssured.given; import static org.awaitility.Awaitility.await; import static org.hamcrest.CoreMatchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; @SpringBootTest(classes = {TestWorkerTwoApplication.class, DaprTestContainersConfig.class}, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) class WorkerTwoAppIT { @BeforeEach void setUp() { RestAssured.baseURI = "http://localhost:" + 8082; org.testcontainers.Testcontainers.exposeHostPorts(8082); } @Test void testWorkerTwo() { //Test the logic of the worker two } } ================================================ FILE: spring-boot-examples/workflows/multi-app/worker-two/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore server.port=8082 ================================================ FILE: spring-boot-examples/workflows/patterns/README.md ================================================ # Dapr Spring Boot Workflow Examples This application allows you to run different [workflow patterns](https://docs.dapr.io/developing-applications/building-blocks/workflow/workflow-patterns) including: - Chained Activities - Parent/Child Workflows - Continue workflow by sending External Events - Fan Out/In activities for parallel execution - Suspend/Resume workflows ## Running these examples from source code To run these examples you will need: - Java SDK - Maven - Docker or a container runtime such as Podman From the `spring-boot-examples/workflows` directory you can start the service by running the following command: ```sh ../../../mvnw spring-boot:test-run ``` By running the `spring-boot:test-run` goal, the application is loaded using the [test configurations](src/test/java/io/dapr/springboot/examples/wfp/DaprTestContainersConfig.java) configured using [Testcontainers](https://testcontainers.com) to boostrap the [Dapr](https://dapr.io) sidecar and control plane. Once the application is running you can trigger the different patterns by sending the following requests: ### Chaining Activities Workflow example The `io.dapr.springboot.examples.wfp.chain.ChainWorkflow` executes three chained activities. For this example the `ToUpperCaseActivity.java` is used to transform to upper case three strings from an array. ```mermaid graph LR SW((Start Workflow)) A1[Activity1] A2[Activity2] A3[Activity3] EW((End Workflow)) SW --> A1 A1 --> A2 A2 --> A3 A3 --> EW ``` To start the workflow with the three chained activities you can run: ```sh curl -X POST localhost:8080/wfp/chain -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` As result from executing the request you should see: ```bash TOKYO, LONDON, SEATTLE ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.chain.ChainWorkflow i.d.s.e.w.WorkflowPatternsRestController : Workflow instance 7625b4af-8c04-408a-93dc-bad753466e43 started i.d.s.e.wfp.chain.ToUpperCaseActivity : Starting Activity: io.dapr.springboot.examples.wfp.chain.ToUpperCaseActivity i.d.s.e.wfp.chain.ToUpperCaseActivity : Message Received from input: Tokyo i.d.s.e.wfp.chain.ToUpperCaseActivity : Sending message to output: TOKYO i.d.s.e.wfp.chain.ToUpperCaseActivity : Starting Activity: io.dapr.springboot.examples.wfp.chain.ToUpperCaseActivity i.d.s.e.wfp.chain.ToUpperCaseActivity : Message Received from input: London i.d.s.e.wfp.chain.ToUpperCaseActivity : Sending message to output: LONDON i.d.s.e.wfp.chain.ToUpperCaseActivity : Starting Activity: io.dapr.springboot.examples.wfp.chain.ToUpperCaseActivity i.d.s.e.wfp.chain.ToUpperCaseActivity : Message Received from input: Seattle i.d.s.e.wfp.chain.ToUpperCaseActivity : Sending message to output: SEATTLE io.dapr.workflows.WorkflowContext : Workflow finished with result: TOKYO, LONDON, SEATTLE ``` ### Parent / Child Workflows example In this example we start a Parent workflow that calls a child workflow that execute one activity that reverses an input string. The Parent workflow looks like this: ```mermaid graph LR SW((Start Workflow)) subgraph for each word in the input GWL[Call child workflow] end EW((End Workflow)) SW --> GWL GWL --> EW ``` The Child workflow looks like this: ```mermaid graph LR SW((Start Workflow)) A1[Activity1] EW((End Workflow)) SW --> A1 A1 --> EW ``` To start the parent workflow you can run: To start the workflow with the three chained activities you can run: ```sh curl -X POST localhost:8080/wfp/child -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` As result from executing the request you should see: ```bash !wolfkroW rpaD olleH ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.child.ParentWorkflow io.dapr.workflows.WorkflowContext : calling childworkflow with input: Hello Dapr Workflow! i.d.s.e.w.WorkflowPatternsRestController : Workflow instance f3ec9566-a0fc-4d28-8912-3f3ded3cd8a9 started io.dapr.workflows.WorkflowContext : Starting ChildWorkflow: io.dapr.springboot.examples.wfp.child.ChildWorkflow io.dapr.workflows.WorkflowContext : ChildWorkflow received input: Hello Dapr Workflow! io.dapr.workflows.WorkflowContext : ChildWorkflow is calling Activity: io.dapr.springboot.examples.wfp.child.ReverseActivity i.d.s.e.wfp.child.ReverseActivity : Starting Activity: io.dapr.springboot.examples.wfp.child.ReverseActivity i.d.s.e.wfp.child.ReverseActivity : Message Received from input: Hello Dapr Workflow! i.d.s.e.wfp.child.ReverseActivity : Sending message to output: !wolfkroW rpaD olleH io.dapr.workflows.WorkflowContext : ChildWorkflow finished with: !wolfkroW rpaD olleH io.dapr.workflows.WorkflowContext : childworkflow finished with: !wolfkroW rpaD olleH ``` ### ContinueAsNew Workflows example In this example we start a workflow that every 3 seconds schedule a new workflow consistently. This workflow executes one activity called CleanUpActivity that takes 2 seconds to complete. This loops repeat consistently for 5 times. To start the workflow you can run: ```sh curl -X POST localhost:8080/wfp/continueasnew -H 'Content-Type: application/json' --retry 10 --max-time 60 --retry-all-errors --retry-max-time 90 ``` As result from executing the request you should see: ```bash {"cleanUpTimes":5} ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.continueasnew.ContinueAsNewWorkflow io.dapr.workflows.WorkflowContext : call CleanUpActivity to do the clean up i.d.s.e.w.WorkflowPatternsRestController : Workflow instance b808e7d6-ab47-4eba-8188-dc9ff8780764 started i.d.s.e.w.continueasnew.CleanUpActivity : Starting Activity: io.dapr.springboot.examples.wfp.continueasnew.CleanUpActivity i.d.s.e.w.continueasnew.CleanUpActivity : start clean up work, it may take few seconds to finish... Time:10:48:45 io.dapr.workflows.WorkflowContext : CleanUpActivity finished io.dapr.workflows.WorkflowContext : wait 5 seconds for next clean up io.dapr.workflows.WorkflowContext : Let's do more cleaning. io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.continueasnew.ContinueAsNewWorkflow io.dapr.workflows.WorkflowContext : call CleanUpActivity to do the clean up i.d.s.e.w.continueasnew.CleanUpActivity : Starting Activity: io.dapr.springboot.examples.wfp.continueasnew.CleanUpActivity i.d.s.e.w.continueasnew.CleanUpActivity : start clean up work, it may take few seconds to finish... Time:10:48:50 io.dapr.workflows.WorkflowContext : CleanUpActivity finished io.dapr.workflows.WorkflowContext : wait 5 seconds for next clean up io.dapr.workflows.WorkflowContext : Let's do more cleaning. io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.continueasnew.ContinueAsNewWorkflow io.dapr.workflows.WorkflowContext : call CleanUpActivity to do the clean up i.d.s.e.w.continueasnew.CleanUpActivity : Starting Activity: io.dapr.springboot.examples.wfp.continueasnew.CleanUpActivity i.d.s.e.w.continueasnew.CleanUpActivity : start clean up work, it may take few seconds to finish... Time:10:48:55 io.dapr.workflows.WorkflowContext : CleanUpActivity finished io.dapr.workflows.WorkflowContext : wait 5 seconds for next clean up io.dapr.workflows.WorkflowContext : Let's do more cleaning. io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.continueasnew.ContinueAsNewWorkflow io.dapr.workflows.WorkflowContext : call CleanUpActivity to do the clean up i.d.s.e.w.continueasnew.CleanUpActivity : Starting Activity: io.dapr.springboot.examples.wfp.continueasnew.CleanUpActivity i.d.s.e.w.continueasnew.CleanUpActivity : start clean up work, it may take few seconds to finish... Time:10:49:0 io.dapr.workflows.WorkflowContext : CleanUpActivity finished io.dapr.workflows.WorkflowContext : wait 5 seconds for next clean up io.dapr.workflows.WorkflowContext : Let's do more cleaning. io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.continueasnew.ContinueAsNewWorkflow io.dapr.workflows.WorkflowContext : call CleanUpActivity to do the clean up i.d.s.e.w.continueasnew.CleanUpActivity : Starting Activity: io.dapr.springboot.examples.wfp.continueasnew.CleanUpActivity i.d.s.e.w.continueasnew.CleanUpActivity : start clean up work, it may take few seconds to finish... Time:10:49:5 io.dapr.workflows.WorkflowContext : CleanUpActivity finished io.dapr.workflows.WorkflowContext : wait 5 seconds for next clean up io.dapr.workflows.WorkflowContext : We did enough cleaning ``` ### External Event Workflow example In this example we start a workflow that as part of its execution waits for an external event to continue. To correlate workflows and events we use the parameter `orderId` To start the workflow you can run: ```sh curl -X POST "localhost:8080/wfp/externalevent?orderId=123" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.externalevent.ExternalEventWorkflow io.dapr.workflows.WorkflowContext : Waiting for approval... i.d.s.e.w.WorkflowPatternsRestController : Workflow instance 8a55cf6d-9059-49b1-8c83-fbe17567a02e started ``` You should see the Workflow ID that was created, in this example you don't need to remember this id, as you can use the orderId to find the right instance. When you are ready to approve the order you can send the following request: To send the event you can run: ```sh curl -X POST "localhost:8080/wfp/externalevent-continue?orderId=123&decision=true" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` ```bash {"approved":true} ``` In the application output you should see the workflow activities being executed. ```bash i.d.s.e.w.WorkflowPatternsRestController : Workflow instance e86bc464-6166-434d-8c91-d99040d6f54e continue io.dapr.workflows.WorkflowContext : approval granted - do the approved action i.d.s.e.w.externalevent.ApproveActivity : Starting Activity: io.dapr.springboot.examples.wfp.externalevent.ApproveActivity i.d.s.e.w.externalevent.ApproveActivity : Running approval activity... io.dapr.workflows.WorkflowContext : approval-activity finished ``` ### Fan Out/In Workflow example In this example we start a workflow that takes an ArrayList of strings and calls one activity per item in the ArrayList. The activities are executed and the workflow waits for all of them to complete to aggregate the results. ```mermaid graph LR SW((Start Workflow)) subgraph for each word in the input GWL[GetWordLength] end ALL[Wait until all tasks are completed] EW((End Workflow)) SW --> GWL GWL --> ALL ALL --> EW ``` To start the workflow you can run: ```sh curl -X POST localhost:8080/wfp/fanoutin -H 'Content-Type: application/json' -d @body.json --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` As result from executing the request you should see: ```bash {"wordCount":60} ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.fanoutin.FanOutInWorkflow i.d.s.e.w.WorkflowPatternsRestController : Workflow instance a771a7ba-f9fb-4399-aaee-a2fb0b102e5d started i.d.s.e.wfp.fanoutin.CountWordsActivity : Starting Activity: io.dapr.springboot.examples.wfp.fanoutin.CountWordsActivity i.d.s.e.wfp.fanoutin.CountWordsActivity : Starting Activity: io.dapr.springboot.examples.wfp.fanoutin.CountWordsActivity i.d.s.e.wfp.fanoutin.CountWordsActivity : Starting Activity: io.dapr.springboot.examples.wfp.fanoutin.CountWordsActivity i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity returned: 2. i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity finished i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity returned: 11. i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity returned: 17. i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity finished i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity finished i.d.s.e.wfp.fanoutin.CountWordsActivity : Starting Activity: io.dapr.springboot.examples.wfp.fanoutin.CountWordsActivity i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity returned: 21. i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity finished i.d.s.e.wfp.fanoutin.CountWordsActivity : Starting Activity: io.dapr.springboot.examples.wfp.fanoutin.CountWordsActivity i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity returned: 9. i.d.s.e.wfp.fanoutin.CountWordsActivity : Activity finished io.dapr.workflows.WorkflowContext : Workflow finished with result: 60 ``` ### Suspend/Resume Workflow example In this example, we start a workflow that executes an activity and then waits for an event. While the workflow instance is waiting for the event, we execute a suspend workflow operation. Once we check the state of the instance, a resume operation is executed. To start the workflow, you can run: ```sh curl -X POST "localhost:8080/wfp/suspendresume?orderId=456" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` In the application output you should see the workflow activities being executed. ```bash io.dapr.workflows.WorkflowContext : Starting Workflow: io.dapr.springboot.examples.wfp.suspendresume.SuspendResumeWorkflow i.d.s.e.w.WorkflowPatternsRestController : Workflow instance 2de2b968-900a-4f5b-9092-b26aefbfc6b3 started i.d.s.e.w.s.PerformTaskActivity : Starting Activity: io.dapr.springboot.examples.wfp.suspendresume.PerformTaskActivity i.d.s.e.w.s.PerformTaskActivity : Running activity... i.d.s.e.w.s.PerformTaskActivity : Completing activity... io.dapr.workflows.WorkflowContext : Waiting for approval... ``` You should see the Workflow ID that was created, in this example you don't need to remember this id, as you can use the orderId to find the right instance. Let's suspend the workflow instance by sending the following request: ```sh curl -X POST "localhost:8080/wfp/suspendresume/suspend?orderId=456" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` You should see the output of the requests: ```sh SUSPENDED ``` Now, let's resume the workflow instance: To send the event you can run: ```sh curl -X POST "localhost:8080/wfp/suspendresume/resume?orderId=456" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` You should see the output of the requests: ```sh RUNNING ``` Now, let's send the event that the instance is waiting to validate that the workflow complete after being suspended and resumed. To send the event you can run: ```sh curl -X POST "localhost:8080/wfp/suspendresume/continue?orderId=456&decision=true" -H 'Content-Type: application/json' --retry 10 --max-time 20 --retry-all-errors --retry-max-time 90 ``` The output of the request contains the output of the workflow based on the `decision` parameter that we sent. ```bash {"approved":true} ``` In the application output you should see, that the workflow instance completed correctly: ```sh i.d.s.e.w.WorkflowPatternsRestController : Workflow instance 2de2b968-900a-4f5b-9092-b26aefbfc6b3 continue io.dapr.workflows.WorkflowContext : approval-event arrived i.d.s.e.w.s.PerformTaskActivity : Starting Activity: io.dapr.springboot.examples.wfp.suspendresume.PerformTaskActivity i.d.s.e.w.s.PerformTaskActivity : Running activity... i.d.s.e.w.s.PerformTaskActivity : Completing activity... ``` ## Testing workflow executions Workflow execution can be tested using Testcontainers and you can find all the tests for the patterns covered in this application [here](src/test/java/io/dapr/springboot/examples/wfp/TestWorkflowPatternsApplication.java). ================================================ FILE: spring-boot-examples/workflows/patterns/body.json ================================================ ["Hello, world!", "The quick brown fox jumps over the lazy dog.", "If a tree falls in the forest and there is no one there to hear it, does it make a sound?", "The greatest glory in living lies not in never falling, but in rising every time we fall.", "Always remember that you are absolutely unique. Just like everyone else."] ================================================ FILE: spring-boot-examples/workflows/patterns/pom.xml ================================================ 4.0.0 io.dapr workflows 1.18.0-SNAPSHOT ../pom.xml patterns patterns Spring Boot, Testcontainers and Dapr Integration Examples :: Workflows Patterns org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test io.rest-assured rest-assured test io.github.microcks microcks-testcontainers test org.testcontainers testcontainers-postgresql 2.0.1 test org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/WorkflowPatternsApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class WorkflowPatternsApplication { public static void main(String[] args) { SpringApplication.run(WorkflowPatternsApplication.class, args); } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/WorkflowPatternsConfiguration.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.springboot.examples.wfp.continueasnew.CleanUpLog; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; @Configuration public class WorkflowPatternsConfiguration { @Bean public CleanUpLog cleanUpLog(){ return new CleanUpLog(); } @Bean public RestTemplate restTemplate() { return new RestTemplateBuilder().build(); } @Bean public ObjectMapper mapper() { return new ObjectMapper(); } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/WorkflowPatternsRestController.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import io.dapr.springboot.examples.wfp.chain.ChainWorkflow; import io.dapr.springboot.examples.wfp.child.ParentWorkflow; import io.dapr.springboot.examples.wfp.continueasnew.CleanUpLog; import io.dapr.springboot.examples.wfp.continueasnew.ContinueAsNewWorkflow; import io.dapr.springboot.examples.wfp.externalevent.Decision; import io.dapr.springboot.examples.wfp.externalevent.ExternalEventWorkflow; import io.dapr.springboot.examples.wfp.fanoutin.FanOutInWorkflow; import io.dapr.springboot.examples.wfp.fanoutin.Result; import io.dapr.springboot.examples.wfp.remoteendpoint.Payload; import io.dapr.springboot.examples.wfp.remoteendpoint.RemoteEndpointWorkflow; import io.dapr.springboot.examples.wfp.timer.DurationTimerWorkflow; import io.dapr.springboot.examples.wfp.timer.ZonedDateTimeTimerWorkflow; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.time.Duration; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeoutException; @RestController @EnableDaprWorkflows public class WorkflowPatternsRestController { private final Logger logger = LoggerFactory.getLogger(WorkflowPatternsRestController.class); @Autowired private DaprWorkflowClient daprWorkflowClient; @Autowired private CleanUpLog cleanUpLog; private Map ordersToApprove = new HashMap<>(); /** * Run Chain Demo Workflow * @return the output of the ChainWorkflow execution */ @PostMapping("wfp/chain") public String chain() throws TimeoutException { String instanceId = daprWorkflowClient.scheduleNewWorkflow(ChainWorkflow.class); logger.info("Workflow instance " + instanceId + " started"); return daprWorkflowClient .waitForWorkflowCompletion(instanceId, Duration.ofSeconds(10), true) .readOutputAs(String.class); } /** * Run Child Demo Workflow * @return confirmation that the workflow instance was created for the workflow pattern child */ @PostMapping("wfp/child") public String child() throws TimeoutException { String instanceId = daprWorkflowClient.scheduleNewWorkflow(ParentWorkflow.class); logger.info("Workflow instance " + instanceId + " started"); return daprWorkflowClient .waitForWorkflowCompletion(instanceId, Duration.ofSeconds(10), true) .readOutputAs(String.class); } /** * Run Fan Out/in Demo Workflow * @return confirmation that the workflow instance was created for the workflow pattern faninout */ @PostMapping("wfp/fanoutin") public Result fanOutIn(@RequestBody List listOfStrings) throws TimeoutException { String instanceId = daprWorkflowClient.scheduleNewWorkflow(FanOutInWorkflow.class, listOfStrings); logger.info("Workflow instance " + instanceId + " started"); // Block until the orchestration completes. Then print the final status, which includes the output. WorkflowState workflowState = daprWorkflowClient.waitForWorkflowCompletion( instanceId, Duration.ofSeconds(30), true); logger.info("workflow instance with ID: %s completed with result: %s%n", instanceId, workflowState.readOutputAs(Result.class)); return workflowState.readOutputAs(Result.class); } /** * Run External Event Workflow Pattern * @return confirmation that the workflow instance was created for the workflow pattern externalevent */ @PostMapping("wfp/externalevent") public String externalEvent(@RequestParam("orderId") String orderId) { String instanceId = daprWorkflowClient.scheduleNewWorkflow(ExternalEventWorkflow.class); ordersToApprove.put(orderId, instanceId); logger.info("Workflow instance " + instanceId + " started"); return instanceId; } @PostMapping("wfp/externalevent-continue") public Decision externalEventContinue(@RequestParam("orderId") String orderId, @RequestParam("decision") Boolean decision) throws TimeoutException { String instanceId = ordersToApprove.get(orderId); logger.info("Workflow instance " + instanceId + " continue"); daprWorkflowClient.raiseEvent(instanceId, "Approval", decision); WorkflowState workflowInstanceStatus = daprWorkflowClient .waitForWorkflowCompletion(instanceId, null, true); return workflowInstanceStatus.readOutputAs(Decision.class); } @PostMapping("wfp/continueasnew") public CleanUpLog continueAsNew() throws TimeoutException { cleanUpLog.clearLog(); String instanceId = daprWorkflowClient.scheduleNewWorkflow(ContinueAsNewWorkflow.class); logger.info("Workflow instance " + instanceId + " started"); WorkflowState workflowInstanceStatus = daprWorkflowClient.waitForWorkflowCompletion(instanceId, null, true); System.out.printf("workflow instance with ID: %s completed.", instanceId); return workflowInstanceStatus.readOutputAs(CleanUpLog.class); } @PostMapping("wfp/remote-endpoint") public Payload remoteEndpoint(@RequestBody Payload payload) throws TimeoutException { String instanceId = daprWorkflowClient.scheduleNewWorkflow(RemoteEndpointWorkflow.class, payload); logger.info("Workflow instance " + instanceId + " started"); WorkflowState workflowInstanceStatus = daprWorkflowClient .waitForWorkflowCompletion(instanceId, null, true); System.out.printf("workflow instance with ID: %s completed.", instanceId); return workflowInstanceStatus.readOutputAs(Payload.class); } @PostMapping("wfp/suspendresume") public String suspendResume(@RequestParam("orderId") String orderId) { String instanceId = daprWorkflowClient.scheduleNewWorkflow(ExternalEventWorkflow.class); logger.info("Workflow instance " + instanceId + " started"); ordersToApprove.put(orderId, instanceId); return instanceId; } @PostMapping("wfp/suspendresume/suspend") public String suspendResumeExecuteSuspend(@RequestParam("orderId") String orderId) { String instanceId = ordersToApprove.get(orderId); daprWorkflowClient.suspendWorkflow(instanceId, "testing suspend"); WorkflowState instanceState = daprWorkflowClient.getWorkflowState(instanceId, false); return instanceState.getRuntimeStatus().name(); } @PostMapping("wfp/suspendresume/resume") public String suspendResumeExecuteResume(@RequestParam("orderId") String orderId) { String instanceId = ordersToApprove.get(orderId); daprWorkflowClient.resumeWorkflow(instanceId, "testing resume"); WorkflowState instanceState = daprWorkflowClient.getWorkflowState(instanceId, false); return instanceState.getRuntimeStatus().name(); } @PostMapping("wfp/suspendresume/continue") public Decision suspendResumeContinue(@RequestParam("orderId") String orderId, @RequestParam("decision") Boolean decision) throws TimeoutException { String instanceId = ordersToApprove.get(orderId); logger.info("Workflow instance " + instanceId + " continue"); daprWorkflowClient.raiseEvent(instanceId, "Approval", decision); WorkflowState workflowInstanceStatus = daprWorkflowClient .waitForWorkflowCompletion(instanceId, null, true); return workflowInstanceStatus.readOutputAs(Decision.class); } @PostMapping("wfp/durationtimer") public String durationTimerWorkflow() { return daprWorkflowClient.scheduleNewWorkflow(DurationTimerWorkflow.class); } @PostMapping("wfp/zoneddatetimetimer") public String zonedDateTimeTimerWorkflow() { return daprWorkflowClient.scheduleNewWorkflow(ZonedDateTimeTimerWorkflow.class); } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/chain/ChainWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.chain; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; @Component public class ChainWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); String result = ""; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "Tokyo", String.class).await() + ", "; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "London", String.class).await() + ", "; result += ctx.callActivity(ToUpperCaseActivity.class.getName(), "Seattle", String.class).await(); ctx.getLogger().info("Workflow finished with result: " + result); ctx.complete(result); }; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/chain/ToUpperCaseActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.chain; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class ToUpperCaseActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ToUpperCaseActivity.class); logger.info("Starting Activity: " + ctx.getName()); var message = ctx.getInput(String.class); var newMessage = message.toUpperCase(); logger.info("Message Received from input: " + message); logger.info("Sending message to output: " + newMessage); return newMessage; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/child/ChildWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.child; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; @Component public class ChildWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting ChildWorkflow: " + ctx.getName()); var childWorkflowInput = ctx.getInput(String.class); ctx.getLogger().info("ChildWorkflow received input: " + childWorkflowInput); ctx.getLogger().info("ChildWorkflow is calling Activity: " + ReverseActivity.class.getName()); String result = ctx.callActivity(ReverseActivity.class.getName(), childWorkflowInput, String.class).await(); ctx.getLogger().info("ChildWorkflow finished with: " + result); ctx.complete(result); }; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/child/ParentWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.child; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; @Component public class ParentWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); var childWorkflowInput = "Hello Dapr Workflow!"; ctx.getLogger().info("calling childworkflow with input: " + childWorkflowInput); var childWorkflowOutput = ctx.callChildWorkflow(ChildWorkflow.class.getName(), childWorkflowInput, String.class).await(); ctx.getLogger().info("childworkflow finished with: " + childWorkflowOutput); ctx.complete(childWorkflowOutput); }; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/child/ReverseActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.child; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class ReverseActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ReverseActivity.class); logger.info("Starting Activity: " + ctx.getName()); var message = ctx.getInput(String.class); var newMessage = new StringBuilder(message).reverse().toString(); logger.info("Message Received from input: " + message); logger.info("Sending message to output: " + newMessage); return newMessage; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/continueasnew/CleanUpActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.continueasnew; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.util.concurrent.TimeUnit; @Component public class CleanUpActivity implements WorkflowActivity { @Autowired private CleanUpLog cleanUpLog; @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(CleanUpActivity.class); logger.info("Starting Activity: " + ctx.getName()); LocalDateTime now = LocalDateTime.now(); String cleanUpTimeString = now.getHour() + ":" + now.getMinute() + ":" + now.getSecond(); logger.info("start clean up work, it may take few seconds to finish... Time:" + cleanUpTimeString); //Sleeping for 2 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { throw new RuntimeException(e); } cleanUpLog.increment(); return "clean up finish."; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/continueasnew/CleanUpLog.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.continueasnew; public class CleanUpLog { private Integer cleanUpTimes = 0; public CleanUpLog() { } public void increment() { this.cleanUpTimes += 1; } public Integer getCleanUpTimes() { return cleanUpTimes; } public void clearLog(){ this.cleanUpTimes = 0; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/continueasnew/ContinueAsNewWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.continueasnew; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.time.Duration; @Component public class ContinueAsNewWorkflow implements Workflow { /* Compared with a CRON schedule, this periodic workflow example will never overlap. For example, a CRON schedule that executes a cleanup every hour will execute it at 1:00, 2:00, 3:00 etc. and could potentially run into overlap issues if the cleanup takes longer than an hour. In this example, however, if the cleanup takes 30 minutes, and we create a timer for 1 hour between cleanups, then it will be scheduled at 1:00, 2:30, 4:00, etc. and there is no chance of overlap. */ @Autowired private CleanUpLog cleanUpLog; @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); ctx.getLogger().info("call CleanUpActivity to do the clean up"); ctx.callActivity(CleanUpActivity.class.getName(), cleanUpLog).await(); ctx.getLogger().info("CleanUpActivity finished"); ctx.getLogger().info("wait 5 seconds for next clean up"); ctx.createTimer(Duration.ofSeconds(3)).await(); if(cleanUpLog.getCleanUpTimes() < 5) { // continue the workflow. ctx.getLogger().info("Let's do more cleaning."); ctx.continueAsNew(null); } else{ ctx.getLogger().info("We did enough cleaning"); ctx.complete(cleanUpLog); } }; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/externalevent/ApproveActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.externalevent; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; @Component public class ApproveActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ApproveActivity.class); logger.info("Starting Activity: " + ctx.getName()); logger.info("Running approval activity..."); //Sleeping for 5 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } return new Decision(true); } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/externalevent/Decision.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.externalevent; public class Decision { private Boolean approved; public Decision() { } public Decision(Boolean approved) { this.approved = approved; } public Boolean getApproved() { return approved; } public void setApproved(Boolean approved) { this.approved = approved; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/externalevent/DenyActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.externalevent; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; @Component public class DenyActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(DenyActivity.class); logger.info("Starting Activity: " + ctx.getName()); logger.info("Running denied activity..."); //Sleeping for 5 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } return new Decision(false); } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/externalevent/ExternalEventWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.externalevent; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; @Component public class ExternalEventWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); ctx.getLogger().info("Waiting for approval..."); Boolean approved = ctx.waitForExternalEvent("Approval", boolean.class).await(); Decision decision = null; if (approved) { ctx.getLogger().info("approval granted - do the approved action"); decision = ctx.callActivity(ApproveActivity.class.getName(), Decision.class).await(); ctx.getLogger().info("approval-activity finished"); } else { ctx.getLogger().info("approval denied - send a notification"); decision = ctx.callActivity(DenyActivity.class.getName(), Decision.class).await(); ctx.getLogger().info("denied-activity finished"); } ctx.complete(decision); }; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/fanoutin/CountWordsActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.fanoutin; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.StringTokenizer; @Component public class CountWordsActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(CountWordsActivity.class); logger.info("Starting Activity: {}", ctx.getName()); String input = ctx.getInput(String.class); StringTokenizer tokenizer = new StringTokenizer(input); int result = tokenizer.countTokens(); logger.info("Activity returned: {}.", result); logger.info("Activity finished"); return result; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/fanoutin/FanOutInWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.fanoutin; import io.dapr.durabletask.Task; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; import java.util.List; import java.util.stream.Collectors; @Component public class FanOutInWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); // The input is a list of objects that need to be operated on. // In this example, inputs are expected to be strings. List inputs = ctx.getInput(List.class); // Fan-out to multiple concurrent activity invocations, each of which does a word count. List> tasks = inputs.stream() .map(input -> ctx.callActivity(CountWordsActivity.class.getName(), input.toString(), Integer.class)) .collect(Collectors.toList()); // Fan-in to get the total word count from all the individual activity results. List allWordCountResults = ctx.allOf(tasks).await(); int totalWordCount = allWordCountResults.stream().mapToInt(Integer::intValue).sum(); ctx.getLogger().info("Workflow finished with result: " + totalWordCount); // Save the final result as the orchestration output. ctx.complete(new Result(totalWordCount)); }; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/fanoutin/Result.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.fanoutin; public class Result { private Integer wordCount; public Result() { } public Result(Integer wordCount) { this.wordCount = wordCount; } public Integer getWordCount() { return wordCount; } public void setWordCount(Integer wordCount) { this.wordCount = wordCount; } }; ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/remoteendpoint/CallRemoteEndpointActivity.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.remoteendpoint; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; @Component public class CallRemoteEndpointActivity implements WorkflowActivity { private Logger logger = LoggerFactory.getLogger(CallRemoteEndpointActivity.class); @Value("${application.process-base-url:}") private String processBaseURL; @Autowired private RestTemplate restTemplate; @Override public Object run(WorkflowActivityContext ctx) { logger.info("Starting Activity: " + ctx.getName()); var payload = ctx.getInput(Payload.class); HttpEntity request = new HttpEntity<>(payload); payload = restTemplate.postForObject(processBaseURL + "/process", request, Payload.class); logger.info("Payload from the remote service: " + payload); return payload; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/remoteendpoint/Payload.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.remoteendpoint; public class Payload { private String id; private String content; private Boolean processed = false; public Payload(String id, String content) { this.id = id; this.content = content; } public Payload() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public Boolean getProcessed() { return processed; } public void setProcessed(Boolean processed) { this.processed = processed; } @Override public String toString() { return "Payload{" + "id='" + id + '\'' + ", content='" + content + '\'' + ", processed=" + processed + '}'; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/remoteendpoint/RemoteEndpointWorkflow.java ================================================ /* * Copyright 2023 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.remoteendpoint; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import io.dapr.workflows.WorkflowTaskOptions; import io.dapr.workflows.WorkflowTaskRetryPolicy; import org.springframework.stereotype.Component; import java.time.Duration; @Component public class RemoteEndpointWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); Payload payload = ctx.getInput(Payload.class); payload = ctx.callActivity(CallRemoteEndpointActivity.class.getName(), payload , new WorkflowTaskOptions(new WorkflowTaskRetryPolicy(5, Duration.ofSeconds(2), 1.0, Duration.ofSeconds(10), Duration.ofSeconds(20))), Payload.class).await(); ctx.getLogger().info("Workflow finished with result: " + payload); ctx.complete(payload); }; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/suspendresume/PerformTaskActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.suspendresume; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; @Component public class PerformTaskActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(PerformTaskActivity.class); logger.info("Starting Activity: " + ctx.getName()); logger.info("Running activity..."); //Sleeping for 5 seconds to simulate long running operation try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { throw new RuntimeException(e); } logger.info("Completing activity..."); return "OK"; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/suspendresume/SuspendResumeWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.suspendresume; import io.dapr.springboot.examples.wfp.externalevent.Decision; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; @Component public class SuspendResumeWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: " + ctx.getName()); ctx.callActivity(PerformTaskActivity.class.getName(), String.class).await(); ctx.getLogger().info("Waiting for approval..."); Boolean approved = ctx.waitForExternalEvent("Approval", boolean.class).await(); ctx.getLogger().info("approval-event arrived"); ctx.callActivity(PerformTaskActivity.class.getName(), String.class).await(); ctx.complete(new Decision(approved)); }; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/timer/DurationTimerWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.timer; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; import java.time.Duration; import java.util.Date; @Component public class DurationTimerWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: {}, instanceId: {}", ctx.getName(), ctx.getInstanceId()); ctx.getLogger().info("Let's call the first LogActivity at {}", new Date()); ctx.callActivity(LogActivity.class.getName()).await(); ctx.getLogger().info("Let's schedule a 10 seconds timer at {}", new Date()); ctx.createTimer(Duration.ofSeconds(10)).await(); ctx.getLogger().info("Let's call the second LogActivity at {}", new Date()); ctx.callActivity(LogActivity.class.getName()).await(); ctx.complete(true); ctx.getLogger().info("Workflow completed at {}", new Date()); }; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/timer/LogActivity.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.timer; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.Date; @Component public class LogActivity implements WorkflowActivity { @Autowired private TimerLogService logService; @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(LogActivity.class); Date now = new Date(); logger.info("Running Activity: {} at {}", ctx.getName(), now); logService.logDate(now); return true; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/timer/TimerLogService.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.timer; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.Date; import java.util.List; @Component public class TimerLogService { private final List logDates = new ArrayList<>(); public void logDate(Date date){ logDates.add(date); } public void clearLog(){ logDates.clear(); } public List getLogDates(){ return logDates; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/java/io/dapr/springboot/examples/wfp/timer/ZonedDateTimeTimerWorkflow.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp.timer; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowStub; import org.springframework.stereotype.Component; import java.time.ZonedDateTime; import java.util.Date; @Component public class ZonedDateTimeTimerWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { ctx.getLogger().info("Starting Workflow: {}, instanceId: {}", ctx.getName(), ctx.getInstanceId()); ctx.getLogger().info("Let's call the first LogActivity at {}", new Date()); ctx.callActivity(LogActivity.class.getName()).await(); ZonedDateTime now = ZonedDateTime.now(); //Let's create a ZonedDateTime 10 seconds in the future ZonedDateTime inTheFuture = now.plusSeconds(10); ctx.getLogger().info("Creating a timer that due {} at: {}", inTheFuture, new Date()); ctx.createTimer(inTheFuture).await(); ctx.getLogger().info("The timer fired at: {}", new Date()); ctx.getLogger().info("Let's call the second LogActivity at {}", new Date()); ctx.callActivity(LogActivity.class.getName()).await(); ctx.complete(true); ctx.getLogger().info("Workflow completed at {}", new Date()); }; } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/main/resources/application.properties ================================================ spring.application.name=workflow-patterns-app ================================================ FILE: spring-boot-examples/workflows/patterns/src/test/java/io/dapr/springboot/examples/wfp/DaprTestContainersConfig.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.WorkflowDashboardContainer; import io.github.microcks.testcontainers.MicrocksContainersEnsemble; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.springframework.test.context.DynamicPropertyRegistrar; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import org.testcontainers.postgresql.PostgreSQLContainer; import org.testcontainers.utility.DockerImageName; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; /** * Test configuration for Dapr containers with debug logging enabled. * * This configuration sets up Dapr with DEBUG log level and console output * for detailed logging during test execution. * * ADDITIONAL DEBUGGING: For even more detailed logs, you can also: * 1. Run `docker ps` to find the Dapr container ID * 2. Run `docker logs --follow ` to stream real-time logs */ @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { Map postgreSQLDetails = new HashMap<>(); {{ postgreSQLDetails.put("host", "postgresql"); postgreSQLDetails.put("user", "postgres"); postgreSQLDetails.put("password", "postgres"); postgreSQLDetails.put("database", "dapr"); postgreSQLDetails.put("port", "5432"); postgreSQLDetails.put("actorStateStore", String.valueOf(true)); }} private Component stateStoreComponent = new Component("kvstore", "state.postgresql", "v2", postgreSQLDetails); @Bean @ServiceConnection public DaprContainer daprContainer(Network network, PostgreSQLContainer postgreSQLContainer) { return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("workflow-patterns-app") .withComponent(stateStoreComponent) .withAppPort(8080) .withNetwork(network) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(postgreSQLContainer); } @Bean public PostgreSQLContainer postgreSQLContainer(Network network) { return new PostgreSQLContainer(DockerImageName.parse("postgres")) .withNetworkAliases("postgresql") .withDatabaseName("dapr") .withUsername("postgres") .withPassword("postgres") .withNetwork(network); } @Bean MicrocksContainersEnsemble microcksEnsemble(Network network) { return new MicrocksContainersEnsemble(network, "quay.io/microcks/microcks-uber:1.11.2") .withAccessToHost(true) // We need this to access our webapp while it runs .withMainArtifacts("third-parties/remote-http-service.yaml"); } @Bean public WorkflowDashboardContainer workflowDashboard(Network network) { return new WorkflowDashboardContainer(WorkflowDashboardContainer.getDefaultImageName()) .withNetwork(network) .withStateStoreComponent(stateStoreComponent) .withExposedPorts(8080); } @Bean public DynamicPropertyRegistrar endpointsProperties(MicrocksContainersEnsemble ensemble) { // We need to replace the default endpoints with those provided by Microcks. return (properties) -> { properties.add("application.process-base-url", () -> ensemble.getMicrocksContainer() .getRestMockEndpoint("API Payload Processor", "1.0.0")); }; } @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/test/java/io/dapr/springboot/examples/wfp/TestWorkflowPatternsApplication.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkflowPatternsApplication { public static void main(String[] args) { SpringApplication.from(WorkflowPatternsApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8080); } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/test/java/io/dapr/springboot/examples/wfp/WorkflowPatternsAppIT.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.wfp; import io.dapr.springboot.DaprAutoConfiguration; import io.dapr.springboot.examples.wfp.continueasnew.CleanUpLog; import io.dapr.springboot.examples.wfp.remoteendpoint.Payload; import io.dapr.springboot.examples.wfp.timer.TimerLogService; import io.dapr.workflows.client.WorkflowRuntimeStatus; import io.github.microcks.testcontainers.MicrocksContainersEnsemble; import io.restassured.RestAssured; import io.restassured.http.ContentType; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.time.Duration; import java.util.Arrays; import java.util.List; import java.util.concurrent.TimeUnit; import static io.restassured.RestAssured.given; import static org.awaitility.Awaitility.await; import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.Matchers.equalTo; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; /** * Integration tests for Dapr Workflow Patterns. * * DEBUGGING: For more detailed logs during test execution, you can: * 1. Run `docker ps` to find the Dapr container ID * 2. Run `docker logs --follow ` to stream real-time logs * 3. The container name will typically be something like "dapr-workflow-patterns-app-" * * Example: * ```bash * docker ps | grep dapr * docker logs --follow * ``` * * This will show you detailed Dapr runtime logs including workflow execution, * state transitions, and component interactions. */ @SpringBootTest(classes = {TestWorkflowPatternsApplication.class, DaprTestContainersConfig.class, DaprAutoConfiguration.class, }, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) class WorkflowPatternsAppIT { @Autowired private MicrocksContainersEnsemble ensemble; @Autowired private TimerLogService logService; @BeforeEach void setUp() { RestAssured.baseURI = "http://localhost:" + 8080; org.testcontainers.Testcontainers.exposeHostPorts(8080); logService.clearLog(); } @Test void testChainWorkflow() { given().contentType(ContentType.JSON) .body("") .when() .post("/wfp/chain") .then() .statusCode(200).body(containsString("TOKYO, LONDON, SEATTLE")); } @Test void testChildWorkflow() { given().contentType(ContentType.JSON) .body("") .when() .post("/wfp/child") .then() .statusCode(200).body(containsString("!wolfkroW rpaD olleH")); } @Test void testFanOutIn() { List listOfStrings = Arrays.asList( "Hello, world!", "The quick brown fox jumps over the lazy dog.", "If a tree falls in the forest and there is no one there to hear it, does it make a sound?", "The greatest glory in living lies not in never falling, but in rising every time we fall.", "Always remember that you are absolutely unique. Just like everyone else."); given().contentType(ContentType.JSON) .body(listOfStrings) .when() .post("/wfp/fanoutin") .then() .statusCode(200).body("wordCount",equalTo(60)); } @Test void testExternalEventApprove() { given() .queryParam("orderId", "123") .when() .post("/wfp/externalevent") .then() .statusCode(200).extract().asString(); given() .queryParam("orderId", "123") .queryParam("decision", true) .when() .post("/wfp/externalevent-continue") .then() .statusCode(200).body("approved", equalTo(true)); } @Test void testExternalEventDeny() { given() .queryParam("orderId", "123") .when() .post("/wfp/externalevent") .then() .statusCode(200).extract().asString(); given() .queryParam("orderId", "123") .queryParam("decision", false) .when() .post("/wfp/externalevent-continue") .then() .statusCode(200).body("approved", equalTo(false)); } /** * Tests the ContinueAsNew workflow pattern. * * The ContinueAsNew pattern should execute cleanup activities 5 times * with 5-second intervals between each iteration. */ @Test void testContinueAsNew() { //This call blocks until all the clean up activities are executed CleanUpLog cleanUpLog = given().contentType(ContentType.JSON) .body("") .when() .post("/wfp/continueasnew") .then() .statusCode(200).extract().as(CleanUpLog.class); assertEquals(5, cleanUpLog.getCleanUpTimes()); } @Test void testRemoteEndpoint() { Payload payload = given().contentType(ContentType.JSON) .body(new Payload("123", "content goes here")) .when() .post("/wfp/remote-endpoint") .then() .statusCode(200).extract().as(Payload.class); assertEquals(true, payload.getProcessed()); assertEquals(2, ensemble.getMicrocksContainer() .getServiceInvocationsCount("API Payload Processor", "1.0.0")); } @Test void testSuspendResume() { String instanceId = given() .queryParam("orderId", "123") .when() .post("/wfp/suspendresume") .then() .statusCode(200).extract().asString(); assertNotNull(instanceId); // The workflow is waiting on an event, let's suspend the workflow String state = given() .queryParam("orderId", "123") .when() .post("/wfp/suspendresume/suspend") .then() .statusCode(200).extract().asString(); assertEquals(WorkflowRuntimeStatus.SUSPENDED.name(), state); // The let's resume the suspended workflow and check the state state = given() .queryParam("orderId", "123") .when() .post("/wfp/suspendresume/resume") .then() .statusCode(200).extract().asString(); assertEquals(WorkflowRuntimeStatus.RUNNING.name(), state); // Now complete the workflow by sending an event given() .queryParam("orderId", "123") .queryParam("decision", false) .when() .post("/wfp/suspendresume/continue") .then() .statusCode(200).body("approved", equalTo(false)); } @Test void testDurationTimer() throws InterruptedException { String instanceId = given() .when() .post("/wfp/durationtimer") .then() .statusCode(200).extract().asString(); assertNotNull(instanceId); // Check that the workflow completed successfully await().atMost(Duration.ofSeconds(30)) .pollDelay(500, TimeUnit.MILLISECONDS) .pollInterval(500, TimeUnit.MILLISECONDS) .until(() -> { System.out.println("Log Size: " + logService.getLogDates().size()); if( logService.getLogDates().size() == 2 ) { long diffInMillis = Math.abs(logService.getLogDates().get(1).getTime() - logService.getLogDates().get(0).getTime()); long diff = TimeUnit.SECONDS.convert(diffInMillis, TimeUnit.MILLISECONDS); System.out.println("First Log at: " + logService.getLogDates().get(0)); System.out.println("Second Log at: " + logService.getLogDates().get(1)); System.out.println("Diff in seconds: " + diff); // The updated time differences should be between 9 and 11 seconds return diff >= 9 && diff <= 11; } return false; }); } @Test void testZonedDateTimeTimer() throws InterruptedException { String instanceId = given() .when() .post("/wfp/zoneddatetimetimer") .then() .statusCode(200).extract().asString(); assertNotNull(instanceId); // Check that the workflow completed successfully await().atMost(Duration.ofSeconds(30)) .pollDelay(500, TimeUnit.MILLISECONDS) .pollInterval(500, TimeUnit.MILLISECONDS) .until(() -> { System.out.println("Log Size: " + logService.getLogDates().size()); if( logService.getLogDates().size() == 2 ) { long diffInMillis = Math.abs(logService.getLogDates().get(1).getTime() - logService.getLogDates().get(0).getTime()); long diff = TimeUnit.SECONDS.convert(diffInMillis, TimeUnit.MILLISECONDS); System.out.println("First Log at: " + logService.getLogDates().get(0)); System.out.println("Second Log at: " + logService.getLogDates().get(1)); System.out.println("Diff in seconds: " + diff); // The updated time differences should be between 9 and 11 seconds return diff >= 9 && diff <= 11; } return false; }); } } ================================================ FILE: spring-boot-examples/workflows/patterns/src/test/resources/application.properties ================================================ spring.application.name=workflow-patterns-app ================================================ FILE: spring-boot-examples/workflows/patterns/src/test/resources/third-parties/remote-http-service.yaml ================================================ --- openapi: 3.0.2 info: title: API Payload Processor version: 1.0.0 description: API definition of API Payload Processor sample app contact: name: Salaboy url: http://github.com/salaboy email: salaboy@gmail.com license: name: MIT License url: https://opensource.org/licenses/MIT paths: /process: summary: Process payload post: tags: - process x-microcks-operation: dispatcher: SCRIPT dispatcherRules: | def retries = store.get("retries") ?:"first" if (retries == "first") { store.put("retries", "second", 60) return "Error" } store.delete("retries") return "Payload" requestBody: content: application/json: schema: $ref: '#/components/schemas/Payload' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Payload' examples: Payload: value: id: 123 content: payload content here processed: true description: Process payload "500": content: application/json: schema: type: object properties: message: type: string description: Error message examples: Error: value: message: Something unexpected happened description: Error payload operationId: Process summary: Process incoming payload components: schemas: Payload: title: Payload to be processed description: Payload to be processed following the Payload type's schema. type: object properties: id: description: Payload Id type: string content: description: Payload Content type: string processed: description: Is the Payload processed type: boolean required: - id - content additionalProperties: false tags: - name: payload description: Payload resource ================================================ FILE: spring-boot-examples/workflows/pom.xml ================================================ 4.0.0 io.dapr spring-boot-examples 1.18.0-SNAPSHOT ../pom.xml workflows pom true patterns multi-app versioning org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/workflows/spotbugs-exclude.xml ================================================ ================================================ FILE: spring-boot-examples/workflows/versioning/README.md ================================================ # Versioning Workflows example This example shows how to create different versions for a workflow. Dapr supports two types of versioning: Full workflow version and Patch workflow version. - Full version workflow refers to the case when the whole workflow definition is replaced by a new one. - Patch version workflow refers to the case when you want to introduce a small change in the current workflow definition. ## Full workflow version This example is composed by three Spring Boot applications: - `version-orchestrator`: The `version-orchestrator` app exposes REST endpoints to create, continue and get the status of the workflow. - `full-version-worker-1`: The `full-version-worker-1` app contains version 1 of the workflow and is triggered by the `version-orchestrator` app. This app is only able tu run version 1 of the workflow. The definition of the workflow is: `Activity1` → wait for event `followup` → `Activity2` You can find the implementation in the [`RegisterV1Components.java`](full-version-worker-one/src/main/java/io/dapr/springboot/examples/workerone/RegisterV1Components.java) class. - `full-version-worker-2`: The `full-version-worker-2` app contains version 1 and version 2 of the workflow and is triggered by the `version-orchestrator` app. This app is able to run version 1 and version 2 of the workflow depending on the version that the workflow has started. The definition of the workflow is: `Activity3` → wait for event `followup` → `Activity4` You can find the implementation in the [`RegisterV2Components.java`](full-version-worker-two/src/main/java/io/dapr/springboot/examples/workertwo/RegisterV2Components.java) class. ### Start workflow version v1 To start the applications you need to run the following commands on separate terminals, starting from the `versioning` directory. To start the `version-orchestrator` app run: ```bash cd version-orchestrator/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` The `version-orchestrator` application will run on port `8080`. On a separate terminal, to start the `full-version-worker-1` app run: ```bash cd full-version-worker-one/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` You can create new workflow instances the endpoint. ```bash curl -X POST localhost:8083/version/v1/full ``` This request will return something similar to: `New Workflow Instance created with instanceId: 11111111-1111-1111-1111-111111111111` With this instanceId you can raise an event with the following command: ```bash curl -X POST localhost:8080/version/v1/full/followup/11111111-1111-1111-1111-111111111111 ``` Once the event is raised, the workflow will continue and the workflow app will be completed. You can check it with: ```bash curl -X POST localhost:8080/version/v1/full/status/11111111-1111-1111-1111-111111111111 ``` The result will be: ` Workflow for instanceId: 11111111-1111-1111-1111-111111111111 is completed[COMPLETED] with Activity1, Activity2` ### Start workflow version v2 To start the applications you need to run the following commands on separate terminals, starting from the `versioning` directory. To start the `version-orchestrator` app run: ```bash cd version-orchestrator/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` The `version-orchestrator` application will run on port `8080`. On a separate terminal, to start the `full-version-worker-2` app run: ```bash cd full-version-worker-two/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` You can create new workflow instances the endpoint. ```bash curl -X POST localhost:8083/version/v2/full ``` This request will return something similar to: `New Workflow Instance created with instanceId: 22222222-2222-2222-2222-222222222222` With this instanceId you can raise an event with the following command: ```bash curl -X POST localhost:8083/version/v2/full/followup/22222222-2222-2222-2222-222222222222 ``` Once the event is raised, the workflow will continue and the workflow app will be completed. You can check it with: ```bash curl -X POST localhost:8083/version/v2/full/status/22222222-2222-2222-2222-222222222222 ``` The result will be: ` Workflow for instanceId: 22222222-2222-2222-2222-222222222222 is completed[COMPLETED] with Activity3, Activity4` ### Mix version 1 and version 2 To start the applications you need to run the following commands on separate terminals, starting from the `versioning` directory. To start the `version-orchestrator` app run: ```bash cd version-orchestrator/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` The `version-orchestrator` application will run on port `8083`. On a separate terminal, to start the `full-version-worker-1` app run: ```bash cd full-version-worker-one/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` You can create new workflow instances the endpoint. ```bash curl -X POST localhost:8083/version/v1/full ``` This request will return something similar to: `New Workflow Instance created with instanceId: 11111111-1111-1111-1111-111111111111` Now you can stop the `full-version-worker-1` app and start the `full-version-worker-2` app. ```bash cd full-version-worker-two/ mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` Now you can create new workflow instances with: You can create new workflow instances the endpoint. ```bash curl -X POST localhost:8083/version/v2/full ``` This will return something similar to: `New Workflow Instance created with instanceId: 22222222-2222-2222-2222-222222222222` This means you have two workflow instances running at the same time, one created with version 1 and the other with version 2. If you complete both instances: ```bash curl -X POST localhost:8083/version/v2/full/followup/11111111-1111-1111-1111-111111111111 curl -X POST localhost:8083/version/v2/full/followup/22222222-2222-2222-2222-222222222222 ``` And get the status of the workflow instances: ```bash curl -X POST localhost:8083/version/v2/full/status/11111111-1111-1111-1111-111111111111 curl -X POST localhost:8083/version/v2/full/status/22222222-2222-2222-2222-222222222222 ``` The result will be: ` Workflow for instanceId: 11111111-1111-1111-1111-111111111111 is completed[COMPLETED] with Activity1, Activity2` ` Workflow for instanceId: 22222222-2222-2222-2222-222222222222 is completed[COMPLETED] with Activity3, Activity4` ## Patch workflow version This example is composed by three Spring Boot applications: - `version-orchestrator`: The `version-orchestrator` app exposes REST endpoints to create, continue and get the status of the workflow. - `patch-version-worker-1`: The `patch-version-worker-1` app contains version 1 of the workflow and is triggered by the `version-orchestrator` app. This app runs the initial workflow definition. The definition of the workflow is: `Activity1` → wait for event `followup` → `Activity2` You can find the implementation in the [`RegisterComponents.java`](patch-version-worker-one/src/main/java/io/dapr/springboot/examples/workerone/RegisterComponents.java) class. - `patch-version-worker-2`: The `patch-version-worker-2` app contains the patched version and is triggered by the `version-orchestrator` app. This app is able to run both initial and patched versions of the workflow depending on the version that the workflow has started. The definition of the workflow is : `Activity1` → wait for event `followup` → `Activity3` → `Activity4` → `Activity2` You can find the implementation in the [`RegisterPatchedComponents.java`](patch-version-worker-two/src/main/java/io/dapr/springboot/examples/workertwo/RegisterPatchedComponents.java) class. ### Start workflow with initial definition To start the applications you need to run the following commands on separate terminals, starting from the `versioning` directory. In two terminals run: ```bash cd version-orchestrator/ && mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` and ```bash cd patch-version-worker-one/ && mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` then you create, trigger the event and check the status: ```bash curl -X POST localhost:8083/version/v1/patch curl -X POST localhost:8083/version/v1/patch/followup/11111111-1111-1111-1111-111111111111 curl -X POST localhost:8083/version/v1/patch/status/11111111-1111-1111-1111-111111111111 ``` This will return: `Workflow for instanceId: 11111111-1111-1111-1111-111111111111 is completed[COMPLETED] with Activity1, Activity2` Now start a new workflow but do not complete it: ```bash curl -X POST localhost:8083/version/v1/patch ``` Save the instanceId and complete the workflow in the next step. Lets assume the instanceId is `33333333-3333-3333-3333-333333333333`. ### Start workflow with patched definition Stop the `patch-version-worker-1` app and start the `patch-version-worker-2` app. ```bash cd patch-version-worker-two/ && mvn -Dspring-boot.run.arguments="--reuse=true" clean spring-boot:test-run ``` Now you can create new workflow instances with: ```bash curl -X POST localhost:8083/version/v2/patch curl -X POST localhost:8083/version/v2/patch/followup/22222222-2222-2222-2222-222222222222 curl -X POST localhost:8083/version/v2/patch/status/22222222-2222-2222-2222-222222222222 ``` This will return: `Workflow for instanceId: 22222222-2222-2222-2222-222222222222 is completed[COMPLETED] with Activity1, Activity3, Activity4, Activity2` And if we continue the instance with id `33333333-3333-3333-3333-333333333333` we will get: `Workflow for instanceId: 33333333-3333-3333-3333-333333333333 is completed[COMPLETED] with Activity1, Activity3, Activity4, Activity2`' ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-one/pom.xml ================================================ 4.0.0 io.dapr versioning 1.18.0-SNAPSHOT ../pom.xml full-version-worker-one full-version-worker-one Spring Boot, Testcontainers and Dapr Integration Examples :: Full version Worker 1 App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test com.redis testcontainers-redis test io.rest-assured rest-assured test org.springframework.boot spring-boot-maven-plugin worker-one repackage org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-one/src/main/java/io/dapr/springboot/examples/workerone/FullVersionWorkerOneApplication.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableDaprWorkflows public class FullVersionWorkerOneApplication { public static void main(String[] args) { SpringApplication.run(FullVersionWorkerOneApplication.class, args); } } ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-one/src/main/java/io/dapr/springboot/examples/workerone/RegisterV1Components.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import io.dapr.workflows.WorkflowContext; import io.dapr.workflows.WorkflowStub; import io.dapr.spring.workflows.config.annotations.ActivityMetadata; import io.dapr.spring.workflows.config.annotations.WorkflowMetadata; import org.checkerframework.checker.units.qual.C; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class RegisterV1Components { @WorkflowMetadata(name = "FullVersionWorkflow", version = "V1", isLatest = true) public static class FullVersionWorkflow implements Workflow { @Override public WorkflowStub create() { return ctx -> { String result = ""; result += ctx.callActivity(Activity1.name, String.class).await() + ", "; ctx.waitForExternalEvent("followup").await(); result += ctx.callActivity(Activity2.name, String.class).await(); ctx.complete(result); }; } } @ActivityMetadata(name = Activity1.name) public static class Activity1 implements WorkflowActivity { private final Logger logger = LoggerFactory.getLogger(Activity1.class); public static final String name = "Activity1"; @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } @ActivityMetadata(name = Activity2.name) public static class Activity2 implements WorkflowActivity { private final Logger logger = LoggerFactory.getLogger(Activity2.class); public static final String name = "Activity2"; @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } } ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-one/src/main/java/io/dapr/springboot/examples/workerone/WorkflowController.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; @RestController public class WorkflowController { public static final String FULL_VERSION_WORKFLOW = "FullVersionWorkflow"; private final Logger logger = LoggerFactory.getLogger(WorkflowController.class); @Autowired private DaprWorkflowClient daprWorkflowClient; @GetMapping("/") public String root() { return "OK"; } /** * Track customer endpoint. * * @return confirmation that the workflow instance was created for a given customer */ @PostMapping("/version/full") public String createWorkflowInstance() { String instanceId = daprWorkflowClient.scheduleNewWorkflow(FULL_VERSION_WORKFLOW); logger.info("Workflow instance {} started", instanceId); return "New Workflow Instance created with instanceId: " + instanceId; } /** * Request customer follow-up. * * @return confirmation that the follow-up was requested */ @PostMapping("/version/full/followup/{instanceId}") public String followUp(@PathVariable("instanceId") String instanceId) { logger.info("Follow-up requested: {}", instanceId); if (instanceId == null || instanceId.isEmpty()) { return "InstanceId is empty"; } daprWorkflowClient.raiseEvent(instanceId, "followup", null); return "Follow-up requested for instanceId: " + instanceId; } /** * Request customer workflow instance status. * * @return the workflow instance status for a given customer */ @PostMapping("/version/full/status/{instanceId}") public String getStatus(@PathVariable("instanceId") String instanceId) { logger.info("Status requested: {}", instanceId); if (instanceId == null || instanceId.isEmpty()) { return "N/A"; } WorkflowState instanceState = daprWorkflowClient.getWorkflowState(instanceId, true); assert instanceState != null; var result = instanceState.readOutputAs(String.class); return "Workflow for instanceId: " + instanceId + " is completed[" + instanceState.getRuntimeStatus() + "] with " + result; } } ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-one/src/main/resources/application.properties ================================================ spring.application.name=full-version-worker server.port=8081 ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-one/src/test/java/io/dapr/springboot/examples/workerone/DaprTestContainersConfig.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import com.redis.testcontainers.RedisContainer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.DaprLogLevel; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RedisContainer redisContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RedisContainer(RedisContainer.DEFAULT_IMAGE_NAME) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("redis"); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RedisContainer redisContainer, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); Map redisProps = new HashMap<>(); redisProps.put("redisHost", "redis:6379"); redisProps.put("redisPassword", ""); redisProps.put("actorStateStore", String.valueOf(true)); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("full-version-worker") .withNetwork(daprNetwork) .withReusablePlacement(reuse) .withReusableScheduler(reuse) .withComponent(new Component("kvstore", "state.redis", "v1", redisProps)) .withAppPort(8081) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(redisContainer); } } ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-one/src/test/java/io/dapr/springboot/examples/workerone/TestWorkerOneApplication.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkerOneApplication { public static void main(String[] args) { SpringApplication.from(FullVersionWorkerOneApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8081); } } ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-one/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore server.port=8081 ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-two/pom.xml ================================================ 4.0.0 io.dapr versioning 1.18.0-SNAPSHOT ../pom.xml full-version-worker-two full-version-worker-two Spring Boot, Testcontainers and Dapr Integration Examples :: Full version Worker 2 App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test com.redis testcontainers-redis test io.rest-assured rest-assured test org.springframework.boot spring-boot-maven-plugin worker-one repackage org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-two/src/main/java/io/dapr/springboot/examples/workertwo/FullVersionWorkerTwoApplication.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableDaprWorkflows public class FullVersionWorkerTwoApplication { public static void main(String[] args) { SpringApplication.run(FullVersionWorkerTwoApplication.class, args); } } ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-two/src/main/java/io/dapr/springboot/examples/workertwo/RegisterV2Components.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import io.dapr.workflows.WorkflowStub; import io.dapr.spring.workflows.config.annotations.ActivityMetadata; import io.dapr.spring.workflows.config.annotations.WorkflowMetadata; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class RegisterV2Components { @WorkflowMetadata(name = "FullVersionWorkflow", version = "V1", isLatest = false) public static class FullVersionWorkflowV1 implements Workflow { @Override public WorkflowStub create() { return ctx -> { String result = ""; result += ctx.callActivity(Activity1.name, String.class).await() +", "; ctx.waitForExternalEvent("followup").await(); result += ctx.callActivity(Activity2.name, String.class).await(); ctx.complete(result); }; } } @WorkflowMetadata(name = "FullVersionWorkflow", version = "V2", isLatest = true) public static class FullVersionWorkflowV2 implements Workflow { @Override public WorkflowStub create() { return ctx -> { String result = ""; result += ctx.callActivity(Activity3.name, String.class).await() +", "; ctx.waitForExternalEvent("followup").await(); result += ctx.callActivity(Activity4.name, String.class).await(); ctx.complete(result); }; } } @ActivityMetadata(name = Activity1.name) public static class Activity1 implements WorkflowActivity { public static final String name = "Activity1"; private final Logger logger = LoggerFactory.getLogger(Activity1.class); @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } @ActivityMetadata(name = Activity2.name) public static class Activity2 implements WorkflowActivity { public static final String name = "Activity2"; private final Logger logger = LoggerFactory.getLogger(Activity2.class); @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } @ActivityMetadata(name = Activity3.name) public static class Activity3 implements WorkflowActivity { public static final String name = "Activity3"; private final Logger logger = LoggerFactory.getLogger(Activity3.class); @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } @ActivityMetadata(name = Activity4.name) public static class Activity4 implements WorkflowActivity { public static final String name = "Activity4"; private final Logger logger = LoggerFactory.getLogger(Activity4.class); @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } } ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-two/src/main/java/io/dapr/springboot/examples/workertwo/WorkflowController.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class WorkflowController { public static final String FULL_VERSION_WORKFLOW = "FullVersionWorkflow"; private final Logger logger = LoggerFactory.getLogger(WorkflowController.class); @Autowired private DaprWorkflowClient daprWorkflowClient; @GetMapping("/") public String root() { return "OK"; } /** * Track customer endpoint. * * @return confirmation that the workflow instance was created for a given customer */ @PostMapping("/version/full") public String createWorkflowInstance() { String instanceId = daprWorkflowClient.scheduleNewWorkflow(FULL_VERSION_WORKFLOW); logger.info("Workflow instance {} started", instanceId); return "New Workflow Instance created with instanceId: " + instanceId; } /** * Request customer follow-up. * * @return confirmation that the follow-up was requested */ @PostMapping("/version/full/followup/{instanceId}") public String followUp(@PathVariable("instanceId") String instanceId) { logger.info("Follow-up requested: {}", instanceId); if (instanceId == null || instanceId.isEmpty()) { return "InstanceId is empty"; } daprWorkflowClient.raiseEvent(instanceId, "followup", null); return "Follow-up requested for instanceId: " + instanceId; } /** * Request customer workflow instance status. * * @return the workflow instance status for a given customer */ @PostMapping("/version/full/status/{instanceId}") public String getStatus(@PathVariable("instanceId") String instanceId) { logger.info("Status requested: {}", instanceId); if (instanceId == null || instanceId.isEmpty()) { return "N/A"; } WorkflowState instanceState = daprWorkflowClient.getWorkflowState(instanceId, true); assert instanceState != null; var result = instanceState.readOutputAs(String.class); return "Workflow for instanceId: " + instanceId + " is completed[" + instanceState.getRuntimeStatus() + "] with " + result; } } ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-two/src/main/resources/application.properties ================================================ spring.application.name=full-version-worker server.port=8082 ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-two/src/test/java/io/dapr/springboot/examples/workertwo/DaprTestContainersConfig.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import com.redis.testcontainers.RedisContainer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RedisContainer redisContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RedisContainer(RedisContainer.DEFAULT_IMAGE_NAME) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("redis"); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RedisContainer redisContainer, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); Map redisProps = new HashMap<>(); redisProps.put("redisHost", "redis:6379"); redisProps.put("redisPassword", ""); redisProps.put("actorStateStore", String.valueOf(true)); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("full-version-worker") .withNetwork(daprNetwork) .withReusablePlacement(reuse) .withReusableScheduler(reuse) .withComponent(new Component("kvstore", "state.redis", "v1", redisProps)) .withAppPort(8082) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(redisContainer); } } ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-two/src/test/java/io/dapr/springboot/examples/workertwo/TestWorkerTwoApplication.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkerTwoApplication { public static void main(String[] args) { SpringApplication.from(FullVersionWorkerTwoApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8082); } } ================================================ FILE: spring-boot-examples/workflows/versioning/full-version-worker-two/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore server.port=8082 ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-one/pom.xml ================================================ 4.0.0 io.dapr versioning 1.18.0-SNAPSHOT ../pom.xml patch-version-worker-one patch-version-worker-one Spring Boot, Testcontainers and Dapr Integration Examples :: Patch version Worker 1 App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test com.redis testcontainers-redis test io.rest-assured rest-assured test org.springframework.boot spring-boot-maven-plugin worker-one repackage org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-one/src/main/java/io/dapr/springboot/examples/workerone/PatchVersionWorkerOneApplication.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableDaprWorkflows public class PatchVersionWorkerOneApplication { public static void main(String[] args) { SpringApplication.run(PatchVersionWorkerOneApplication.class, args); } } ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-one/src/main/java/io/dapr/springboot/examples/workerone/RegisterComponents.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import io.dapr.workflows.WorkflowStub; import io.dapr.spring.workflows.config.annotations.ActivityMetadata; import io.dapr.spring.workflows.config.annotations.WorkflowMetadata; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class RegisterComponents { @WorkflowMetadata(name = "PatchVersionWorkflow") public static class PatchVersionWorkflowV1 implements Workflow { @Override public WorkflowStub create() { return ctx -> { String result = ""; result += ctx.callActivity(Activity1.name, String.class).await() +", "; ctx.waitForExternalEvent("followup").await(); result += ctx.callActivity(Activity2.name, String.class).await(); ctx.complete(result); }; } } @ActivityMetadata(name = Activity1.name) public static class Activity1 implements WorkflowActivity { public static final String name = "Activity1"; private final Logger logger = LoggerFactory.getLogger(Activity1.class); @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } @ActivityMetadata(name = Activity2.name) public static class Activity2 implements WorkflowActivity { public static final String name = "Activity2"; private final Logger logger = LoggerFactory.getLogger(Activity2.class); @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } } ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-one/src/main/java/io/dapr/springboot/examples/workerone/WorkflowController.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class WorkflowController { public static final String PATCH_VERSION_WORKFLOW = "PatchVersionWorkflow"; private final Logger logger = LoggerFactory.getLogger(WorkflowController.class); @Autowired private DaprWorkflowClient daprWorkflowClient; @GetMapping("/") public String root() { return "OK"; } /** * Track customer endpoint. * * @return confirmation that the workflow instance was created for a given customer */ @PostMapping("/version/patch") public String createWorkflowInstance() { String instanceId = daprWorkflowClient.scheduleNewWorkflow(PATCH_VERSION_WORKFLOW); logger.info("Workflow instance {} started", instanceId); return "New Workflow Instance created with instanceId: " + instanceId; } /** * Request customer follow-up. * * @return confirmation that the follow-up was requested */ @PostMapping("/version/patch/followup/{instanceId}") public String followUp(@PathVariable("instanceId") String instanceId) { logger.info("Follow-up requested: {}", instanceId); if (instanceId == null || instanceId.isEmpty()) { return "InstanceId is empty"; } daprWorkflowClient.raiseEvent(instanceId, "followup", null); return "Follow-up requested for instanceId: " + instanceId; } /** * Request customer workflow instance status. * * @return the workflow instance status for a given customer */ @PostMapping("/version/patch/status/{instanceId}") public String getStatus(@PathVariable("instanceId") String instanceId) { logger.info("Status requested: {}", instanceId); if (instanceId == null || instanceId.isEmpty()) { return "N/A"; } WorkflowState instanceState = daprWorkflowClient.getWorkflowState(instanceId, true); assert instanceState != null; var result = instanceState.readOutputAs(String.class); return "Workflow for instanceId: " + instanceId + " is completed[" + instanceState.getRuntimeStatus() + "] with " + result; } } ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-one/src/main/resources/application.properties ================================================ spring.application.name=patch-version-worker server.port=8083 ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-one/src/test/java/io/dapr/springboot/examples/workerone/DaprTestContainersConfig.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import com.redis.testcontainers.RedisContainer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RedisContainer redisContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RedisContainer(RedisContainer.DEFAULT_IMAGE_NAME) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("redis"); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RedisContainer redisContainer, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); Map redisProps = new HashMap<>(); redisProps.put("redisHost", "redis:6379"); redisProps.put("redisPassword", ""); redisProps.put("actorStateStore", String.valueOf(true)); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("patch-version-worker") .withNetwork(daprNetwork) .withReusablePlacement(reuse) .withReusableScheduler(reuse) .withComponent(new Component("kvstore", "state.redis", "v1", redisProps)) .withAppPort(8083) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(redisContainer); } } ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-one/src/test/java/io/dapr/springboot/examples/workerone/TestWorkerOneApplication.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workerone; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkerOneApplication { public static void main(String[] args) { SpringApplication.from(PatchVersionWorkerOneApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8083); } } ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-one/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore server.port=8083 ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-two/pom.xml ================================================ 4.0.0 io.dapr versioning 1.18.0-SNAPSHOT ../pom.xml patch-version-worker-two patch-version-worker-two Spring Boot, Testcontainers and Dapr Integration Examples :: Patch version Worker 2 App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test com.redis testcontainers-redis test io.rest-assured rest-assured test org.springframework.boot spring-boot-maven-plugin worker-one repackage org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-two/src/main/java/io/dapr/springboot/examples/workertwo/PatchVersionWorkerTwoApplication.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableDaprWorkflows public class PatchVersionWorkerTwoApplication { public static void main(String[] args) { SpringApplication.run(PatchVersionWorkerTwoApplication.class, args); } } ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-two/src/main/java/io/dapr/springboot/examples/workertwo/RegisterPatchedComponents.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import io.dapr.workflows.Workflow; import io.dapr.workflows.WorkflowActivity; import io.dapr.workflows.WorkflowActivityContext; import io.dapr.workflows.WorkflowStub; import io.dapr.spring.workflows.config.annotations.ActivityMetadata; import io.dapr.spring.workflows.config.annotations.WorkflowMetadata; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @Component public class RegisterPatchedComponents { @WorkflowMetadata(name = "PatchVersionWorkflow") public static class PatchVersionWorkflowV2 implements Workflow { @Override public WorkflowStub create() { return ctx -> { String result = ""; result += ctx.callActivity(Activity1.name, String.class).await() +", "; ctx.waitForExternalEvent("followup").await(); var isPatched = ctx.isPatched("v2"); if (isPatched) { result += ctx.callActivity(Activity3.name, String.class).await() +", "; result += ctx.callActivity(Activity4.name, String.class).await() +", "; } result += ctx.callActivity(Activity2.name, String.class).await(); ctx.complete(result); }; } } @ActivityMetadata(name = Activity1.name) public static class Activity1 implements WorkflowActivity { public static final String name = "Activity1"; private final Logger logger = LoggerFactory.getLogger(Activity1.class); @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } @ActivityMetadata(name = Activity2.name) public static class Activity2 implements WorkflowActivity { public static final String name = "Activity2"; private final Logger logger = LoggerFactory.getLogger(Activity2.class); @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } @ActivityMetadata(name = Activity3.name) public static class Activity3 implements WorkflowActivity { public static final String name = "Activity3"; private final Logger logger = LoggerFactory.getLogger(Activity3.class); @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } @ActivityMetadata(name = Activity4.name) public static class Activity4 implements WorkflowActivity { public static final String name = "Activity4"; private final Logger logger = LoggerFactory.getLogger(Activity4.class); @Override public Object run(WorkflowActivityContext ctx) { logger.info(name + " started"); return name; } } } ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-two/src/main/java/io/dapr/springboot/examples/workertwo/WorkflowController.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import io.dapr.workflows.client.DaprWorkflowClient; import io.dapr.workflows.client.WorkflowState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class WorkflowController { public static final String PATCH_VERSION_WORKFLOW = "PatchVersionWorkflow"; private final Logger logger = LoggerFactory.getLogger(WorkflowController.class); @Autowired private DaprWorkflowClient daprWorkflowClient; @GetMapping("/") public String root() { return "OK"; } /** * Track customer endpoint. * * @return confirmation that the workflow instance was created for a given customer */ @PostMapping("/version/patch") public String createWorkflowInstance() { String instanceId = daprWorkflowClient.scheduleNewWorkflow(PATCH_VERSION_WORKFLOW); logger.info("Workflow instance {} started", instanceId); return "New Workflow Instance created with instanceId: " + instanceId; } /** * Request customer follow-up. * * @return confirmation that the follow-up was requested */ @PostMapping("/version/patch/followup/{instanceId}") public String followUp(@PathVariable("instanceId") String instanceId) { logger.info("Follow-up requested: {}", instanceId); if (instanceId == null || instanceId.isEmpty()) { return "InstanceId is empty"; } daprWorkflowClient.raiseEvent(instanceId, "followup", null); return "Follow-up requested for instanceId: " + instanceId; } /** * Request customer workflow instance status. * * @return the workflow instance status for a given customer */ @PostMapping("/version/patch/status/{instanceId}") public String getStatus(@PathVariable("instanceId") String instanceId) { logger.info("Status requested: {}", instanceId); if (instanceId == null || instanceId.isEmpty()) { return "N/A"; } WorkflowState instanceState = daprWorkflowClient.getWorkflowState(instanceId, true); assert instanceState != null; var result = instanceState.readOutputAs(String.class); return "Workflow for instanceId: " + instanceId + " is completed[" + instanceState.getRuntimeStatus() + "] with " + result; } } ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-two/src/main/resources/application.properties ================================================ spring.application.name=full-version-worker server.port=8084 ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-two/src/test/java/io/dapr/springboot/examples/workertwo/DaprTestContainersConfig.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import com.redis.testcontainers.RedisContainer; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.Network; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } @Bean public RedisContainer redisContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RedisContainer(RedisContainer.DEFAULT_IMAGE_NAME) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("redis"); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RedisContainer redisContainer, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); Map redisProps = new HashMap<>(); redisProps.put("redisHost", "redis:6379"); redisProps.put("redisPassword", ""); redisProps.put("actorStateStore", String.valueOf(true)); return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("patch-version-worker") .withNetwork(daprNetwork) .withReusablePlacement(reuse) .withReusableScheduler(reuse) .withComponent(new Component("kvstore", "state.redis", "v1", redisProps)) .withAppPort(8084) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(redisContainer); } } ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-two/src/test/java/io/dapr/springboot/examples/workertwo/TestWorkerOneApplication.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.workertwo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestWorkerOneApplication { public static void main(String[] args) { SpringApplication.from(PatchVersionWorkerTwoApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8084); } } ================================================ FILE: spring-boot-examples/workflows/versioning/patch-version-worker-two/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore server.port=8084 ================================================ FILE: spring-boot-examples/workflows/versioning/pom.xml ================================================ 4.0.0 io.dapr workflows 1.18.0-SNAPSHOT ../pom.xml versioning pom true version-orchestrator full-version-worker-one full-version-worker-two patch-version-worker-one patch-version-worker-two org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true ================================================ FILE: spring-boot-examples/workflows/versioning/spotbugs-exclude.xml ================================================ ================================================ FILE: spring-boot-examples/workflows/versioning/version-orchestrator/pom.xml ================================================ 4.0.0 io.dapr versioning 1.18.0-SNAPSHOT ../pom.xml version-orchestrator version-orchestrator Spring Boot, Testcontainers and Dapr Integration Examples :: Version Orchestrator App org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test io.dapr.spring dapr-spring-boot-starter io.dapr.spring dapr-spring-boot-starter-test test com.redis testcontainers-redis test io.rest-assured rest-assured test io.dapr worker-one ${project.version} test io.dapr worker-two ${project.version} test org.springframework.boot spring-boot-maven-plugin repackage org.apache.maven.plugins maven-site-plugin true org.apache.maven.plugins maven-checkstyle-plugin true org.apache.maven.plugins maven-failsafe-plugin integration-test verify **/*IT.java ================================================ FILE: spring-boot-examples/workflows/versioning/version-orchestrator/src/main/java/io/dapr/springboot/examples/orchestrator/FullVersionRestController.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import java.net.http.HttpClient; @RestController public class FullVersionRestController { public static final String V1_URL = "http://localhost:8081"; public static final String V2_URL = "http://localhost:8082"; private final String V1 = "v1"; private final String V2 = "v2"; private final Logger logger = LoggerFactory.getLogger(FullVersionRestController.class); @Autowired private HttpClient httpClient; @GetMapping("/") public String root() { return "OK"; } /** * Track customer endpoint. * * @return confirmation that the workflow instance was created for a given customer */ @PostMapping("/version/{version}/full") public String createWorkflowInstance(@PathVariable("version") String version) throws Exception { logger.info("Create workflow instance requested"); var url = getUrlForVersion(version); var request = java.net.http.HttpRequest.newBuilder() .uri(java.net.URI.create(url + "/version/full")) .POST(java.net.http.HttpRequest.BodyPublishers.noBody()) .header("Content-Type", "application/json") .build(); // Send the request var response = httpClient.send(request, java.net.http.HttpResponse.BodyHandlers.ofString()); return response.body(); } /** * Request customer follow-up. * * @return confirmation that the follow-up was requested */ @PostMapping("/version/{version}/full/followup/{instanceId}") public String followUp(@PathVariable("version") String version, @PathVariable("instanceId") String instanceId) throws Exception { logger.info("Follow-up requested"); var url = getUrlForVersion(version); var request = java.net.http.HttpRequest.newBuilder() .uri(java.net.URI.create(url + "/version/full/followup/" + instanceId)) .POST(java.net.http.HttpRequest.BodyPublishers.noBody()) .header("Content-Type", "application/json") .build(); // Send the request var response = httpClient.send(request, java.net.http.HttpResponse.BodyHandlers.ofString()); return response.body(); } /** * Request customer workflow instance status. * * @return the workflow instance status for a given customer */ @PostMapping("/version/{version}/full/status/{instanceId}") public String getStatus(@PathVariable("version") String version, @PathVariable("instanceId") String instanceId) throws Exception { logger.info("Status requested"); var url = getUrlForVersion(version); var request = java.net.http.HttpRequest.newBuilder() .uri(java.net.URI.create(url + "/version/full/status/" + instanceId)) .POST(java.net.http.HttpRequest.BodyPublishers.noBody()) .header("Content-Type", "application/json") .build(); // Send the request var response = httpClient.send(request, java.net.http.HttpResponse.BodyHandlers.ofString()); return response.body(); } private String getUrlForVersion(String version) { if (V1.equals(version)) { return V1_URL; } if (V2.equals(version)) { return V2_URL; } throw new IllegalArgumentException("Invalid version: " + version); } } ================================================ FILE: spring-boot-examples/workflows/versioning/version-orchestrator/src/main/java/io/dapr/springboot/examples/orchestrator/PatchVersionRestController.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import java.net.http.HttpClient; @RestController public class PatchVersionRestController { public static final String V1_URL = "http://localhost:8083"; public static final String V2_URL = "http://localhost:8084"; private final String V1 = "v1"; private final String V2 = "v2"; private final Logger logger = LoggerFactory.getLogger(PatchVersionRestController.class); @Autowired private HttpClient httpClient; /** * Track customer endpoint. * * @return confirmation that the workflow instance was created for a given customer */ @PostMapping("/version/{version}/patch") public String createWorkflowInstance(@PathVariable("version") String version) throws Exception { logger.info("Create workflow instance requested"); var url = getUrlForVersion(version); var request = java.net.http.HttpRequest.newBuilder() .uri(java.net.URI.create(url + "/version/patch")) .POST(java.net.http.HttpRequest.BodyPublishers.noBody()) .header("Content-Type", "application/json") .build(); // Send the request var response = httpClient.send(request, java.net.http.HttpResponse.BodyHandlers.ofString()); return response.body(); } /** * Request customer follow-up. * * @return confirmation that the follow-up was requested */ @PostMapping("/version/{version}/patch/followup/{instanceId}") public String followUp(@PathVariable("version") String version, @PathVariable("instanceId") String instanceId) throws Exception { logger.info("Follow-up requested"); var url = getUrlForVersion(version); var request = java.net.http.HttpRequest.newBuilder() .uri(java.net.URI.create(url + "/version/patch/followup/" + instanceId)) .POST(java.net.http.HttpRequest.BodyPublishers.noBody()) .header("Content-Type", "application/json") .build(); // Send the request var response = httpClient.send(request, java.net.http.HttpResponse.BodyHandlers.ofString()); return response.body(); } /** * Request customer workflow instance status. * * @return the workflow instance status for a given customer */ @PostMapping("/version/{version}/patch/status/{instanceId}") public String getStatus(@PathVariable("version") String version, @PathVariable("instanceId") String instanceId) throws Exception { logger.info("Status requested"); var url = getUrlForVersion(version); var request = java.net.http.HttpRequest.newBuilder() .uri(java.net.URI.create(url + "/version/patch/status/" + instanceId)) .POST(java.net.http.HttpRequest.BodyPublishers.noBody()) .header("Content-Type", "application/json") .build(); // Send the request var response = httpClient.send(request, java.net.http.HttpResponse.BodyHandlers.ofString()); return response.body(); } private String getUrlForVersion(String version) { if (V1.equals(version)) { return V1_URL; } if (V2.equals(version)) { return V2_URL; } throw new IllegalArgumentException("Invalid version: " + version); } } ================================================ FILE: spring-boot-examples/workflows/versioning/version-orchestrator/src/main/java/io/dapr/springboot/examples/orchestrator/VersionOrchestratorApplication.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; import io.dapr.spring.workflows.config.EnableDaprWorkflows; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import java.net.http.HttpClient; import java.time.Duration; @SpringBootApplication @EnableDaprWorkflows public class VersionOrchestratorApplication { public static void main(String[] args) { SpringApplication.run(VersionOrchestratorApplication.class, args); } @Bean public HttpClient httpClient() { return HttpClient.newBuilder() .connectTimeout(Duration.ofSeconds(10)) .build(); } } ================================================ FILE: spring-boot-examples/workflows/versioning/version-orchestrator/src/main/resources/application.properties ================================================ spring.application.name=version-orchestrator ================================================ FILE: spring-boot-examples/workflows/versioning/version-orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/DaprTestContainersConfig.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; import com.redis.testcontainers.RedisContainer; import io.dapr.testcontainers.*; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; import org.testcontainers.DockerClientFactory; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.Network; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.utility.DockerImageName; import org.testcontainers.utility.MountableFile; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.dapr.testcontainers.DaprContainerConstants.*; @TestConfiguration(proxyBeanMethods = false) public class DaprTestContainersConfig { @Bean public Network getDaprNetwork(Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); if (reuse) { Network defaultDaprNetwork = new Network() { @Override public String getId() { return "dapr-network"; } @Override public void close() { } @Override public Statement apply(Statement base, Description description) { return null; } }; List networks = DockerClientFactory.instance().client().listNetworksCmd() .withNameFilter("dapr-network").exec(); if (networks.isEmpty()) { Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); return defaultDaprNetwork; } else { return defaultDaprNetwork; } } else { return Network.newNetwork(); } } private Map getRedisProps() { Map redisProps = new HashMap<>(); redisProps.put("redisHost", "redis:6379"); redisProps.put("redisPassword", ""); redisProps.put("actorStateStore", String.valueOf(true)); return redisProps; } @Bean public DaprPlacementContainer placementContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new DaprPlacementContainer(DockerImageName.parse(DAPR_PLACEMENT_IMAGE_TAG)) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("placement"); } @Bean public DaprSchedulerContainer schedulerContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new DaprSchedulerContainer(DockerImageName.parse(DAPR_SCHEDULER_IMAGE_TAG)) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("scheduler"); } @Bean public RedisContainer redisContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RedisContainer(RedisContainer.DEFAULT_IMAGE_NAME) .withNetwork(daprNetwork) .withReuse(reuse) .withNetworkAliases("redis"); } @Bean @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, RedisContainer redisContainer, Environment env, DaprPlacementContainer daprPlacementContainer, DaprSchedulerContainer daprSchedulerContainer) { return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("version-orchestrator") .withNetwork(daprNetwork) .withPlacementContainer(daprPlacementContainer) .withSchedulerContainer(daprSchedulerContainer) .withComponent(new Component("kvstore", "state.redis", "v1", getRedisProps())) .withAppPort(8083) .withAppHealthCheckPath("/actuator/health") .withAppChannelAddress("host.testcontainers.internal") .dependsOn(daprPlacementContainer) .dependsOn(daprSchedulerContainer) .dependsOn(redisContainer); } } ================================================ FILE: spring-boot-examples/workflows/versioning/version-orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/DockerImages.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; public interface DockerImages { String JDK_17_TEMURIN_JAMMY = "eclipse-temurin:17-jdk-jammy"; } ================================================ FILE: spring-boot-examples/workflows/versioning/version-orchestrator/src/test/java/io/dapr/springboot/examples/orchestrator/TestOrchestratorApplication.java ================================================ /* * Copyright 2026 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.springboot.examples.orchestrator; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestOrchestratorApplication { public static void main(String[] args) { SpringApplication.from(VersionOrchestratorApplication::main) .with(DaprTestContainersConfig.class) .run(args); org.testcontainers.Testcontainers.exposeHostPorts(8083); } } ================================================ FILE: spring-boot-examples/workflows/versioning/version-orchestrator/src/test/resources/application.properties ================================================ dapr.statestore.name=kvstore server.port=8083 ================================================ FILE: testcontainers-dapr/pom.xml ================================================ 4.0.0 io.dapr dapr-sdk-parent 1.18.0-SNAPSHOT ../pom.xml testcontainers-dapr testcontainers-dapr Testcontainers Dapr Module jar org.yaml snakeyaml org.testcontainers testcontainers commons-codec commons-codec com.fasterxml.jackson.core jackson-databind org.junit.jupiter junit-jupiter test org.mockito mockito-core test org.sonatype.plugins nexus-staging-maven-plugin org.apache.maven.plugins maven-source-plugin org.apache.maven.plugins maven-javadoc-plugin org.jacoco jacoco-maven-plugin ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/AppHttpPipeline.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; import java.util.Collections; import java.util.List; public class AppHttpPipeline implements ConfigurationSettings { private List handlers; /** * Creates an AppHttpPipeline. * * @param handlers List of handlers for the AppHttpPipeline */ public AppHttpPipeline(List handlers) { if (handlers != null) { this.handlers = Collections.unmodifiableList(handlers); } } public List getHandlers() { return handlers; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/Component.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Objects; /** * Represents a Dapr component. */ public class Component { private String name; private String type; private String version; private List metadata; /** * Creates a new component. * * @param name Component name. * @param type Component type. * @param version Component version. * @param metadata Metadata. */ public Component(String name, String type, String version, Map metadata) { this.name = name; this.type = type; this.version = version; List entries = new ArrayList<>(); if (!metadata.isEmpty()) { for (Map.Entry entry : metadata.entrySet()) { entries.add(new MetadataEntry(entry.getKey(), entry.getValue())); } } this.metadata = Collections.unmodifiableList(entries); } /** * Creates a new component. * * @param name Component name. * @param type Component type. * @param version Component version. * @param metadataEntries Component metadata entries. */ public Component(String name, String type, String version, List metadataEntries) { this.name = name; this.type = type; this.version = version; metadata = Objects.requireNonNull(metadataEntries); } public String getName() { return name; } public String getType() { return type; } public List getMetadata() { return metadata; } public String getVersion() { return version; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/Configuration.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; /** * Represents a Dapr component. */ public class Configuration { private final String name; private final TracingConfigurationSettings tracing; private final AppHttpPipeline appHttpPipeline; // @TODO: add secrets https://github.com/dapr/java-sdk/issues/1280 // @TODO: add metrics https://github.com/dapr/java-sdk/issues/1281 // @TODO: add logging https://github.com/dapr/java-sdk/issues/1282 // @TODO: add middleware httpPipeline https://github.com/dapr/java-sdk/issues/1283 // @TODO: add nameResolution https://github.com/dapr/java-sdk/issues/1284 // @TODO: add disallow components https://github.com/dapr/java-sdk/issues/1285 // @TODO: add mtls https://github.com/dapr/java-sdk/issues/1286 /** * Creates a new configuration. * * @param name Configuration name. * @param tracing TracingConfigParameters tracing configuration * parameters. * @param appHttpPipeline AppHttpPipeline middleware configuration. */ public Configuration(String name, TracingConfigurationSettings tracing, AppHttpPipeline appHttpPipeline) { this.name = name; this.tracing = tracing; this.appHttpPipeline = appHttpPipeline; } public String getName() { return name; } public TracingConfigurationSettings getTracing() { return tracing; } public AppHttpPipeline getAppHttpPipeline() { return appHttpPipeline; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/ConfigurationSettings.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; // This is a marker interface, so we could get // a list of all the configuration settings implementations public interface ConfigurationSettings { } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/DaprContainer.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; import io.dapr.testcontainers.converter.ComponentYamlConverter; import io.dapr.testcontainers.converter.ConfigurationYamlConverter; import io.dapr.testcontainers.converter.HttpEndpointYamlConverter; import io.dapr.testcontainers.converter.SubscriptionYamlConverter; import io.dapr.testcontainers.converter.YamlConverter; import io.dapr.testcontainers.converter.YamlMapperFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.Network; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.containers.wait.strategy.WaitStrategy; import org.testcontainers.images.builder.Transferable; import org.testcontainers.utility.DockerImageName; import org.yaml.snakeyaml.Yaml; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_PLACEMENT_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_SCHEDULER_IMAGE_TAG; public class DaprContainer extends GenericContainer { private static final Logger LOGGER = LoggerFactory.getLogger(DaprContainer.class); private static final int DAPRD_DEFAULT_HTTP_PORT = 3500; private static final int DAPRD_DEFAULT_GRPC_PORT = 50001; private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse(DAPR_RUNTIME_IMAGE_TAG); private static final Yaml YAML_MAPPER = YamlMapperFactory.create(); private static final YamlConverter COMPONENT_CONVERTER = new ComponentYamlConverter(YAML_MAPPER); private static final YamlConverter SUBSCRIPTION_CONVERTER = new SubscriptionYamlConverter(YAML_MAPPER); private static final YamlConverter HTTPENDPOINT_CONVERTER = new HttpEndpointYamlConverter(YAML_MAPPER); private static final YamlConverter CONFIGURATION_CONVERTER = new ConfigurationYamlConverter( YAML_MAPPER); private static final WaitStrategy WAIT_STRATEGY = Wait.forHttp("/v1.0/healthz/outbound") .forPort(DAPRD_DEFAULT_HTTP_PORT) .forStatusCodeMatching(statusCode -> statusCode >= 200 && statusCode <= 399); private final Set components = new HashSet<>(); private final Set subscriptions = new HashSet<>(); private final Set httpEndpoints = new HashSet<>(); private DaprLogLevel daprLogLevel = DaprLogLevel.INFO; private String appChannelAddress = "localhost"; private String placementService = "placement"; private String schedulerService = "scheduler"; private DockerImageName placementDockerImageName = DockerImageName.parse(DAPR_PLACEMENT_IMAGE_TAG); private DockerImageName schedulerDockerImageName = DockerImageName.parse(DAPR_SCHEDULER_IMAGE_TAG); private Configuration configuration; private DaprPlacementContainer placementContainer; private DaprSchedulerContainer schedulerContainer; private String appName; private Integer appPort; private DaprProtocol appProtocol = DaprProtocol.HTTP; // default from docs private String appHealthCheckPath; private Integer appHealthCheckProbeInterval = 5; //default from docs private Integer appHealthCheckProbeTimeout = 500; //default from docs private Integer appHealthCheckThreshold = 3; //default from docs private boolean shouldReusePlacement; private boolean shouldReuseScheduler; /** * Creates a new Dapr container. * * @param dockerImageName Docker image name. */ public DaprContainer(DockerImageName dockerImageName) { super(dockerImageName); dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME); withAccessToHost(true); withExposedPorts(DAPRD_DEFAULT_HTTP_PORT, DAPRD_DEFAULT_GRPC_PORT); setWaitStrategy(WAIT_STRATEGY); } /** * Creates a new Dapr container. * * @param image Docker image name. */ public DaprContainer(String image) { this(DockerImageName.parse(image)); } public Configuration getConfiguration() { return configuration; } public Set getComponents() { return components; } public Set getSubscriptions() { return subscriptions; } public Set getHttpEndpoints() { return httpEndpoints; } public DaprContainer withAppPort(Integer port) { this.appPort = port; return this; } public DaprContainer withAppProtocol(DaprProtocol protocol) { this.appProtocol = protocol; return this; } public DaprContainer withAppChannelAddress(String appChannelAddress) { this.appChannelAddress = appChannelAddress; return this; } public DaprContainer withAppHealthCheckPath(String appHealthCheckPath) { this.appHealthCheckPath = appHealthCheckPath; return this; } public DaprContainer withAppHealthCheckProbeInterval(Integer appHealthCheckProbeInterval) { this.appHealthCheckProbeInterval = appHealthCheckProbeInterval; return this; } public DaprContainer withAppHealthCheckProbeTimeout(Integer appHealthCheckProbeTimeout) { this.appHealthCheckProbeTimeout = appHealthCheckProbeTimeout; return this; } public DaprContainer withAppHealthCheckThreshold(Integer appHealthCheckThreshold) { this.appHealthCheckThreshold = appHealthCheckThreshold; return this; } public DaprContainer withConfiguration(Configuration configuration) { this.configuration = configuration; return this; } public DaprContainer withPlacementService(String placementService) { this.placementService = placementService; return this; } public DaprContainer withSchedulerService(String schedulerService) { this.schedulerService = schedulerService; return this; } public DaprContainer withAppName(String appName) { this.appName = appName; return this; } public DaprContainer withDaprLogLevel(DaprLogLevel daprLogLevel) { this.daprLogLevel = daprLogLevel; return this; } public DaprContainer withSubscription(Subscription subscription) { subscriptions.add(subscription); return this; } public DaprContainer withHttpEndpoint(HttpEndpoint httpEndpoint) { httpEndpoints.add(httpEndpoint); return this; } public DaprContainer withPlacementImage(DockerImageName placementDockerImageName) { this.placementDockerImageName = placementDockerImageName; return this; } public DaprContainer withPlacementImage(String placementDockerImageName) { this.placementDockerImageName = DockerImageName.parse(placementDockerImageName); return this; } public DaprContainer withSchedulerImage(DockerImageName schedulerDockerImageName) { this.schedulerDockerImageName = schedulerDockerImageName; return this; } public DaprContainer withSchedulerImage(String schedulerDockerImageName) { this.schedulerDockerImageName = DockerImageName.parse(schedulerDockerImageName); return this; } public DaprContainer withReusablePlacement(boolean shouldReusePlacement) { this.shouldReusePlacement = shouldReusePlacement; return this; } public DaprContainer withReusableScheduler(boolean shouldReuseScheduler) { this.shouldReuseScheduler = shouldReuseScheduler; return this; } public DaprContainer withPlacementContainer(DaprPlacementContainer placementContainer) { this.placementContainer = placementContainer; return this; } public DaprContainer withSchedulerContainer(DaprSchedulerContainer schedulerContainer) { this.schedulerContainer = schedulerContainer; return this; } public DaprContainer withComponent(Component component) { components.add(component); return this; } /** * Adds a Dapr component from a YAML file. * * @param path Path to the YAML file. * @return This container. */ public DaprContainer withComponent(Path path) { try { Map component = YAML_MAPPER.loadAs(Files.newInputStream(path), Map.class); Map metadata = (Map) component.get("metadata"); String name = (String) metadata.get("name"); Map spec = (Map) component.get("spec"); String type = (String) spec.get("type"); String version = (String) spec.get("version"); List> specMetadata = (List>) spec.getOrDefault("metadata", Collections.emptyList()); ArrayList metadataEntries = new ArrayList<>(); for (Map specMetadataItem : specMetadata) { metadataEntries.add(new MetadataEntry(specMetadataItem.get("name"), specMetadataItem.get("value"))); } return withComponent(new Component(name, type, version, metadataEntries)); } catch (IOException e) { logger().warn("Error while reading component from {}", path.toAbsolutePath()); } return this; } public int getHttpPort() { return getMappedPort(DAPRD_DEFAULT_HTTP_PORT); } public String getHttpEndpoint() { return "http://" + getHost() + ":" + getMappedPort(DAPRD_DEFAULT_HTTP_PORT); } public int getGrpcPort() { return getMappedPort(DAPRD_DEFAULT_GRPC_PORT); } public String getGrpcEndpoint() { return ":" + getMappedPort(DAPRD_DEFAULT_GRPC_PORT); } @Override protected void configure() { super.configure(); if (getNetwork() == null) { withNetwork(Network.newNetwork()); } if (this.placementContainer == null) { this.placementContainer = new DaprPlacementContainer(this.placementDockerImageName) .withNetwork(getNetwork()) .withNetworkAliases(placementService) .withReuse(this.shouldReusePlacement); this.placementContainer.start(); } if (this.schedulerContainer == null) { this.schedulerContainer = new DaprSchedulerContainer(this.schedulerDockerImageName) .withNetwork(getNetwork()) .withNetworkAliases(schedulerService) .withReuse(this.shouldReuseScheduler); this.schedulerContainer.start(); } List cmds = new ArrayList<>(); cmds.add("./daprd"); cmds.add("--app-id"); cmds.add(appName); cmds.add("--dapr-listen-addresses=0.0.0.0"); cmds.add("--placement-host-address"); cmds.add(placementService + ":50005"); cmds.add("--scheduler-host-address"); cmds.add(schedulerService + ":51005"); if (appChannelAddress != null && !appChannelAddress.isEmpty()) { cmds.add("--app-channel-address"); cmds.add(appChannelAddress); } if (appPort != null) { cmds.add("--app-port"); cmds.add(Integer.toString(appPort)); } if (appProtocol != null) { cmds.add("--app-protocol"); cmds.add(appProtocol.getName()); } if (appHealthCheckPath != null && !appHealthCheckPath.isEmpty()) { cmds.add("--enable-app-health-check"); cmds.add("--app-health-check-path"); cmds.add(appHealthCheckPath); cmds.add("--app-health-probe-interval"); cmds.add(Integer.toString(appHealthCheckProbeInterval)); cmds.add("--app-health-probe-timeout"); cmds.add(Integer.toString(appHealthCheckProbeTimeout)); cmds.add("--app-health-threshold"); cmds.add(Integer.toString(appHealthCheckThreshold)); } if (configuration != null) { cmds.add("--config"); cmds.add("/dapr-resources/" + configuration.getName() + ".yaml"); } cmds.add("--log-level"); cmds.add(daprLogLevel.toString()); cmds.add("--resources-path"); cmds.add("/dapr-resources"); String[] cmdArray = cmds.toArray(new String[]{}); LOGGER.info("> `daprd` Command: \n"); LOGGER.info("\t" + Arrays.toString(cmdArray) + "\n"); withCommand(cmdArray); if (configuration != null) { String configurationYaml = CONFIGURATION_CONVERTER.convert(configuration); LOGGER.info("> Configuration YAML: \n"); LOGGER.info("\t\n" + configurationYaml + "\n"); withCopyToContainer(Transferable.of(configurationYaml), "/dapr-resources/" + configuration.getName() + ".yaml"); } if (components.isEmpty()) { components.add(new Component("kvstore", "state.in-memory", "v1", Collections.emptyMap())); components.add(new Component("pubsub", "pubsub.in-memory", "v1", Collections.emptyMap())); } if (subscriptions.isEmpty() && !components.isEmpty()) { subscriptions.add(new Subscription("local", "pubsub", "topic", "/events")); } for (Component component : components) { String componentYaml = COMPONENT_CONVERTER.convert(component); LOGGER.info("> Component YAML: \n"); LOGGER.info("\t\n" + componentYaml + "\n"); withCopyToContainer(Transferable.of(componentYaml), "/dapr-resources/" + component.getName() + ".yaml"); } for (Subscription subscription : subscriptions) { String subscriptionYaml = SUBSCRIPTION_CONVERTER.convert(subscription); LOGGER.info("> Subscription YAML: \n"); LOGGER.info("\t\n" + subscriptionYaml + "\n"); withCopyToContainer(Transferable.of(subscriptionYaml), "/dapr-resources/" + subscription.getName() + ".yaml"); } for (HttpEndpoint endpoint : httpEndpoints) { String endpointYaml = HTTPENDPOINT_CONVERTER.convert(endpoint); LOGGER.info("> HTTPEndpoint YAML: \n"); LOGGER.info("\t\n" + endpointYaml + "\n"); withCopyToContainer(Transferable.of(endpointYaml), "/dapr-resources/" + endpoint.getName() + ".yaml"); } dependsOn(placementContainer, schedulerContainer); } public String getAppName() { return appName; } public Integer getAppPort() { return appPort; } public DaprProtocol getAppProtocol() { return appProtocol; } public String getAppHealthCheckPath() { return appHealthCheckPath; } public Integer getAppHealthCheckProbeInterval() { return appHealthCheckProbeInterval; } public Integer getAppHealthCheckProbeTimeout() { return appHealthCheckProbeTimeout; } public Integer getAppHealthCheckThreshold() { return appHealthCheckThreshold; } public String getAppChannelAddress() { return appChannelAddress; } public String getPlacementService() { return placementService; } public static DockerImageName getDefaultImageName() { return DEFAULT_IMAGE_NAME; } public DockerImageName getPlacementDockerImageName() { return placementDockerImageName; } public DockerImageName getSchedulerDockerImageName() { return schedulerDockerImageName; } // Required by spotbugs plugin @Override public boolean equals(Object o) { return super.equals(o); } @Override public int hashCode() { return super.hashCode(); } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/DaprContainerConstants.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; public interface DaprContainerConstants { String DAPR_VERSION = "1.17.0"; String DAPR_WORKFLOWS_DASHBOARD_VERSION = "0.0.1"; String DAPR_RUNTIME_IMAGE_TAG = "daprio/daprd:" + DAPR_VERSION; String DAPR_PLACEMENT_IMAGE_TAG = "daprio/placement:" + DAPR_VERSION; String DAPR_SCHEDULER_IMAGE_TAG = "daprio/scheduler:" + DAPR_VERSION; String DAPR_WORKFLOWS_DASHBOARD = "ghcr.io/diagridio/diagrid-dashboard:" + DAPR_WORKFLOWS_DASHBOARD_VERSION; } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/DaprLogLevel.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; public enum DaprLogLevel { ERROR, WARN, INFO, DEBUG } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/DaprPlacementContainer.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; import org.testcontainers.containers.GenericContainer; import org.testcontainers.utility.DockerImageName; /** * Test container for Dapr placement service. */ public class DaprPlacementContainer extends GenericContainer { private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("daprio/placement"); private int placementPort = 50005; /** * Creates a new Dapr placement container. * @param dockerImageName Docker image name. */ public DaprPlacementContainer(DockerImageName dockerImageName) { super(dockerImageName); dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME); withExposedPorts(placementPort); } /** * Creates a new Dapr placement container. * @param image Docker image name. */ public DaprPlacementContainer(String image) { this(DockerImageName.parse(image)); } @Override protected void configure() { super.configure(); withCommand("./placement", "-port", Integer.toString(placementPort)); } public static DockerImageName getDefaultImageName() { return DEFAULT_IMAGE_NAME; } public DaprPlacementContainer withPort(Integer port) { this.placementPort = port; return this; } public int getPort() { return placementPort; } // Required by spotbugs plugin @Override public boolean equals(Object o) { return super.equals(o); } @Override public int hashCode() { return super.hashCode(); } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/DaprProtocol.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; public enum DaprProtocol { HTTP("http"), GRPC("grpc"); private final String name; DaprProtocol(String name) { this.name = name; } public String getName() { return name; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/DaprSchedulerContainer.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; import org.testcontainers.containers.BindMode; import org.testcontainers.containers.GenericContainer; import org.testcontainers.images.builder.Transferable; import org.testcontainers.utility.DockerImageName; import org.testcontainers.utility.MountableFile; import java.io.IOException; /** * Test container for Dapr scheduler service. */ public class DaprSchedulerContainer extends GenericContainer { private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("daprio/scheduler"); private int schedulerPort = 51005; /** * Creates a new Dapr scheduler container. * @param dockerImageName Docker image name. */ public DaprSchedulerContainer(DockerImageName dockerImageName) { super(dockerImageName); dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME); withExposedPorts(schedulerPort); } /** * Creates a new Dapr schedulers container. * @param image Docker image name. */ public DaprSchedulerContainer(String image) { this(DockerImageName.parse(image)); } @Override protected void configure() { super.configure(); withCopyToContainer(Transferable.of("", 0777), "./default-dapr-scheduler-server-0/dapr-0.1/"); withCopyToContainer(Transferable.of("", 0777), "./dapr-scheduler-existing-cluster/"); withCommand("./scheduler", "--port", Integer.toString(schedulerPort), "--etcd-data-dir", "."); } public static DockerImageName getDefaultImageName() { return DEFAULT_IMAGE_NAME; } public DaprSchedulerContainer withPort(Integer port) { this.schedulerPort = port; return this; } public int getPort() { return schedulerPort; } // Required by spotbugs plugin @Override public boolean equals(Object o) { return super.equals(o); } @Override public int hashCode() { return super.hashCode(); } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/HttpEndpoint.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; public class HttpEndpoint { private String name; private String baseUrl; public HttpEndpoint(String name, String baseUrl) { this.name = name; this.baseUrl = baseUrl; } public String getName() { return name; } public String getBaseUrl() { return baseUrl; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/ListEntry.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; public class ListEntry { private String name; private String type; public ListEntry(String name, String type) { this.name = name; this.type = type; } public String getName() { return name; } public String getType() { return type; } public void setName(String name) { this.name = name; } public void setType(String type) { this.type = type; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/MetadataEntry.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; public class MetadataEntry { private String name; private String value; public MetadataEntry(String name, String value) { this.name = name; this.value = value; } public String getName() { return name; } public String getValue() { return value; } public void setName(String name) { this.name = name; } public void setValue(String value) { this.value = value; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/OtelTracingConfigurationSettings.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; /** * Configuration settings for Otel tracing. */ public class OtelTracingConfigurationSettings implements ConfigurationSettings { private final String endpointAddress; private final Boolean isSecure; private final String protocol; /** * Creates a new configuration. * @param endpointAddress tracing endpoint address * @param isSecure if the endpoint is secure * @param protocol tracing protocol */ public OtelTracingConfigurationSettings(String endpointAddress, Boolean isSecure, String protocol) { this.endpointAddress = endpointAddress; this.isSecure = isSecure; this.protocol = protocol; } public String getEndpointAddress() { return endpointAddress; } public Boolean getSecure() { return isSecure; } public String getProtocol() { return protocol; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/Subscription.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; public class Subscription { private final String name; private final String pubsubName; private final String topic; private final String route; /** * Creates a new subscription. * * @param name Subscription name. * @param pubsubName PubSub name. * @param topic Topic name. * @param route Route. */ public Subscription(String name, String pubsubName, String topic, String route) { this.name = name; this.pubsubName = pubsubName; this.topic = topic; this.route = route; } public String getName() { return name; } public String getPubsubName() { return pubsubName; } public String getTopic() { return topic; } public String getRoute() { return route; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/TracingConfigurationSettings.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; /** * Represents a Dapr tracing configuration parameters . */ public class TracingConfigurationSettings implements ConfigurationSettings { private final String samplingRate; private final Boolean stdout; private final OtelTracingConfigurationSettings otel; private final ZipkinTracingConfigurationSettings zipkin; /** * Creates a new configuration. * @param samplingRate tracing sampling rate * @param stdout if it should send traces to the system standard output * @param otel if using OpenTelemetry * @param zipkin if using Zipkin */ public TracingConfigurationSettings( String samplingRate, Boolean stdout, OtelTracingConfigurationSettings otel, ZipkinTracingConfigurationSettings zipkin ) { this.samplingRate = samplingRate; this.stdout = stdout; this.otel = otel; this.zipkin = zipkin; } public String getSamplingRate() { return this.samplingRate; } public Boolean getStdout() { return this.stdout; } public OtelTracingConfigurationSettings getOtel() { return otel; } public ZipkinTracingConfigurationSettings getZipkin() { return zipkin; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/WorkflowDashboardContainer.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; import io.dapr.testcontainers.converter.ComponentYamlConverter; import io.dapr.testcontainers.converter.YamlConverter; import io.dapr.testcontainers.converter.YamlMapperFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testcontainers.containers.GenericContainer; import org.testcontainers.images.builder.Transferable; import org.testcontainers.utility.DockerImageName; import org.yaml.snakeyaml.Yaml; /** * Test container for Dapr Workflow Dashboard. */ public class WorkflowDashboardContainer extends GenericContainer { private static final Logger LOGGER = LoggerFactory.getLogger(WorkflowDashboardContainer.class); private static final Yaml YAML_MAPPER = YamlMapperFactory.create(); private static final YamlConverter COMPONENT_CONVERTER = new ComponentYamlConverter(YAML_MAPPER); public static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName .parse(DaprContainerConstants.DAPR_WORKFLOWS_DASHBOARD); private int dashboardPort = 8080; private Component stateStoreComponent; /** * Creates a new workflow dashboard container. * @param dockerImageName Docker image name. */ public WorkflowDashboardContainer(DockerImageName dockerImageName) { super(dockerImageName); dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME); withExposedPorts(dashboardPort); } public WorkflowDashboardContainer withStateStoreComponent(Component stateStoreComponent) { this.stateStoreComponent = stateStoreComponent; return this; } public Component getStateStoreComponent() { return stateStoreComponent; } /** * Creates a new workflow dashboard container. * @param image Docker image name. */ public WorkflowDashboardContainer(String image) { this(DockerImageName.parse(image)); } @Override protected void configure() { super.configure(); if (stateStoreComponent == null) { throw new IllegalStateException("State store component cannot be null"); } String componentYaml = COMPONENT_CONVERTER.convert(stateStoreComponent); withCopyToContainer(Transferable.of(componentYaml), "/app/components/" + stateStoreComponent.getName() + ".yaml"); withEnv("COMPONENT_FILE", "/app/components/" + stateStoreComponent.getName() + ".yaml"); } public static DockerImageName getDefaultImageName() { return DEFAULT_IMAGE_NAME; } public WorkflowDashboardContainer withPort(Integer port) { this.dashboardPort = port; return this; } @Override public void start() { super.start(); LOGGER.info("Dapr Workflow Dashboard container started."); LOGGER.info("Access the Dashboard at: http://localhost:{}", this.getMappedPort(dashboardPort)); } public int getPort() { return dashboardPort; } // Required by spotbugs plugin @Override public boolean equals(Object o) { return super.equals(o); } @Override public int hashCode() { return super.hashCode(); } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/ZipkinTracingConfigurationSettings.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; /** * Configuration settings for Zipkin tracing. */ public class ZipkinTracingConfigurationSettings implements ConfigurationSettings { private final String endpointAddress; public ZipkinTracingConfigurationSettings(String endpointAddress) { this.endpointAddress = endpointAddress; } public String getEndpointAddress() { return endpointAddress; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/converter/ComponentYamlConverter.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.converter; import io.dapr.testcontainers.Component; import org.yaml.snakeyaml.Yaml; import java.util.LinkedHashMap; import java.util.Map; public class ComponentYamlConverter implements YamlConverter { private final Yaml mapper; public ComponentYamlConverter(Yaml mapper) { this.mapper = mapper; } @Override public String convert(Component component) { Map componentProps = new LinkedHashMap<>(); componentProps.put("apiVersion", "dapr.io/v1alpha1"); componentProps.put("kind", "Component"); Map componentMetadata = new LinkedHashMap<>(); componentMetadata.put("name", component.getName()); componentProps.put("metadata", componentMetadata); Map componentSpec = new LinkedHashMap<>(); componentSpec.put("type", component.getType()); componentSpec.put("version", component.getVersion()); if (!component.getMetadata().isEmpty()) { componentSpec.put("metadata", component.getMetadata()); } componentProps.put("spec", componentSpec); return mapper.dumpAsMap(componentProps); } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/converter/ConfigurationYamlConverter.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.converter; import io.dapr.testcontainers.AppHttpPipeline; import io.dapr.testcontainers.Configuration; import io.dapr.testcontainers.ListEntry; import io.dapr.testcontainers.OtelTracingConfigurationSettings; import io.dapr.testcontainers.TracingConfigurationSettings; import io.dapr.testcontainers.ZipkinTracingConfigurationSettings; import org.yaml.snakeyaml.Yaml; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; public class ConfigurationYamlConverter implements YamlConverter { private final Yaml mapper; public ConfigurationYamlConverter(Yaml mapper) { this.mapper = mapper; } @Override public String convert(Configuration configuration) { Map configurationProps = new LinkedHashMap<>(); configurationProps.put("apiVersion", "dapr.io/v1alpha1"); configurationProps.put("kind", "Configuration"); Map configurationMetadata = new LinkedHashMap<>(); configurationMetadata.put("name", configuration.getName()); configurationProps.put("metadata", configurationMetadata); Map configurationSpec = new LinkedHashMap<>(); TracingConfigurationSettings tracing = configuration.getTracing(); if (tracing != null) { Map tracingMap = new LinkedHashMap<>(); tracingMap.put("samplingRate", configuration.getTracing().getSamplingRate()); tracingMap.put("stdout", configuration.getTracing().getStdout()); OtelTracingConfigurationSettings otel = tracing.getOtel(); if (otel != null) { Map otelMap = new LinkedHashMap<>(); otelMap.put("endpointAddress", otel.getEndpointAddress()); otelMap.put("isSecure", otel.getSecure()); otelMap.put("protocol", otel.getProtocol()); tracingMap.put("otel", otelMap); } ZipkinTracingConfigurationSettings zipkin = tracing.getZipkin(); if (zipkin != null) { Map zipkinMap = new LinkedHashMap<>(); zipkinMap.put("endpointAddress", zipkin.getEndpointAddress()); tracingMap.put("zipkin", zipkinMap); } configurationSpec.put("tracing", tracingMap); } AppHttpPipeline appHttpPipeline = configuration.getAppHttpPipeline(); if (appHttpPipeline != null) { Map appHttpPipelineMap = new LinkedHashMap<>(); List handlers = appHttpPipeline.getHandlers(); appHttpPipelineMap.put("handlers", handlers); configurationSpec.put("appHttpPipeline", appHttpPipelineMap); } configurationProps.put("spec", configurationSpec); return mapper.dumpAsMap(configurationProps); } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/converter/HttpEndpointYamlConverter.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.converter; import io.dapr.testcontainers.HttpEndpoint; import org.yaml.snakeyaml.Yaml; import java.util.LinkedHashMap; import java.util.Map; public class HttpEndpointYamlConverter implements YamlConverter { private final Yaml mapper; public HttpEndpointYamlConverter(Yaml mapper) { this.mapper = mapper; } @Override public String convert(HttpEndpoint endpoint) { Map endpointProps = new LinkedHashMap<>(); endpointProps.put("apiVersion", "dapr.io/v1alpha1"); endpointProps.put("kind", "HTTPEndpoint"); Map endpointMetadata = new LinkedHashMap<>(); endpointMetadata.put("name", endpoint.getName()); endpointProps.put("metadata", endpointMetadata); Map endpointSpec = new LinkedHashMap<>(); endpointSpec.put("baseUrl", endpoint.getBaseUrl()); endpointProps.put("spec", endpointSpec); return mapper.dumpAsMap(endpointProps); } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/converter/SubscriptionYamlConverter.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.converter; import io.dapr.testcontainers.Subscription; import org.yaml.snakeyaml.Yaml; import java.util.LinkedHashMap; import java.util.Map; public class SubscriptionYamlConverter implements YamlConverter { private final Yaml mapper; public SubscriptionYamlConverter(Yaml mapper) { this.mapper = mapper; } @Override public String convert(Subscription subscription) { Map subscriptionProps = new LinkedHashMap<>(); subscriptionProps.put("apiVersion", "dapr.io/v1alpha1"); subscriptionProps.put("kind", "Subscription"); Map subscriptionMetadata = new LinkedHashMap<>(); subscriptionMetadata.put("name", subscription.getName()); subscriptionProps.put("metadata", subscriptionMetadata); Map subscriptionSpec = new LinkedHashMap<>(); subscriptionSpec.put("pubsubname", subscription.getPubsubName()); subscriptionSpec.put("topic", subscription.getTopic()); subscriptionSpec.put("route", subscription.getRoute()); subscriptionProps.put("spec", subscriptionSpec); return mapper.dumpAsMap(subscriptionProps); } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/converter/YamlConverter.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.converter; public interface YamlConverter { String convert(T value); } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/converter/YamlMapperFactory.java ================================================ /* * Copyright 2021 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.converter; import io.dapr.testcontainers.ListEntry; import io.dapr.testcontainers.MetadataEntry; import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.nodes.Tag; import org.yaml.snakeyaml.representer.Representer; /** * Factory for creating a YAML mapper. */ public class YamlMapperFactory { /** * Creates a YAML mapper. * @return YAML mapper. */ public static Yaml create() { DumperOptions options = new DumperOptions(); options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); options.setPrettyFlow(true); Representer representer = new Representer(options); representer.addClassTag(MetadataEntry.class, Tag.MAP); representer.addClassTag(ListEntry.class, Tag.MAP); return new Yaml(representer); } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/wait/strategy/AbstractDaprWaitStrategy.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import io.dapr.testcontainers.wait.strategy.metadata.Metadata; import org.testcontainers.containers.ContainerLaunchException; import org.testcontainers.containers.wait.strategy.AbstractWaitStrategy; import org.testcontainers.shaded.org.awaitility.Awaitility; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; import java.time.Duration; import java.util.concurrent.TimeUnit; import java.util.function.Predicate; /** * Base wait strategy for Dapr containers that polls the metadata endpoint. * Subclasses implement specific conditions to wait for. */ public abstract class AbstractDaprWaitStrategy extends AbstractWaitStrategy { private static final int DAPR_HTTP_PORT = 3500; private static final String METADATA_ENDPOINT = "/v1.0/metadata"; private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper() .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); private Duration pollInterval = Duration.ofMillis(500); /** * Sets the poll interval for checking the metadata endpoint. * * @param pollInterval the interval between polling attempts * @return this strategy for chaining */ public AbstractDaprWaitStrategy withPollInterval(Duration pollInterval) { this.pollInterval = pollInterval; return this; } @Override protected void waitUntilReady() { String host = waitStrategyTarget.getHost(); Integer port = waitStrategyTarget.getMappedPort(DAPR_HTTP_PORT); String metadataUrl = String.format("http://%s:%d%s", host, port, METADATA_ENDPOINT); try { Awaitility.await() .atMost(startupTimeout.getSeconds(), TimeUnit.SECONDS) .pollInterval(pollInterval.toMillis(), TimeUnit.MILLISECONDS) .ignoreExceptions() .until(() -> checkCondition(metadataUrl)); } catch (Exception e) { throw new ContainerLaunchException( String.format("Timed out waiting for Dapr condition: %s", getConditionDescription()), e); } } /** * Checks if the wait condition is satisfied. * * @param metadataUrl the URL to the metadata endpoint * @return true if the condition is met * @throws IOException if there's an error fetching metadata */ protected boolean checkCondition(String metadataUrl) throws IOException { Metadata metadata = fetchMetadata(metadataUrl); return isConditionMet(metadata); } /** * Fetches metadata from the Dapr sidecar. * * @param metadataUrl the URL to fetch metadata from * @return the parsed metadata * @throws IOException if there's an error fetching or parsing */ protected Metadata fetchMetadata(String metadataUrl) throws IOException { HttpURLConnection connection = (HttpURLConnection) new URL(metadataUrl).openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(1000); connection.setReadTimeout(1000); try { int responseCode = connection.getResponseCode(); if (responseCode != 200) { throw new IOException("Metadata endpoint returned status: " + responseCode); } return OBJECT_MAPPER.readValue(connection.getInputStream(), Metadata.class); } finally { connection.disconnect(); } } /** * Checks if the specific wait condition is met based on the metadata. * * @param metadata the current Dapr metadata * @return true if the condition is satisfied */ protected abstract boolean isConditionMet(Metadata metadata); /** * Returns a description of what this strategy is waiting for. * * @return a human-readable description of the condition */ protected abstract String getConditionDescription(); /** * Creates a predicate-based wait strategy for custom conditions. * * @param predicate the predicate to test against metadata * @param description a description of what the predicate checks * @return a new wait strategy */ public static AbstractDaprWaitStrategy forCondition(Predicate predicate, String description) { return new AbstractDaprWaitStrategy() { @Override protected boolean isConditionMet(Metadata metadata) { return predicate.test(metadata); } @Override protected String getConditionDescription() { return description; } }; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/wait/strategy/ActorWaitStrategy.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy; import io.dapr.testcontainers.wait.strategy.metadata.Actor; import io.dapr.testcontainers.wait.strategy.metadata.Metadata; /** * Wait strategy that waits for actors to be registered with Dapr. */ public class ActorWaitStrategy extends AbstractDaprWaitStrategy { private final String actorType; /** * Creates a wait strategy that waits for any actor to be registered. */ public ActorWaitStrategy() { this.actorType = null; } /** * Creates a wait strategy that waits for a specific actor type to be registered. * * @param actorType the actor type to wait for */ public ActorWaitStrategy(String actorType) { this.actorType = actorType; } @Override protected boolean isConditionMet(Metadata metadata) { if (metadata == null) { return false; } if (actorType == null) { return !metadata.getActors().isEmpty(); } return metadata.getActors().stream() .anyMatch(this::matchesActorType); } private boolean matchesActorType(Actor actor) { if (actor == null || actorType == null) { return false; } return actorType.equals(actor.getType()); } @Override protected String getConditionDescription() { if (actorType != null) { return String.format("actor type '%s'", actorType); } return "any registered actors"; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/wait/strategy/DaprWait.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy; import io.dapr.testcontainers.wait.strategy.metadata.Metadata; import java.util.function.Predicate; /** * Factory class for creating Dapr-specific wait strategies. * *

    This class provides static factory methods to create wait strategies * that poll the Dapr metadata endpoint to determine when specific conditions are met. * This is more reliable than log-based waiting strategies.

    * *

    Example usage:

    *
    {@code
     * // Wait for a subscription to be registered
     * DaprWait.forSubscription("pubsub", "my-topic")
     *     .withStartupTimeout(Duration.ofSeconds(30))
     *     .waitUntilReady(daprContainer);
     *
     * // Wait for any actors to be registered
     * DaprWait.forActors()
     *     .waitUntilReady(daprContainer);
     *
     * // Wait for a specific actor type
     * DaprWait.forActorType("MyActor")
     *     .waitUntilReady(daprContainer);
     * }
    * * @see Dapr Metadata API */ public final class DaprWait { private DaprWait() { // Utility class, no instantiation } /** * Creates a wait strategy that waits for a subscription to be registered. * * @param pubsubName the name of the pub/sub component (can be null to match any) * @param topic the topic name to wait for (can be null to match any) * @return a new subscription wait strategy */ public static SubscriptionWaitStrategy forSubscription(String pubsubName, String topic) { return new SubscriptionWaitStrategy(pubsubName, topic); } /** * Creates a wait strategy that waits for any actors to be registered. * * @return a new actor wait strategy */ public static ActorWaitStrategy forActors() { return new ActorWaitStrategy(); } /** * Creates a wait strategy that waits for a specific actor type to be registered. * * @param actorType the actor type to wait for * @return a new actor wait strategy */ public static ActorWaitStrategy forActorType(String actorType) { return new ActorWaitStrategy(actorType); } /** * Creates a wait strategy with a custom condition based on Dapr metadata. * *

    Example:

    *
    {@code
       * DaprWait.forCondition(
       *     metadata -> metadata.getComponents().size() >= 2,
       *     "at least 2 components to be loaded"
       * );
       * }
    * * @param predicate the condition to check against the metadata * @param description a human-readable description of the condition * @return a new custom wait strategy */ public static AbstractDaprWaitStrategy forCondition(Predicate predicate, String description) { return AbstractDaprWaitStrategy.forCondition(predicate, description); } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/wait/strategy/SubscriptionWaitStrategy.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy; import io.dapr.testcontainers.wait.strategy.metadata.Metadata; import io.dapr.testcontainers.wait.strategy.metadata.Subscription; /** * Wait strategy that waits for a specific subscription to be registered with Dapr. */ public class SubscriptionWaitStrategy extends AbstractDaprWaitStrategy { private final String pubsubName; private final String topic; /** * Creates a wait strategy for a specific subscription. * * @param pubsubName the name of the pub/sub component * @param topic the topic name to wait for */ public SubscriptionWaitStrategy(String pubsubName, String topic) { this.pubsubName = pubsubName; this.topic = topic; } @Override protected boolean isConditionMet(Metadata metadata) { if (metadata == null) { return false; } return metadata.getSubscriptions().stream() .anyMatch(this::matchesSubscription); } private boolean matchesSubscription(Subscription subscription) { if (subscription == null) { return false; } boolean pubsubMatches = pubsubName == null || pubsubName.equals(subscription.getPubsubname()); boolean topicMatches = topic == null || topic.equals(subscription.getTopic()); return pubsubMatches && topicMatches; } @Override protected String getConditionDescription() { if (pubsubName != null && topic != null) { return String.format("subscription for pubsub '%s' and topic '%s'", pubsubName, topic); } else if (pubsubName != null) { return String.format("subscription for pubsub '%s'", pubsubName); } else if (topic != null) { return String.format("subscription for topic '%s'", topic); } else { return "any subscription"; } } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/wait/strategy/metadata/Actor.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy.metadata; /** * Represents an actor entry from the Dapr metadata API response. */ public class Actor { private String type; private int count; public Actor() { } public String getType() { return type; } public void setType(String type) { this.type = type; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/wait/strategy/metadata/Component.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy.metadata; import java.util.List; /** * Represents a component entry from the Dapr metadata API response. */ public class Component { private String name; private String type; private String version; private List capabilities; public Component() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public List getCapabilities() { return capabilities; } public void setCapabilities(List capabilities) { this.capabilities = capabilities; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/wait/strategy/metadata/Metadata.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy.metadata; import java.util.Collections; import java.util.List; /** * Represents the response from the Dapr metadata API (/v1.0/metadata). * * @see Dapr Metadata API */ public class Metadata { private String id; private String runtimeVersion; private List enabledFeatures; private List actors; private List components; private List subscriptions; public Metadata() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getRuntimeVersion() { return runtimeVersion; } public void setRuntimeVersion(String runtimeVersion) { this.runtimeVersion = runtimeVersion; } public List getEnabledFeatures() { return enabledFeatures; } public void setEnabledFeatures(List enabledFeatures) { this.enabledFeatures = enabledFeatures; } public List getActors() { return actors != null ? actors : Collections.emptyList(); } public void setActors(List actors) { this.actors = actors; } public List getComponents() { return components != null ? components : Collections.emptyList(); } public void setComponents(List components) { this.components = components; } public List getSubscriptions() { return subscriptions != null ? subscriptions : Collections.emptyList(); } public void setSubscriptions(List subscriptions) { this.subscriptions = subscriptions; } } ================================================ FILE: testcontainers-dapr/src/main/java/io/dapr/testcontainers/wait/strategy/metadata/Subscription.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy.metadata; import java.util.List; import java.util.Map; /** * Represents a subscription entry from the Dapr metadata API response. */ public class Subscription { private String pubsubname; private String topic; private String deadLetterTopic; private Map metadata; private List rules; private String type; public Subscription() { } public String getPubsubname() { return pubsubname; } public void setPubsubname(String pubsubname) { this.pubsubname = pubsubname; } public String getTopic() { return topic; } public void setTopic(String topic) { this.topic = topic; } public String getDeadLetterTopic() { return deadLetterTopic; } public void setDeadLetterTopic(String deadLetterTopic) { this.deadLetterTopic = deadLetterTopic; } public Map getMetadata() { return metadata; } public void setMetadata(Map metadata) { this.metadata = metadata; } public List getRules() { return rules; } public void setRules(List rules) { this.rules = rules; } public String getType() { return type; } public void setType(String type) { this.type = type; } /** * Represents a routing rule for a subscription. */ public static class Rule { private String match; private String path; public Rule() { } public String getMatch() { return match; } public void setMatch(String match) { this.match = match; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } } } ================================================ FILE: testcontainers-dapr/src/test/java/io/dapr/testcontainers/DaprComponentTest.java ================================================ /* * Copyright 2024 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; import io.dapr.testcontainers.converter.ComponentYamlConverter; import io.dapr.testcontainers.converter.YamlMapperFactory; import org.junit.jupiter.api.Test; import org.yaml.snakeyaml.Yaml; import java.net.URL; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Set; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; public class DaprComponentTest { private final Yaml MAPPER = YamlMapperFactory.create(); private final ComponentYamlConverter converter = new ComponentYamlConverter(MAPPER); @Test public void containerConfigurationTest() { DaprContainer dapr = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withAppPort(8081) .withDaprLogLevel(DaprLogLevel.DEBUG) .withAppChannelAddress("host.testcontainers.internal"); dapr.configure(); assertThrows(IllegalStateException.class, dapr::getHttpEndpoint); assertThrows(IllegalStateException.class, dapr::getGrpcPort); } @Test public void withComponentFromPath() { URL stateStoreYaml = this.getClass().getClassLoader().getResource("dapr-resources/statestore.yaml"); Path path = Paths.get(stateStoreYaml.getPath()); DaprContainer dapr = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withAppPort(8081) .withComponent(path) .withAppChannelAddress("host.testcontainers.internal"); Set components = dapr.getComponents(); assertEquals(1, components.size()); Component kvstore = components.iterator().next(); assertFalse(kvstore.getMetadata().isEmpty()); String componentYaml = converter.convert(kvstore); String expectedComponentYaml = "apiVersion: dapr.io/v1alpha1\n" + "kind: Component\n" + "metadata:\n" + " name: statestore\n" + "spec:\n" + " type: state.redis\n" + " version: v1\n" + " metadata:\n" + " - name: keyPrefix\n" + " value: name\n" + " - name: redisHost\n" + " value: redis:6379\n" + " - name: redisPassword\n" + " value: ''\n"; assertEquals(expectedComponentYaml, componentYaml); } } ================================================ FILE: testcontainers-dapr/src/test/java/io/dapr/testcontainers/DaprContainerTest.java ================================================ package io.dapr.testcontainers; import org.junit.jupiter.api.Test; import org.testcontainers.utility.DockerImageName; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_VERSION; import static org.junit.jupiter.api.Assertions.assertEquals; public class DaprContainerTest { @Test public void schedulerAndPlacementCustomImagesTest() { DaprContainer dapr = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withSchedulerImage(DockerImageName.parse("custom/scheduler:" + DAPR_VERSION) .asCompatibleSubstituteFor("daprio/scheduler:" + DAPR_VERSION)) .withPlacementImage(DockerImageName.parse("custom/placement:"+ DAPR_VERSION) .asCompatibleSubstituteFor("daprio/placement:" + DAPR_VERSION)) .withAppPort(8081) .withDaprLogLevel(DaprLogLevel.DEBUG) .withAppChannelAddress("host.testcontainers.internal"); assertEquals("custom/placement:" + DAPR_VERSION, dapr.getPlacementDockerImageName().asCanonicalNameString()); assertEquals("custom/scheduler:" + DAPR_VERSION, dapr.getSchedulerDockerImageName().asCanonicalNameString()); } @Test public void schedulerAndPlacementCustomImagesStringTest() { DaprContainer dapr = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withSchedulerImage("daprio/scheduler:" + DAPR_VERSION) .withPlacementImage("daprio/placement:"+ DAPR_VERSION) .withAppPort(8081) .withDaprLogLevel(DaprLogLevel.DEBUG) .withAppChannelAddress("host.testcontainers.internal"); assertEquals("daprio/placement:" + DAPR_VERSION, dapr.getPlacementDockerImageName().asCanonicalNameString()); assertEquals("daprio/scheduler:" + DAPR_VERSION, dapr.getSchedulerDockerImageName().asCanonicalNameString()); } @Test public void appHealthParametersTest(){ DaprContainer dapr = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withAppPort(8081) .withAppHealthCheckPath("/test") .withAppHealthCheckProbeInterval(10) .withAppHealthCheckProbeTimeout(600) .withAppHealthCheckThreshold(7); dapr.configure(); assertEquals(10, dapr.getAppHealthCheckProbeInterval()); assertEquals(600, dapr.getAppHealthCheckProbeTimeout()); assertEquals(7, dapr.getAppHealthCheckThreshold()); assertEquals("/test", dapr.getAppHealthCheckPath()); } @Test public void appHealthParametersDefaultsTest(){ //Check that the defaults are set by default DaprContainer dapr2 = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr2-app") .withAppPort(8082); dapr2.configure(); assertEquals(5, dapr2.getAppHealthCheckProbeInterval()); assertEquals(500, dapr2.getAppHealthCheckProbeTimeout()); assertEquals(3, dapr2.getAppHealthCheckThreshold()); } @Test public void appProtocolDefaultsTest() { try (DaprContainer daprContainer = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app")) { daprContainer.configure(); assertEquals(DaprProtocol.HTTP, daprContainer.getAppProtocol()); } DaprProtocol protocol = DaprProtocol.GRPC; try (DaprContainer daprContainer = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app4") .withAppProtocol(protocol)) { daprContainer.configure(); assertEquals(protocol, daprContainer.getAppProtocol()); } } } ================================================ FILE: testcontainers-dapr/src/test/java/io/dapr/testcontainers/DaprWorkflowDashboardTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers; import org.junit.jupiter.api.Test; import java.util.Collections; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; public class DaprWorkflowDashboardTest { @Test public void dashboardTest() { Component stateStoreComponent = new Component("kvstore", "state.in-memory", "v1", Collections.singletonMap("actorStateStore", "true")); try (WorkflowDashboardContainer dashboard = new WorkflowDashboardContainer(WorkflowDashboardContainer.DEFAULT_IMAGE_NAME) .withStateStoreComponent(stateStoreComponent).withPort(8080)) { dashboard.configure(); assertNotNull(dashboard.getEnvMap().get("COMPONENT_FILE")); assertFalse(dashboard.getEnvMap().get("COMPONENT_FILE").isEmpty()); assertEquals(8080, dashboard.getPort()); assertEquals(WorkflowDashboardContainer.DEFAULT_IMAGE_NAME, dashboard.getDefaultImageName()); assertEquals(8080, dashboard.getExposedPorts().get(0)); assertEquals(stateStoreComponent, dashboard.getStateStoreComponent()); assertEquals("/app/components/kvstore.yaml", dashboard.getEnvMap().get("COMPONENT_FILE")); } } @Test public void dashboardNoStateStoreTest() { Exception expectedException = null; try{ WorkflowDashboardContainer dashboard = new WorkflowDashboardContainer(WorkflowDashboardContainer.DEFAULT_IMAGE_NAME); dashboard.configure(); } catch(IllegalStateException ex){ expectedException = ex; } assertNotNull(expectedException); } @Test public void dashboardWithImageStringTest() { Component stateStoreComponent = new Component("kvstore", "state.in-memory", "v1", Collections.singletonMap("actorStateStore", "true")); WorkflowDashboardContainer dashboard = new WorkflowDashboardContainer(DaprContainerConstants.DAPR_WORKFLOWS_DASHBOARD) .withStateStoreComponent(stateStoreComponent); dashboard.configure(); assertEquals(WorkflowDashboardContainer.DEFAULT_IMAGE_NAME, dashboard.getDefaultImageName()); } } ================================================ FILE: testcontainers-dapr/src/test/java/io/dapr/testcontainers/converter/ComponentYamlConverterTest.java ================================================ package io.dapr.testcontainers.converter; import io.dapr.testcontainers.Component; import io.dapr.testcontainers.DaprContainer; import org.junit.jupiter.api.Test; import org.yaml.snakeyaml.Yaml; import java.util.Map; import java.util.Set; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; class ComponentYamlConverterTest { private final Yaml MAPPER = YamlMapperFactory.create(); private final ComponentYamlConverter converter = new ComponentYamlConverter(MAPPER); @Test public void testComponentToYaml() { DaprContainer dapr = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withAppPort(8081) .withComponent(new Component( "statestore", "state.in-memory", "v1", Map.of("actorStateStore", "true"))) .withAppChannelAddress("host.testcontainers.internal"); Set components = dapr.getComponents(); assertEquals(1, components.size()); Component kvstore = components.iterator().next(); assertFalse(kvstore.getMetadata().isEmpty()); String componentYaml = converter.convert(kvstore); String expectedComponentYaml = "apiVersion: dapr.io/v1alpha1\n" + "kind: Component\n" + "metadata:\n" + " name: statestore\n" + "spec:\n" + " type: state.in-memory\n" + " version: v1\n" + " metadata:\n" + " - name: actorStateStore\n" + " value: 'true'\n"; assertEquals(expectedComponentYaml, componentYaml); } @Test public void testComponentWithInLineStringToYaml() { DaprContainer dapr = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withAppPort(8081) .withComponent(new Component( "alias", "middleware.http.routeralias", "v1", Map.of("routes", "{\n" + " \"/mall/activity/info\": \"/v1.0/invoke/srv.default/method/mall/activity/info\",\n" + " \"/hello/activity/{id}/info\": \"/v1.0/invoke/srv.default/method/hello/activity/info\",\n" + // " \"/hello/activity/{id}/user\": \"/v1.0/invoke/srv.default/method/hello/activity/user\"\n" + // "}"))) .withAppChannelAddress("host.testcontainers.internal"); Set components = dapr.getComponents(); assertEquals(1, components.size()); Component kvstore = components.iterator().next(); assertFalse(kvstore.getMetadata().isEmpty()); String componentYaml = converter.convert(kvstore); String expectedComponentYaml = "apiVersion: dapr.io/v1alpha1\n" + "kind: Component\n" + "metadata:\n" + " name: alias\n" + "spec:\n" + " type: middleware.http.routeralias\n" + " version: v1\n" + " metadata:\n" + " - name: routes\n" + " value: |-\n" + " {\n" + " \"/mall/activity/info\": \"/v1.0/invoke/srv.default/method/mall/activity/info\",\n" + " \"/hello/activity/{id}/info\": \"/v1.0/invoke/srv.default/method/hello/activity/info\",\n" + " \"/hello/activity/{id}/user\": \"/v1.0/invoke/srv.default/method/hello/activity/user\"\n" + " }\n"; assertEquals(expectedComponentYaml, componentYaml); } } ================================================ FILE: testcontainers-dapr/src/test/java/io/dapr/testcontainers/converter/ConfigurationYamlConverterTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.converter; import io.dapr.testcontainers.AppHttpPipeline; import io.dapr.testcontainers.Configuration; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.ListEntry; import io.dapr.testcontainers.OtelTracingConfigurationSettings; import io.dapr.testcontainers.TracingConfigurationSettings; import org.junit.jupiter.api.Test; import org.yaml.snakeyaml.Yaml; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import java.util.ArrayList; import java.util.List; class ConfigurationYamlConverterTest { private final Yaml MAPPER = YamlMapperFactory.create(); private final ConfigurationYamlConverter converter = new ConfigurationYamlConverter(MAPPER); @Test public void testConfigurationToYaml() { OtelTracingConfigurationSettings otel = new OtelTracingConfigurationSettings( "localhost:4317", false, "grpc" ); TracingConfigurationSettings tracing = new TracingConfigurationSettings( "1", true, otel, null ); List handlers = new ArrayList<>(); handlers.add(new ListEntry("alias", "middleware.http.routeralias")); AppHttpPipeline appHttpPipeline = new AppHttpPipeline(handlers); DaprContainer dapr = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withAppPort(8081) .withConfiguration(new Configuration("my-config", tracing, appHttpPipeline)) .withAppChannelAddress("host.testcontainers.internal"); Configuration configuration = dapr.getConfiguration(); assertNotNull(configuration); String configurationYaml = converter.convert(configuration); String expectedConfigurationYaml = "apiVersion: dapr.io/v1alpha1\n" + "kind: Configuration\n" + "metadata:\n" + " name: my-config\n" + "spec:\n" + " tracing:\n" + " samplingRate: '1'\n" + " stdout: true\n" + " otel:\n" + " endpointAddress: localhost:4317\n" + " isSecure: false\n" + " protocol: grpc\n" + " appHttpPipeline:\n" + " handlers:\n" + " - name: alias\n" + " type: middleware.http.routeralias\n"; assertEquals(expectedConfigurationYaml, configurationYaml); } } ================================================ FILE: testcontainers-dapr/src/test/java/io/dapr/testcontainers/converter/HttpEndpointYamlConverterTest.java ================================================ package io.dapr.testcontainers.converter; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.HttpEndpoint; import org.junit.jupiter.api.Test; import org.yaml.snakeyaml.Yaml; import java.util.Set; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; class HttpEndpointYamlConverterTest { private final Yaml MAPPER = YamlMapperFactory.create(); private final HttpEndpointYamlConverter converter = new HttpEndpointYamlConverter(MAPPER); @Test void testHttpEndpointToYaml() { DaprContainer dapr = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withAppPort(8081) .withHttpEndpoint(new HttpEndpoint("my-endpoint", "http://localhost:8080")) .withAppChannelAddress("host.testcontainers.internal"); Set endpoints = dapr.getHttpEndpoints(); assertEquals(1, endpoints.size()); HttpEndpoint endpoint = endpoints.iterator().next(); String endpointYaml = converter.convert(endpoint); String expectedEndpointYaml = "apiVersion: dapr.io/v1alpha1\n" + "kind: HTTPEndpoint\n" + "metadata:\n" + " name: my-endpoint\n" + "spec:\n" + " baseUrl: http://localhost:8080\n"; assertEquals(expectedEndpointYaml, endpointYaml); } } ================================================ FILE: testcontainers-dapr/src/test/java/io/dapr/testcontainers/converter/SubscriptionYamlConverterTest.java ================================================ package io.dapr.testcontainers.converter; import io.dapr.testcontainers.DaprContainer; import io.dapr.testcontainers.Subscription; import org.junit.jupiter.api.Test; import org.yaml.snakeyaml.Yaml; import java.util.Set; import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG; import static org.junit.jupiter.api.Assertions.assertEquals; class SubscriptionYamlConverterTest { private final Yaml MAPPER = YamlMapperFactory.create(); private final SubscriptionYamlConverter converter = new SubscriptionYamlConverter(MAPPER); @Test public void testSubscriptionToYaml() { DaprContainer dapr = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG) .withAppName("dapr-app") .withAppPort(8081) .withSubscription(new Subscription("my-subscription", "pubsub", "topic", "/events")) .withAppChannelAddress("host.testcontainers.internal"); Set subscriptions = dapr.getSubscriptions(); assertEquals(1, subscriptions.size()); Subscription subscription = subscriptions.iterator().next(); String subscriptionYaml = converter.convert(subscription); String expectedSubscriptionYaml = "apiVersion: dapr.io/v1alpha1\n" + "kind: Subscription\n" + "metadata:\n" + " name: my-subscription\n" + "spec:\n" + " pubsubname: pubsub\n" + " topic: topic\n" + " route: /events\n"; assertEquals(expectedSubscriptionYaml, subscriptionYaml); } } ================================================ FILE: testcontainers-dapr/src/test/java/io/dapr/testcontainers/wait/strategy/ActorWaitStrategyTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy; import io.dapr.testcontainers.wait.strategy.metadata.Actor; import io.dapr.testcontainers.wait.strategy.metadata.Metadata; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.Arrays; import java.util.Collections; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; class ActorWaitStrategyTest { @Test @DisplayName("Should match any actor when no specific type is specified") void shouldMatchAnyActorWhenNoTypeSpecified() { ActorWaitStrategy strategy = new ActorWaitStrategy(); Metadata metadata = createMetadataWithActor("SomeActor"); assertTrue(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should not match when no actors exist and no type is specified") void shouldNotMatchWhenNoActorsAndNoTypeSpecified() { ActorWaitStrategy strategy = new ActorWaitStrategy(); Metadata metadata = new Metadata(); metadata.setActors(Collections.emptyList()); assertFalse(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should match when specific actor type exists") void shouldMatchSpecificActorType() { ActorWaitStrategy strategy = new ActorWaitStrategy("MyActor"); Metadata metadata = createMetadataWithActor("MyActor"); assertTrue(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should not match when actor type differs from expected") void shouldNotMatchWhenActorTypeDiffers() { ActorWaitStrategy strategy = new ActorWaitStrategy("MyActor"); Metadata metadata = createMetadataWithActor("OtherActor"); assertFalse(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should not match when no actors exist but specific type is expected") void shouldNotMatchWhenNoActorsAndTypeSpecified() { ActorWaitStrategy strategy = new ActorWaitStrategy("MyActor"); Metadata metadata = new Metadata(); metadata.setActors(Collections.emptyList()); assertFalse(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should find matching actor among multiple registered actors") void shouldFindMatchAmongMultipleActors() { ActorWaitStrategy strategy = new ActorWaitStrategy("TargetActor"); Actor actor1 = createActor("FirstActor"); Actor actor2 = createActor("TargetActor"); Actor actor3 = createActor("ThirdActor"); Metadata metadata = new Metadata(); metadata.setActors(Arrays.asList(actor1, actor2, actor3)); assertTrue(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should provide correct human-readable condition description") void shouldProvideCorrectDescription() { ActorWaitStrategy anyActors = new ActorWaitStrategy(); assertEquals("any registered actors", anyActors.getConditionDescription()); ActorWaitStrategy specificActor = new ActorWaitStrategy("MyActor"); assertEquals("actor type 'MyActor'", specificActor.getConditionDescription()); } @Test @DisplayName("Should handle null actor in list without throwing NPE") void shouldHandleNullActorInList() { ActorWaitStrategy strategy = new ActorWaitStrategy("TargetActor"); Metadata metadata = new Metadata(); metadata.setActors(Arrays.asList(null, createActor("TargetActor"))); assertTrue(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should return false when metadata is null") void shouldReturnFalseWhenMetadataIsNull() { ActorWaitStrategy strategy = new ActorWaitStrategy(); assertFalse(strategy.isConditionMet(null)); } @Test @DisplayName("Should return false when metadata is null and actor type is specified") void shouldReturnFalseWhenMetadataIsNullAndActorTypeSpecified() { ActorWaitStrategy strategy = new ActorWaitStrategy("MyActor"); assertFalse(strategy.isConditionMet(null)); } private Metadata createMetadataWithActor(String actorType) { Metadata metadata = new Metadata(); metadata.setActors(Collections.singletonList(createActor(actorType))); return metadata; } private Actor createActor(String type) { Actor actor = new Actor(); actor.setType(type); actor.setCount(1); return actor; } } ================================================ FILE: testcontainers-dapr/src/test/java/io/dapr/testcontainers/wait/strategy/DaprWaitTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy; import io.dapr.testcontainers.wait.strategy.metadata.Component; import io.dapr.testcontainers.wait.strategy.metadata.Metadata; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.time.Duration; import java.util.Arrays; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertInstanceOf; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; class DaprWaitTest { @Test @DisplayName("forSubscription should create SubscriptionWaitStrategy") void forSubscriptionShouldCreateSubscriptionWaitStrategy() { AbstractDaprWaitStrategy strategy = DaprWait.forSubscription("pubsub", "orders"); assertInstanceOf(SubscriptionWaitStrategy.class, strategy); } @Test @DisplayName("forSubscription with null topic should match any topic") void forSubscriptionWithNullTopicShouldMatchAnyTopic() { SubscriptionWaitStrategy strategy = DaprWait.forSubscription("pubsub", null); assertNotNull(strategy); assertEquals("subscription for pubsub 'pubsub'", strategy.getConditionDescription()); } @Test @DisplayName("forSubscription with null pubsub should match any pubsub") void forSubscriptionWithNullPubsubShouldMatchAnyPubsub() { SubscriptionWaitStrategy strategy = DaprWait.forSubscription(null, "orders"); assertNotNull(strategy); assertEquals("subscription for topic 'orders'", strategy.getConditionDescription()); } @Test @DisplayName("forActors should create ActorWaitStrategy for any actor") void forActorsShouldCreateActorWaitStrategyForAnyActor() { ActorWaitStrategy strategy = DaprWait.forActors(); assertNotNull(strategy); assertEquals("any registered actors", strategy.getConditionDescription()); } @Test @DisplayName("forActorType should create ActorWaitStrategy for specific type") void forActorTypeShouldCreateActorWaitStrategyForSpecificType() { ActorWaitStrategy strategy = DaprWait.forActorType("MyActor"); assertNotNull(strategy); assertEquals("actor type 'MyActor'", strategy.getConditionDescription()); } @Test @DisplayName("forCondition should create custom wait strategy with predicate") void forConditionShouldCreateCustomWaitStrategy() { AbstractDaprWaitStrategy strategy = DaprWait.forCondition( metadata -> metadata.getComponents().size() >= 2, "at least 2 components" ); assertNotNull(strategy); assertEquals("at least 2 components", strategy.getConditionDescription()); Metadata metadataWith2Components = new Metadata(); Component comp1 = new Component(); comp1.setName("comp1"); Component comp2 = new Component(); comp2.setName("comp2"); metadataWith2Components.setComponents(Arrays.asList(comp1, comp2)); Metadata metadataWith1Component = new Metadata(); metadataWith1Component.setComponents(Arrays.asList(comp1)); assertTrue(strategy.isConditionMet(metadataWith2Components)); assertFalse(strategy.isConditionMet(metadataWith1Component)); } @Test @DisplayName("Strategy should support fluent configuration with poll interval and timeout") void strategyShouldSupportFluentConfiguration() { AbstractDaprWaitStrategy strategy = DaprWait.forSubscription("pubsub", "orders") .withPollInterval(Duration.ofMillis(250)); strategy.withStartupTimeout(Duration.ofSeconds(60)); assertNotNull(strategy); } } ================================================ FILE: testcontainers-dapr/src/test/java/io/dapr/testcontainers/wait/strategy/SubscriptionWaitStrategyTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy; import io.dapr.testcontainers.wait.strategy.metadata.Metadata; import io.dapr.testcontainers.wait.strategy.metadata.Subscription; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.Arrays; import java.util.Collections; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; class SubscriptionWaitStrategyTest { @Test @DisplayName("Should match when pubsub and topic exactly match") void shouldMatchExactSubscription() { SubscriptionWaitStrategy strategy = new SubscriptionWaitStrategy("pubsub", "orders"); Metadata metadata = createMetadataWithSubscription("pubsub", "orders"); assertTrue(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should not match when pubsub name differs") void shouldNotMatchWhenPubsubDiffers() { SubscriptionWaitStrategy strategy = new SubscriptionWaitStrategy("pubsub", "orders"); Metadata metadata = createMetadataWithSubscription("other-pubsub", "orders"); assertFalse(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should not match when topic name differs") void shouldNotMatchWhenTopicDiffers() { SubscriptionWaitStrategy strategy = new SubscriptionWaitStrategy("pubsub", "orders"); Metadata metadata = createMetadataWithSubscription("pubsub", "other-topic"); assertFalse(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should not match when no subscriptions exist") void shouldNotMatchWhenNoSubscriptions() { SubscriptionWaitStrategy strategy = new SubscriptionWaitStrategy("pubsub", "orders"); Metadata metadata = new Metadata(); metadata.setSubscriptions(Collections.emptyList()); assertFalse(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should match any topic when topic filter is null") void shouldMatchAnyTopicWhenTopicIsNull() { SubscriptionWaitStrategy strategy = new SubscriptionWaitStrategy("pubsub", null); Metadata metadata = createMetadataWithSubscription("pubsub", "any-topic"); assertTrue(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should match any pubsub when pubsub filter is null") void shouldMatchAnyPubsubWhenPubsubIsNull() { SubscriptionWaitStrategy strategy = new SubscriptionWaitStrategy(null, "orders"); Metadata metadata = createMetadataWithSubscription("any-pubsub", "orders"); assertTrue(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should match any subscription when both filters are null") void shouldMatchAnySubscriptionWhenBothAreNull() { SubscriptionWaitStrategy strategy = new SubscriptionWaitStrategy(null, null); Metadata metadata = createMetadataWithSubscription("any-pubsub", "any-topic"); assertTrue(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should find matching subscription among multiple subscriptions") void shouldFindMatchAmongMultipleSubscriptions() { SubscriptionWaitStrategy strategy = new SubscriptionWaitStrategy("pubsub", "orders"); Subscription sub1 = createSubscription("other-pubsub", "other-topic"); Subscription sub2 = createSubscription("pubsub", "orders"); Subscription sub3 = createSubscription("another-pubsub", "another-topic"); Metadata metadata = new Metadata(); metadata.setSubscriptions(Arrays.asList(sub1, sub2, sub3)); assertTrue(strategy.isConditionMet(metadata)); } @Test @DisplayName("Should provide correct human-readable condition description") void shouldProvideCorrectDescription() { SubscriptionWaitStrategy strategy = new SubscriptionWaitStrategy("pubsub", "orders"); assertEquals("subscription for pubsub 'pubsub' and topic 'orders'", strategy.getConditionDescription()); SubscriptionWaitStrategy pubsubOnly = new SubscriptionWaitStrategy("pubsub", null); assertEquals("subscription for pubsub 'pubsub'", pubsubOnly.getConditionDescription()); SubscriptionWaitStrategy topicOnly = new SubscriptionWaitStrategy(null, "orders"); assertEquals("subscription for topic 'orders'", topicOnly.getConditionDescription()); SubscriptionWaitStrategy any = new SubscriptionWaitStrategy(null, null); assertEquals("any subscription", any.getConditionDescription()); } @Test @DisplayName("Should return false when metadata is null") void shouldReturnFalseWhenMetadataIsNull() { SubscriptionWaitStrategy strategy = new SubscriptionWaitStrategy("pubsub", "orders"); assertFalse(strategy.isConditionMet(null)); } @Test @DisplayName("Should handle null subscription in list without throwing NPE") void shouldHandleNullSubscriptionInList() { SubscriptionWaitStrategy strategy = new SubscriptionWaitStrategy("pubsub", "orders"); Metadata metadata = new Metadata(); metadata.setSubscriptions(Arrays.asList(null, createSubscription("pubsub", "orders"))); assertTrue(strategy.isConditionMet(metadata)); } private Metadata createMetadataWithSubscription(String pubsubName, String topic) { Metadata metadata = new Metadata(); metadata.setSubscriptions(Collections.singletonList(createSubscription(pubsubName, topic))); return metadata; } private Subscription createSubscription(String pubsubName, String topic) { Subscription subscription = new Subscription(); subscription.setPubsubname(pubsubName); subscription.setTopic(topic); return subscription; } } ================================================ FILE: testcontainers-dapr/src/test/java/io/dapr/testcontainers/wait/strategy/metadata/MetadataTest.java ================================================ /* * Copyright 2025 The Dapr Authors * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ package io.dapr.testcontainers.wait.strategy.metadata; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; class MetadataTest { private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper() .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); @Test @DisplayName("Metadata should return empty list when actors is null") void metadataShouldReturnEmptyListWhenActorsIsNull() { Metadata metadata = new Metadata(); assertNotNull(metadata.getActors()); assertTrue(metadata.getActors().isEmpty()); } @Test @DisplayName("Metadata should return empty list when components is null") void metadataShouldReturnEmptyListWhenComponentsIsNull() { Metadata metadata = new Metadata(); assertNotNull(metadata.getComponents()); assertTrue(metadata.getComponents().isEmpty()); } @Test @DisplayName("Metadata should return empty list when subscriptions is null") void metadataShouldReturnEmptyListWhenSubscriptionsIsNull() { Metadata metadata = new Metadata(); assertNotNull(metadata.getSubscriptions()); assertTrue(metadata.getSubscriptions().isEmpty()); } @Test @DisplayName("Metadata should store and retrieve all fields correctly") void metadataShouldStoreAndRetrieveAllFields() { Metadata metadata = new Metadata(); metadata.setId("test-app"); metadata.setRuntimeVersion("1.14.0"); metadata.setEnabledFeatures(Arrays.asList("feature1", "feature2")); Actor actor = new Actor(); actor.setType("MyActor"); metadata.setActors(Collections.singletonList(actor)); Component component = new Component(); component.setName("statestore"); metadata.setComponents(Collections.singletonList(component)); Subscription subscription = new Subscription(); subscription.setTopic("orders"); metadata.setSubscriptions(Collections.singletonList(subscription)); assertEquals("test-app", metadata.getId()); assertEquals("1.14.0", metadata.getRuntimeVersion()); assertEquals(2, metadata.getEnabledFeatures().size()); assertEquals(1, metadata.getActors().size()); assertEquals(1, metadata.getComponents().size()); assertEquals(1, metadata.getSubscriptions().size()); } @Test @DisplayName("Actor should store and retrieve all fields correctly") void actorShouldStoreAndRetrieveAllFields() { Actor actor = new Actor(); actor.setType("OrderActor"); actor.setCount(5); assertEquals("OrderActor", actor.getType()); assertEquals(5, actor.getCount()); } @Test @DisplayName("Component should store and retrieve all fields correctly") void componentShouldStoreAndRetrieveAllFields() { Component component = new Component(); component.setName("statestore"); component.setType("state.redis"); component.setVersion("v1"); component.setCapabilities(Arrays.asList("ETAG", "TRANSACTIONAL")); assertEquals("statestore", component.getName()); assertEquals("state.redis", component.getType()); assertEquals("v1", component.getVersion()); assertEquals(2, component.getCapabilities().size()); assertTrue(component.getCapabilities().contains("ETAG")); } @Test @DisplayName("Subscription should store and retrieve all fields including rules") void subscriptionShouldStoreAndRetrieveAllFields() { Subscription subscription = new Subscription(); subscription.setPubsubname("pubsub"); subscription.setTopic("orders"); subscription.setDeadLetterTopic("orders-dlq"); subscription.setType("declarative"); Map meta = new HashMap<>(); meta.put("key", "value"); subscription.setMetadata(meta); Subscription.Rule rule = new Subscription.Rule(); rule.setMatch("event.type == 'order'"); rule.setPath("/orders"); subscription.setRules(Collections.singletonList(rule)); assertEquals("pubsub", subscription.getPubsubname()); assertEquals("orders", subscription.getTopic()); assertEquals("orders-dlq", subscription.getDeadLetterTopic()); assertEquals("declarative", subscription.getType()); assertEquals("value", subscription.getMetadata().get("key")); assertEquals(1, subscription.getRules().size()); assertEquals("event.type == 'order'", subscription.getRules().get(0).getMatch()); assertEquals("/orders", subscription.getRules().get(0).getPath()); } @Test @DisplayName("Should deserialize complete Dapr metadata JSON response") void shouldDeserializeMetadataFromJson() throws Exception { String json = "{" + "\"id\": \"my-app\"," + "\"runtimeVersion\": \"1.14.0\"," + "\"enabledFeatures\": [\"ServiceInvocationStreaming\"]," + "\"actors\": [{\"type\": \"OrderActor\", \"count\": 3}]," + "\"components\": [{\"name\": \"statestore\", \"type\": \"state.redis\", \"version\": \"v1\", \"capabilities\": [\"ETAG\"]}]," + "\"subscriptions\": [{" + " \"pubsubname\": \"pubsub\"," + " \"topic\": \"orders\"," + " \"deadLetterTopic\": \"orders-dlq\"," + " \"type\": \"programmatic\"," + " \"rules\": [{\"match\": \"\", \"path\": \"/orders\"}]" + "}]" + "}"; Metadata metadata = OBJECT_MAPPER.readValue(json, Metadata.class); assertEquals("my-app", metadata.getId()); assertEquals("1.14.0", metadata.getRuntimeVersion()); assertEquals(1, metadata.getEnabledFeatures().size()); assertEquals(1, metadata.getActors().size()); assertEquals("OrderActor", metadata.getActors().get(0).getType()); assertEquals(3, metadata.getActors().get(0).getCount()); assertEquals(1, metadata.getComponents().size()); assertEquals("statestore", metadata.getComponents().get(0).getName()); assertEquals("state.redis", metadata.getComponents().get(0).getType()); assertEquals(1, metadata.getSubscriptions().size()); assertEquals("pubsub", metadata.getSubscriptions().get(0).getPubsubname()); assertEquals("orders", metadata.getSubscriptions().get(0).getTopic()); assertEquals(1, metadata.getSubscriptions().get(0).getRules().size()); } @Test @DisplayName("Should ignore unknown fields when deserializing JSON") void shouldDeserializeMetadataWithUnknownFields() throws Exception { String json = "{" + "\"id\": \"my-app\"," + "\"unknownField\": \"should be ignored\"," + "\"anotherUnknown\": {\"nested\": true}" + "}"; Metadata metadata = OBJECT_MAPPER.readValue(json, Metadata.class); assertEquals("my-app", metadata.getId()); assertTrue(metadata.getActors().isEmpty()); } } ================================================ FILE: testcontainers-dapr/src/test/resources/dapr-resources/statestore.yaml ================================================ apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: statestore spec: type: state.redis version: v1 metadata: - name: keyPrefix value: name - name: redisHost value: redis:6379 - name: redisPassword value: ""